/**
  * 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;
     }
 }