Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
 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;
     }
 }