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); }
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; } } } } } }