/** * Before render needs using this function to make format of HTML of modules * * @return: Changed HTML format */ public function onBeforeRender() { $app = JFactory::getApplication(); $input = $app->input; // Load custom assets for each menu if (!$this->_application->isAdmin() && $this->_params->get('custom_assets_enhance', true)) { require_once JPATH_ROOT . '/administrator/components/com_poweradmin/models/menuitem.php'; $itemid = $input->getVar('Itemid'); $menuCss = PoweradminModelMenuitem::loadMenuCustomAssets($itemid, 'css'); $menuJs = PoweradminModelMenuitem::loadMenuCustomAssets($itemid, 'js'); // Load css files from parent menu items $finalCssFiles = array(); $parentLoadableCssFiles = array(); PoweradminModelMenuitem::getInheritedAssetsFromParents($parentLoadableCssFiles, $itemid, 'css'); if (count($parentLoadableCssFiles)) { foreach ($parentLoadableCssFiles as $key => $value) { if ($value->loaded == 'true') { array_push($finalCssFiles, $key); } } } if (count($menuCss) && isset($menuCss->assets)) { foreach ($menuCss->assets as $key => $value) { if ($value->loaded === "true") { if (in_array($key, $finalCssFiles)) { $_k = array_search($key, $finalCssFiles); unset($finalCssFiles[$_k]); } array_push($finalCssFiles, $key); } } } // Add computed css files if (count($finalCssFiles)) { foreach ($finalCssFiles as $_file) { $_file = $this->addhttp($_file); $this->_document->addStyleSheet($_file); } } // Load JS files from parent menu items $finalJsFiles = array(); $parentLoadableJsFiles = array(); PoweradminModelMenuitem::getInheritedAssetsFromParents($parentLoadableJsFiles, $itemid, 'js'); if (count($parentLoadableJsFiles)) { foreach ($parentLoadableJsFiles as $key => $value) { if ($value->loaded == 'true') { array_push($finalJsFiles, $key); } } } if (count($menuJs) && isset($menuJs->assets)) { foreach ($menuJs->assets as $key => $value) { if ($value->loaded === "true") { if (in_array($key, $finalJsFiles)) { $_k = array_search($key, $finalJsFiles); unset($finalJsFiles[$_k]); } array_push($finalJsFiles, $key); } } } // Add computed css files if (count($finalJsFiles)) { foreach ($finalJsFiles as $_file) { $_file = $this->addhttp($_file); $this->_document->addScript($_file); } } } if ($this->_application->isAdmin() && $this->_user->id > 0 && $input->getVar('tmpl', '') != 'component' && $this->_params->get('enable_adminbar', true) == true) { JHtml::_('behavior.framework'); $document = JFactory::getDocument(); $template = isset($document->template) ? $document->template : null; if ($template != null && !in_array($template, array('rt_missioncontrol', 'hathor')) && ($input->getCmd('tmpl', '') != 'component' && $input->getCmd('format', '') != 'raw')) { require_once dirname(__FILE__) . '/libraries/administrator.menu.php'; $this->loadLanguage('mod_menu'); $this->_menuContent = JSNPowerAdminMenuHelper::renderMenus(); $modules = JModuleHelper::getModules('menu'); foreach ($modules as $module) { if ($module->module == 'mod_menu') { continue; } $this->_menuContent .= JModuleHelper::renderModule($module); } $this->_menuContent = '<div id="module-menu">' . $this->_menuContent . '</div>'; } } if ($this->_application->isAdmin()) { return; } }