public function addMenuItems($menu) { // get current controller $controller = YRequest::getWord('controller'); $controller = in_array($controller, array('new', 'manager')) ? 'item' : $controller; // create application tab $tab = new YMenuItem($this->id, $this->name, 'index.php?option=com_zoo&controller=' . $controller . '&changeapp=' . $this->id); $menu->addChild($tab); // menu items $items = array('item' => JText::_('Items'), 'category' => JText::_('Categories'), 'frontpage' => JText::_('Frontpage'), 'comment' => JText::_('Comments'), 'tag' => JText::_('Tags'), 'submission' => JText::_('Submissions')); // add menu items foreach ($items as $controller => $name) { $tab->addChild(new YMenuItem($this->id . '-' . $controller, $name, 'index.php?option=com_zoo&controller=' . $controller . '&changeapp=' . $this->id)); } // add config menu item $id = $this->id . '-configuration'; $link = 'index.php?option=com_zoo&controller=configuration&changeapp=' . $this->id; $config = new YMenuItem($id, JText::_('Config'), $link); $config->addChild(new YMenuItem($id, JText::_('Application'), $link)); $config->addChild(new YMenuItem($id . '-importexport', JText::_('Import / Export'), $link . '&task=importexport')); $tab->addChild($config); }
public static function nameFilter(YMenuItem $item) { if ($item->getId() != 'new' && $item->getId() != 'manager') { $item->setName(htmlspecialchars($item->getName(), ENT_QUOTES, 'UTF-8')); } }
$menu->addChild($manager); if ($controller == 'new' && $task == 'add' && $group) { // get application meta $app = new Application(); $app->setGroup($group); $meta = $app->getMetaData(); // add info item $new->addChild(new YMenuItem('new', $meta['name'])); } if ($controller == 'manager' && $group) { // get application meta $app = new Application(); $app->setGroup($group); $meta = $app->getMetaData(); // add info item $info = new YMenuItem('manager-types', $meta['name'], 'index.php?option=com_zoo&controller=manager&task=types&group=' . $group); $info->addChild(new YMenuItem('manager-types', 'Types', 'index.php?option=com_zoo&controller=manager&task=types&group=' . $group)); $info->addChild(new YMenuItem('manager-info', 'Info', 'index.php?option=com_zoo&controller=manager&task=info&group=' . $group)); $manager->addChild($info); } try { if ($application) { // dispatch current application $application->dispatch(); } else { // load controller require_once ZOO_ADMIN_PATH . "/controllers/{$controller}.php"; // perform the request task $class = $controller . 'Controller'; $controller = new $class(); $controller->execute($task);