public function display($tpl = null) { $JSNMedia = JSNFactory::getMedia(); JSNHtmlAsset::addScript(JSN_POWERADMIN_LIB_JSNJS_URI . 'jsn.filter.js'); // Check for errors. if (count($errors = $this->get('Errors'))) { JError::raiseError(500, implode("\n", $errors)); return false; } $language = JFactory::getLanguage(); $language->load('com_menus'); $model = $this->getModel(); $this->assign('model', $model); $menutype = ''; $menutypeid = JRequest::getVar("menutypeid", ''); if ($menutypeid) { JSNFactory::localimport('models.menuitem'); $paMenuModel = new PoweradminModelMenuitem(); $menutype = $paMenuModel->getMenuType($menutypeid); } $parentid = JRequest::getVar("parentid", ''); $customScript = "\n\t\t\tvar selectMenuType;\n (function(\$){\n\t\t\t\t\$(window).ready(function(){\n\t\t\t\t \t selectMenuType = \$.jsnFilter(\n\t\t\t\t \t {\n\t\t\t \t \t\t frameElement: \$('.jsn-menu-type'),\n\t\t\t \t \t\t category : true,\n\t\t\t\t\t \t itemClass : '.jsn-item-type',\n\t\t\t\t\t \t totalColumn : 3,\n\t\t\t\t\t \t itemWidth : 220,\n\t\t\t\t\t \t itemHeight : 30,\n\t\t\t\t\t \t mPosLeft : 0,\n\t\t\t\t\t \t mPosTop : 15,\n\t\t\t\t\t \t marginOffset: {\n\t\t\t\t\t \t \t right : 15,\n\t\t\t\t\t \t \t bottom: 20\n\t\t\t\t\t \t },\n\t\t\t\t\t \t eventClick: function(){\n\t\t\t\t\t \t \t var params = \$(this).attr('params');\n\t\t\t\t\t \t \t window.parent.JoomlaShine.jQuery.addNewMenuItem(params, '" . $menutype . "', '" . $menutypeid . "', '" . $parentid . "');\n\t\t\t\t\t \t }\n\t\t\t\t \t \t}\n\t\t\t\t \t );\n\t\t\t\t });\n\t\t\t })(JoomlaShine.jQuery);\n\t\t"; $JSNMedia->addScriptDeclaration($customScript); return parent::display(); }
/** * 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; } }