function getFormattedMenu($menu, &$params) { global $mainframe; // get the base menu data structure // Run the basic formatter modRokNavMenuHelper::formatMenu($menu); //see if the custom_formatter is set. $template_formatter = $params->get('custom_formatter', "default"); $default_formatter = $params->get('default_formatter', "default"); $template_named_formatter_path = JPATH_ROOT . DS . 'templates' . DS . $mainframe->getTemplate() . DS . 'html' . DS . 'mod_roknavmenu' . DS . 'formatters' . DS . $template_formatter . '.php'; $template_default_formatter_path = JPATH_ROOT . DS . 'templates' . DS . $mainframe->getTemplate() . DS . 'html' . DS . 'mod_roknavmenu' . DS . 'formatter.php'; $default_named_formatter_path = JPATH_ROOT . DS . 'modules' . DS . 'mod_roknavmenu' . DS . 'formatters' . DS . $default_formatter . '.php'; if (JFile::exists($template_named_formatter_path)) { //there is a custom_formatter defined //Run the template formatter if its there if not run the default formatter //see if there is a custom formatter defined require_once $template_named_formatter_path; } else { if (JFile::exists($template_default_formatter_path)) { require_once $template_default_formatter_path; } else { if (JFile::exists($default_named_formatter_path)) { require_once $default_named_formatter_path; } } } $formatter = new RokNavMenuFormatter(); $formatter->format_tree($menu); return $menu; }
$params->def('class_sfx', ''); $params->def('menu_images', 0); // Added in 1.5 $params->def('startLevel', 0); $params->def('endLevel', 0); $params->def('showAllChildren', 0); // Cache this basd on access level $conf =& JFactory::getConfig(); if ($conf->getValue('config.caching') && $params->get("module_cache", 0)) { $user =& JFactory::getUser(); $aid = (int) $user->get('aid', 0); switch ($aid) { case 0: $level = "public"; break; case 1: $level = "registered"; break; case 2: $level = "special"; break; } // Cache this based on access level $cache =& JFactory::getCache('mod_roknavmenu-' . $level); $menudata = $cache->call(array('modRokNavMenuHelper', 'getMenuData'), $params); } else { $menudata = modRokNavMenuHelper::getMenuData($params); } $menu = modRokNavMenuHelper::getFormattedMenu($menudata, $params); $layout_path = modRokNavMenuHelper::getLayoutPath($params); require $layout_path;
function getFormattedMenu($menu, &$params) { global $mainframe; // get the base menu data structure // Run the basic formatter modRokNavMenuHelper::formatMenu($menu); $default_module_theme_dir = JPath::clean('/modules/mod_roknavmenu/themes'); $theme = modRokNavMenuHelper::getThemePath($params); $theme_name = basename($params->get('theme', $theme)); $formatter_path = modRokNavMenuHelper::getFormatterPath($params); //load the formatter require_once $formatter_path; $theme_type = 'Template'; // Find if this is a Default or Template theme if (dirname(JPath::clean($params->get('theme'))) == $default_module_theme_dir) { $theme_type = 'Default'; } // run the formatter class $theme_formatter_class = 'RokNavMenuFormatter' . str_replace('-', '', $theme_type . $theme_name); if (class_exists($theme_formatter_class)) { $formatter = new $theme_formatter_class(); $formatter->format_tree($menu); } else { if (class_exists('RokNavMenuFormatter')) { $formatter = new RokNavMenuFormatter(); $formatter->format_tree($menu); } } return $menu; }
$params->def('menutype', 'mainmenu'); $params->def('class_sfx', ''); $params->def('menu_images', 0); // Added in 1.5 $params->def('startLevel', 0); $params->def('endLevel', 0); $params->def('showAllChildren', 0); // Cache this basd on access level $conf =& JFactory::getConfig(); if ($conf->getValue('config.caching') && $params->get("module_cache", 0)) { $user =& JFactory::getUser(); $aid = (int) $user->get('aid', 0); switch ($aid) { case 0: $level = "public"; break; case 1: $level = "registered"; break; case 2: $level = "special"; break; } // Cache this based on access level $cache =& JFactory::getCache('mod_roknavmenu-' . $level); $menudata = $cache->call(array('modRokNavMenuHelper', 'getMenuData'), $params); } else { $menudata = modRokNavMenuHelper::getMenuData($params); } $menu = modRokNavMenuHelper::getFormattedMenu($menudata, $params); require JModuleHelper::getLayoutPath('mod_roknavmenu');