pezzer Posted January 10, 2009 Share Posted January 10, 2009 Hello everyone, thanks for looking. I have some php code a previous student at Uni developed for a society website, which creates a web-site navigation menu with a list of main menu items. When you click on an item it reveals a sub-menu and then once a sub menu option is clicked on, it then highlights that page you are currently on, on the actual menu itself. The problem I have is that on one web host I use it comes up listing substr_count errors whilst on another it doesn't. Could anyone please advise why this might be and how to resolve this? (The code is below). Thank you in advance for your advice. <html> <head> <LINK rel="stylesheet" type="text/css" href="styles/menuStyles.css"> </head> <body> <br><br><br><br><br> <?php class MenuItem { var $name; var $url; var $submenu; function MenuItem($in1,$in2,$in3) { $this->name=$in1; $this->url=$in2; if ($in3=="") { $this->submenu=FALSE; } else { $this->submenu=$in3; } } } $menu1= array ( new MenuItem("Page 1","page.php",""), new MenuItem("Page 2","page.php",""), new MenuItem("Page 3","page.php",""), new MenuItem("Page 4","page.php",""), new MenuItem("Page 5","page.php","") ); $menu2= array ( new MenuItem("Page 1","page.php",""), new MenuItem("Page 2","page.php",""), new MenuItem("Page 3","page.php",""), new MenuItem("Page 4","page.php",""), new MenuItem("Page 5","page.php","") ); $menu3= array ( new MenuItem("Page 1","page.php",""), new MenuItem("Page 2","page.php",""), new MenuItem("Page 3","page.php",""), new MenuItem("Page 4","page.php",""), new MenuItem("Page 5","page.php","") ); $menu4= array ( new MenuItem("Page 1","page.php",""), new MenuItem("Page 2","page.php",""), new MenuItem("Page 3","page.php",""), new MenuItem("Page 4","page.php",""), new MenuItem("Page 5","page.php","") ); // if no menu vales are set - search the menu system if (!isset($menu) || !isset($submenu)) list($menu,$submenu)=searchmenu(basename($PATH_TRANSLATED)); function searchmenu($phpfile) { global $mainmenu; $menu=0; $submenu=0; foreach($mainmenu as $menuitem) { $menu++; if (substr_count($menuitem->url,$phpfile)) { $submenu=0; break(1); } if ($menuitem->submenu) { global ${$menuitem->submenu}; $submenu=0; foreach (${$menuitem->submenu} as $submenuitem) { $submenu++; if (substr_count($submenuitem->url,$phpfile)) { break(2); } } } } return array($menu,$submenu); } ?> <br/> <br/><br/><br/> <table width="160" border="0" cellspacing="0"> <?php $t1=1; foreach ($mainmenu as $menuitem) { echo "<tr class=\"menubox\">\r\n"; echo "\t<td width=\"10px\" "; if ($menu==$t1 && $submenu==0) { echo "class=\"menuselected\""; } else { echo "class=\"menuunselected\""; }; echo "> </td>\r\n"; echo "\t<td colspan=\"2\" width=\"100%\" "; if ($menu==$t1) { echo "class=\"menuhighlight\""; } echo ">\r\n"; echo "\t<a href=\""; echo $menuitem->url; if (substr_count($menuitem->url,"?")) { echo "&"; } else { echo "?"; } echo "menu=".$t1."\" class=\"menu\">"; echo " ".$menuitem->name; echo "</a>\r\n"; echo "\t</td>\r\n"; echo "</tr>\r\n"; if ($menuitem->submenu && $menu==$t1) { $t2=1; foreach (${$menuitem->submenu} as $submenuitem) { echo "\t<tr class=\"menubox\">\r\n"; echo "\t\t<td width=\"10px\" "; echo "class=\"menublank\""; echo "> </td>\r\n"; echo "\t\t<td width=\"10px\" "; if ($submenu==$t2) { echo "class=\"menuselected\""; } else { echo "class=\"menuunselected\""; }; echo "> </td>\r\n"; echo "\t\t<td class=\"menusub\" width=\"100%\">\r\n"; echo "\t\t<a href=\""; echo $submenuitem->url; if (!substr_count($submenuitem->url,"?")) { echo "?"; } else { echo "&"; } echo "menu=".$t1."&submenu=".$t2."\" class=\"menu\">"; echo " ".$submenuitem->name; echo "</a>\r\n"; echo "\t\t</td>\r\n"; echo "\t</tr>\r\n"; $t2++; } } $t1++; } ?> </table> </body> </html> Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.