All pastes #461385 Raw Edit

Someone

public text v1 · immutable
#461385 ·published 2007-04-27 17:25 UTC
rendered paste body
<?php

$menus = array();
$menus[0] = array("title"     => "Administration",
                  "location"  => "administration.php",
                  "submenus"  => array(),
                  "pages"     => array()
                  );

$menus[0]["submenus"][] = array("title" => "Users And Groups",
                                "submenus" => array(),
                                "pages" => array( 
                              						'Add User' => 'adduser.php',
                              						'Edit User' => 'edituser.php'));

$menus[0]["submenus"][] = array("title" => "Users And Groups 2",
                                "submenus" => array(),
                                "pages" => array( 
                              						'Add User 2' => 'adduser2.php',
                              						'Edit User 2' => 'edituser2.php'));

$menus[1] = array("title"     => "Second Menu",
                  "location"  => "second.php",
                  "submenus"  => array(),
                  "pages"     => array()
                  );

$menus[1]["submenus"][] = array("title" => "Second Subgroup",
                                "submenus" => array(),
                                "pages" => array( 
                              						'Add Pineapple' => 'tropical.php',
                              						'Edit Pineapple' => 'tropical.php'));



$current_page = "adduser.php";
#$current_page = "tropical.php";

foreach ($menus as $id => $menu)
{
  if (in_array_recursive($menu, $current_page))
  {
    print_menu($menu);
  }
}


function in_array_recursive($tree, $value)
{
  if (!is_array($tree))
  {
    return $tree==$value;
  }

  foreach ($tree as $node)
  {
    if (in_array_recursive($node, $value))
    {
      return true;
    }
  }
  
  return false;
}

function print_menu($menu)
{
  print "<div style='margin:5px;'>";
  
  if (!isset($menu['location']))
  {
    $menu['location'] = "#";
  }
  
  print "<b><a href='{$menu['location']}'>{$menu['title']}</a></b><br/ >";
  
  if (isset($menu["submenus"]) && count($menu["submenus"])>0)
  {
    foreach ($menu["submenus"] as $submenu)
    {
      print_menu($submenu);
    }
  }

  if (isset($menu["pages"]) && count($menu["pages"])>0)
  {
    foreach ($menu['pages'] as $title => $page)
    {
      print "<a href='{$page}'>$title</a><br/>";
    }
  }
  
  print "</div>";
}