function menu($name, $data, $pars) { global $menu_flag, $menu_data, $menu_tree, $menu_tree_text, $menu_tree_value, $menu_tree_link, $menu_tree_level, $menu_tree_page, $menu_tree_depth, $menu_undef_flag; if (!isset($pars['depth'])) { $pars['depth'] = 100; } if (!isset($pars['parent'])) { if (!isset($data)) { $pars['parent'] = 1; } else { if ($data == 0) { $pars['parent'] = 1; } else { $pars['parent'] = $data; } } } $oid = mysql_query("SELECT menu.id,\n\t\t menu.entry AS entry,\n\t\t menu.link, \n\t\t menu.page_id,\n\t\t menu.parent_id\n\t\t\t\t\t\t\t FROM menu\n\t\t ORDER BY position"); if (!$oid) { echo "Error"; exit; } do { $data = mysql_fetch_assoc($oid); if ($data) { $menu_data[] = $data; } } while ($data); hiermenu::FindChildren($pars['parent'], 0); if ($pars['mode'] == "inline") { if ($pars['prefix'] == true) { $content = " | "; } else { $content = ""; } } else { /* main menu (at depth 1) */ if (!isset($pars['ulclass'])) { if (!isset($pars['responsive'])) { $content .= "<ul>\n"; } } else { if (!isset($pars['responsive'])) { $content .= "<ul class=\"{$pars['ulclass']}\">\n"; } } } $id = uniqid(time()); $level = 0; for ($i = 0; $i < count($menu_tree_value); $i++) { if ($menu_tree_level[$i] > $level and $menu_tree_level[$i] < $pars['depth']) { if ($pars['mode'] == "inline") { $content .= ""; } else { /* Submenu at depth > 1 */ if (!isset($pars['responsive'])) { $content .= "<div>\n<ul>\n"; } } $level = $menu_tree_level[$i]; } if ($menu_tree_level[$i] < $level) { for ($j = $menu_tree_level[$i]; $j < $level; $j++) { if ($pars['mode'] == "inline") { $content .= ""; } else { if (!isset($pars['responsive'])) { $content .= "</ul>\n</div>\n"; } } } $level = $menu_tree_level[$i]; } $preamble = ""; if ($menu_tree_level[$i] > 0) { $preamble = ""; } if ($menu_tree_level[$i] < $pars['depth']) { if ($menu_tree_link[$i] != "") { $link = $this->link($menu_tree_link[$i]); if (isset($pars['mode']) and $pars['mode'] == "inline") { $content .= aux::first_comma($id, " | ") . "{$preamble} {$preamble} <a href=\"{$link}\">{$menu_tree_text[$i]}</a>"; } else { if ($menu_tree_level[$i] == 0) { if ($menu_tree_depth[$i] > 0) { if (isset($pars['mode']) and $pars['mode'] == "leftmenu") { $content .= "<li><a href=\"{$link}\"><span class=\"hover_span\"></span><span class=\"link_span\">{$menu_tree_text[$i]}</span></a>"; } else { if (!isset($pars['responsive'])) { $content .= "<li>{$preamble} <a href=\"{$link}\">{$menu_tree_text[$i]}<span></span></a>"; } else { $content .= "<option value=\"{$link}\">{$menu_tree_text[$i]}</option>"; } } } else { if ($pars['mode'] == "leftmenu") { #$content .= "<li>{$preamble} <a href=\"{$link}\">{$menu_tree_text[$i]}</a>"; $content .= "<li><a href=\"{$link}\"><span class=\"hover_span\"></span><span class=\"link_span\">{$menu_tree_text[$i]}</span></a>"; } else { if (!isset($pars['responsive'])) { $content .= "<li>{$preamble} <a href=\"{$link}\">{$menu_tree_text[$i]}<span></span></a>"; } else { $content .= "<option value=\"{$link}\">{$menu_tree_text[$i]}</option>"; } } } } else { if ($pars['mode'] == "leftmenu") { #$content .= "<li>{$preamble} <a href=\"{$link}\"><span>{$menu_tree_text[$i]}</span></a>"; $content .= "<li><a href=\"{$link}\"><span class=\"hover_span\"></span><span class=\"link_span\">{$menu_tree_text[$i]}</span></a>"; } else { if (!isset($pars['responsive'])) { $content .= "<li>{$preamble}<ul> <a href=\"{$link}\"><span>{$menu_tree_text[$i]}</span></a></li></ul>"; } else { $spacing = hiermenu::getSpace($menu_tree_level[$i]); $content .= "<option value=\"{$link}\">{$spacing} {$menu_tree_text[$i]}</option>"; } } } } } else { if ($menu_tree_page[$i] == 0) { if ($pars['mode'] == "inline") { $content .= aux::first_comma($id, " | ") . "{$preamble} {$menu_tree_text[$i]}"; } else { if ($pars['mode'] == "leftmenu") { $content .= "<li><span class=\"hover_span\"></span><span class=\"link_span\">{$menu_tree_text[$i]}</span>"; } else { if (!isset($pars['responsive'])) { $content .= "<li>{$preamble} <span>{$menu_tree_text[$i]}</span>"; } else { $content .= "<option value=\"#\"> {$menu_tree_text[$i]}}</option>"; } } } } else { if ($pars['mode'] == "inline") { $content .= aux::first_comma($id, " | ") . "{$preamble} {$preamble} <a href=\"page.php?page_id={$menu_tree_page[$i]}\">{$menu_tree_text[$i]}</a>"; } else { if ($menu_tree_level[$i] == 0) { if ($pars['mode'] == "leftmenu") { $content .= "<li><a href=\"page.php?page_id={$menu_tree_page[$i]}\"><span class=\"hover_span\"></span><span class=\"link_span\">{$menu_tree_text[$i]}</span></a>"; } else { if (!isset($pars['responsive'])) { $content .= "<li>{$preamble} <a href=\"page.php?page_id={$menu_tree_page[$i]}\">{$menu_tree_text[$i]}<span></span></a>"; } else { $content .= "<option value=\"page.php?page_id={$menu_tree_page[$i]}\">{$menu_tree_text[$i]}</option>"; } } } else { if ($pars['mode'] == "leftmenu") { $content .= "<li><a href=\"page.php?page_id={$menu_tree_page[$i]}\"><span class=\"hover_span\"></span><span class=\"link_span\">{$menu_tree_text[$i]}</span></a>"; } else { if (!isset($pars['responsive'])) { $content .= "<li>{$preamble} <a href=\"page.php?page_id={$menu_tree_page[$i]}\"><span>{$menu_tree_text[$i]}</span></a>"; } else { $spacing = hiermenu::getSpace($menu_tree_level[$i]); $content .= "<option value=\"page.php?page_id={$menu_tree_page[$i]}\">{$spacing} {$menu_tree_text[$i]}</a>"; } } } } } } if (!($menu_tree_level[$i + 1] > $level and $menu_tree_level[$i + 1] < $pars['depth'])) { if (isset($pars['mode']) and $pars['mode'] == "inline") { $content .= ""; } else { $content .= "</li>\n"; } } } } for ($j = 0; $j < $level; $j++) { if ($pars['mode'] == "inline") { $content .= ""; } else { if (!isset($pars['responsive'])) { $content .= "</ul></div></li>\n"; } } } if (isset($pars['mode']) and $pars['mode'] == "inline") { $content .= ""; } else { if (!isset($pars['responsive'])) { $content .= "</ul>\n"; } } unset($GLOBALS['menu_flag']); unset($GLOBALS['menu_data']); unset($GLOBALS['menu_tree']); unset($GLOBALS['menu_tree_text']); unset($GLOBALS['menu_tree_value']); unset($GLOBALS['menu_tree_link']); unset($GLOBALS['menu_tree_page']); unset($GLOBALS['menu_tree_level']); unset($GLOBALS['menu_undef_flag']); return $content; }
function menu($name, $data, $pars) { global $menu_flag, $menu_data, $menu_tree, $menu_tree_text, $menu_tree_value, $menu_tree_link, $menu_tree_level, $menu_tree_page, $menu_undef_flag; if (!isset($pars['depth'])) { $pars['depth'] = 100; } if (!isset($pars['parent'])) { $pars['parent'] = 0; } $oid = mysql_query("SELECT menu.id,\r\n\t\t\t\tmenu.entry AS entry,\r\n\t\t\t\tmenu.link,\r\n\t\t\t\tmenu.page_id,\r\n\t\t\t\tmenu.parent_id\r\n\t\t\t\tFROM menu\r\n\t\t\t\tORDER BY position"); if (!$oid) { echo "Error"; exit; } do { $data = mysql_fetch_assoc($oid); if ($data) { $menu_data[] = $data; } } while ($data); hiermenu::FindChildren($pars['parent'], 0); if (first) { $content = "<div id=\"sidemenu\">\n"; $id = uniqid(time()); $level = 0; for ($i = 0; $i < count($menu_tree_value); $i++) { if ($menu_tree_level[$i] > $level && $menu_tree_level[$i] < $pars['depth']) { /* if ($pars['mode'] == "inline") { $content .= ""; } else { */ $content .= "<ul id=\"sub-menu-{$i}\">\n"; //} $level = $menu_tree_level[$i]; } // usato se ci sono due entry nello stesso livello con sotto livelli if ($menu_tree_level[$i] < $level) { for ($j = $menu_tree_level[$i]; $j < $level; $j++) { /* if ($pars['mode'] == "inline") { $content .= ""; } else { */ $content .= "</ul>\n"; //} } $level = $menu_tree_level[$i]; } $preamble = ""; if ($menu_tree_level[$i] > 0) { $preamble = ""; } if ($menu_tree_level[$i] < $pars['depth']) { if ($menu_tree_link[$i] != "") { $link = $this->link($menu_tree_link[$i]); /* if ($pars['mode'] == "inline") { $content .= Parser::first_comma($id," | ")."{$preamble} {$preamble} <a href=\"{$link}\">{$menu_tree_text[$i]}</a>"; } else { */ $content .= "<li id=\"sub-menu-{$i}-{$i}\">{$preamble} <a href=\"{$link}\">{$menu_tree_text[$i]}</a></li>"; //} } else { if ($menu_tree_page[$i] == 0) { /* if ($pars['mode'] == "inline") { $content .= Parser::first_comma($id," | ")."{$preamble} {$menu_tree_text[$i]}"; } else { */ $content .= "<h3>{$preamble} {$menu_tree_text[$i]}</h3>"; //} } else { /* if ($pars['mode'] == "inline") { $content .= Parser::first_comma($id," | ")."{$preamble} {$preamble} <a href=\"page.php?page_id={$menu_tree_page[$i]}\">{$menu_tree_text[$i]}</a>"; } else { */ $content .= "<li>{$preamble} <a href=\"page.php?page_id={$menu_tree_page[$i]}\">{$menu_tree_text[$i]}</a> </li>"; //} } } if (!($menu_tree_level[$i + 1] > $level && $menu_tree_level[$i + 1] < $pars['depth'])) { /* if ($pars['mode'] == "inline") { $content .= ""; } else { */ //$content .= "</li>\n"; //} } } } for ($j = 0; $j < $level; $j++) { /* if ($pars['mode'] == "inline") { $content .= ""; } else { */ $content .= "</ul></li>\n"; //} } if ($pars['mode'] == "inline") { $content .= ""; } else { $content .= "</div>\n"; } unset($GLOBALS['menu_flag']); unset($GLOBALS['menu_data']); unset($GLOBALS['menu_tree']); unset($GLOBALS['menu_tree_text']); unset($GLOBALS['menu_tree_value']); unset($GLOBALS['menu_tree_link']); unset($GLOBALS['menu_tree_page']); unset($GLOBALS['menu_tree_level']); unset($GLOBALS['menu_undef_flag']); $this->first = false; return $content; } }