Beispiel #1
0
 function display($tpl = null)
 {
     $mainmenu = $this->get('Data');
     $isNew = $mainmenu->id < 1;
     $text = $isNew ? JText::_("NEW") : JText::_("EDIT");
     JToolBarHelper::title(JText::_("MENU_ITEM") . ': <small><small>[ ' . $text . ' ]</small></small>', 'fss_menu');
     JToolBarHelper::custom('translate', 'translate', 'translate', 'Translate', false);
     JToolBarHelper::save();
     if ($isNew) {
         JToolBarHelper::cancel();
     } else {
         // for existing items the button is renamed `close`
         JToolBarHelper::cancel('cancel', 'Close');
     }
     FSSAdminHelper::DoSubToolbar();
     $this->mainmenu = $mainmenu;
     $path = JPATH_SITE . DS . 'images' . DS . 'fss' . DS . 'menu';
     if (!file_exists($path)) {
         mkdir($path, 0777, true);
     }
     $files = JFolder::files($path, '(.png$|.jpg$|.jpeg$|.gif$)');
     $sections[] = JHTML::_('select.option', '', JText::_("NO_IMAGE"), 'id', 'title');
     foreach ($files as $file) {
         $sections[] = JHTML::_('select.option', $file, $file, 'id', 'title');
     }
     $lists['images'] = JHTML::_('select.genericlist', $sections, 'icon', 'class="inputbox" size="1" ', 'id', 'title', $mainmenu->icon);
     if ($mainmenu->itemtype != 7) {
         $menus = FSS_GetMenus($mainmenu->itemtype);
         $menuitems = array();
         foreach ($menus as $menu) {
             $menuitems[] = JHTML::_('select.option', $menu->id . "|" . $menu->link, $menu->title . " (Itemid = " . $menu->id . ")", 'id', 'title');
         }
         if (count($menuitems) > 1) {
             $lists['menuitems'] = JHTML::_('select.genericlist', $menuitems, 'menuitem', 'class="inputbox" size="1" onchange="changeMenuItem();"', 'id', 'title', $mainmenu->itemid . "|" . $mainmenu->link);
         } else {
             if (count($menuitems) == 1) {
                 $lists['menuitems'] = JHTML::_('select.genericlist', $menuitems, 'menuitem', 'class="inputbox" size="1" onchange="changeMenuItem();" style="display:none;"', 'id', 'title', $mainmenu->itemid . "|" . $mainmenu->link);
                 $lists['menuitems'] = "<div><b>" . JText::_('SINGLE_MENU_ITEM') . "</b> - " . $menuitems[0]->title . "</div>";
             } else {
                 $lists['menuitems'] = "<div><b>" . JText::_('NO_MENU_ITEMS_FOUND') . "</b></div>";
             }
         }
     }
     $types = array();
     $types[] = JHTML::_('select.option', '7', JText::_('IT_LINK'), 'id', 'title');
     for ($i = 1; $i < 11; $i++) {
         if ($i == 7) {
             continue;
         }
         $types[] = JHTML::_('select.option', $i, $this->ItemType($i), 'id', 'title');
     }
     $lists['types'] = JHTML::_('select.genericlist', $types, 'itemtype', 'class="inputbox" size="1" ', 'id', 'title', $mainmenu->itemtype);
     $this->lists = $lists;
     parent::display($tpl);
 }
Beispiel #2
0
 function ValidateMenuLinks()
 {
     $allmenus = FSS_GetAllMenus();
     $basemenus = array();
     if (count($allmenus) > 0) {
         foreach ($allmenus as $allmenu) {
             $basemenus[$allmenu->id] = $allmenu;
         }
     }
     //print_r($basemenus);
     //print_r($this->menus);
     if (count($this->menus) > 0) {
         foreach ($this->menus as &$menu) {
             if ($menu['itemtype'] == FSS_IT_LINK) {
                 continue;
             }
             $itemid = $menu['itemid'];
             if ($menu['link'] != "") {
                 if (array_key_exists($itemid, $basemenus)) {
                     if ($basemenus[$itemid]->link != $menu['link']) {
                         //echo "Not using $itemid, link different<br>";
                         $menu['link'] = "";
                         $menu['itemid'] = 0;
                     }
                 } else {
                     //echo "Not using $itemid, link not found<br>";
                     $menu['link'] = "";
                     $menu['itemid'] = 0;
                 }
             }
             // menu link as null, find out itemid and link from database and store it
             $menus = FSS_GetMenus($menu['itemtype']);
             if ($menu['link'] == "") {
                 if (count($menus) > 0) {
                     /*print_r($menus[0]);*/
                     $menu['link'] = $menus[0]->link;
                     $menu['itemid'] = $menus[0]->id;
                     $db = JFactory::getDBO();
                     $id = $menu['id'];
                     $qry = "UPDATE #__fss_main_menu SET link = '" . FSSJ3Helper::getEscaped($db, $menu['link']) . "', itemid = '" . FSSJ3Helper::getEscaped($db, $menu['itemid']) . "' WHERE id = '" . FSSJ3Helper::getEscaped($db, $id) . "'";
                     $db->setQuery($qry);
                     $db->Query();
                     //echo $qry."<br>";
                 } else {
                     $id = $menu['id'];
                     $qry = "UPDATE #__fss_main_menu SET link = '', itemid = 0 WHERE id = '{$id}'";
                     $db = JFactory::getDBO();
                     $db->setQuery($qry);
                     $db->Query();
                     switch ($menu['itemtype']) {
                         case FSS_IT_KB:
                             $menu['link'] = JRoute::_('index.php?option=com_fss&view=kb');
                             break;
                         case FSS_IT_FAQ:
                             $menu['link'] = JRoute::_('index.php?option=com_fss&view=faq');
                             break;
                         case FSS_IT_TEST:
                             $menu['link'] = JRoute::_('index.php?option=com_fss&view=test');
                             break;
                         case FSS_IT_NEWTICKET:
                             $menu['link'] = JRoute::_('index.php?option=com_fss&view=ticket&layout=open');
                             break;
                         case FSS_IT_VIEWTICKETS:
                             $menu['link'] = JRoute::_('index.php?option=com_fss&view=ticket');
                             break;
                         case FSS_IT_ANNOUNCE:
                             $menu['link'] = JRoute::_('index.php?option=com_fss&view=announce');
                             break;
                         case FSS_IT_GLOSSARY:
                             $menu['link'] = JRoute::_('index.php?option=com_fss&view=glossary');
                             break;
                         case FSS_IT_ADMIN:
                             $menu['link'] = JRoute::_('index.php?option=com_fss&view=admin');
                             break;
                         case FSS_IT_GROUPS:
                             $menu['link'] = JRoute::_('index.php?option=com_fss&view=admin_groups');
                             break;
                     }
                 }
             }
         }
     }
 }