/** * onAfterRoute function. * * @access public * @return void */ public function onAfterRoute() { $this->option = JFactory::getApplication()->input->get('option'); $this->extension = JFactory::getApplication()->input->get('extension'); if (empty($this->option) && JFactory::getApplication()->isSite()) { $menuDefault = JFactory::getApplication()->getMenu()->getDefault(); if ($menuDefault == 0) { return; } $componentID = $menuDefault->componentid; $component = JTable::getInstance('extension'); $component->load($componentID); $this->option = $component->element; } JoomlaOverrideHelperComponent::preload($this->option, $this->params); JoomlaOverrideHelperComponent::includeInitialize($this->option, $this->extension); }
/** * Initialize override of some core classes * */ public static function initialize() { $plugin_path = dirname(dirname(__FILE__)); //exception for implement new features $exceptionDatas = array(array('option' => 'com_menus', 'application' => 'administrator', 'data' => array('models' => array(array('class' => 'MenusModelMenutypes', 'source' => '/models/menutypes.php', 'destiny' => '/model/menutypes.php')))), array('option' => 'com_modules', 'application' => 'administrator', 'data' => array('models' => array(array('class' => 'ModulesModelModule', 'source' => '/models/module.php', 'destiny' => '/model/module.php'))))); if (JVERSION > 2.5) { $overrideClasses = array(array('source_file' => JPATH_LIBRARIES . '/legacy/module/helper.php', 'class_name' => 'JModuleHelper', 'jimport' => '', 'override_file' => $plugin_path . '/core/module/helper.php'), array('source_file' => JPATH_LIBRARIES . '/legacy/model/form.php', 'class_name' => 'JModelForm', 'jimport' => '', 'override_file' => $plugin_path . '/core/model/modelform.php'), array('source_file' => JPATH_LIBRARIES . '/legacy/controller/legacy.php', 'class_name' => 'JControllerLegacy', 'jimport' => '', 'override_file' => $plugin_path . '/core/controller/legacy.php'), array('source_file' => JPATH_LIBRARIES . '/legacy/view/legacy.php', 'class_name' => 'JViewLegacy', 'jimport' => '', 'override_file' => $plugin_path . '/core/view/legacy.php')); } else { $overrideClasses = array(array('source_file' => JPATH_LIBRARIES . '/joomla/application/module/helper.php', 'class_name' => 'JModuleHelper', 'jimport' => 'joomla.application.module.helper', 'override_file' => $plugin_path . '/core/module/helper.php'), array('source_file' => JPATH_LIBRARIES . '/joomla/application/component/modelform.php', 'class_name' => 'JModelForm', 'jimport' => 'joomla.application.component.modelform', 'override_file' => $plugin_path . '/core/model/modelform.php'), array('source_file' => JPATH_LIBRARIES . '/joomla/application/component/controller.php', 'class_name' => 'JController', 'jimport' => 'joomla.application.component.controller', 'override_file' => $plugin_path . '/core/controller/controller.php'), array('source_file' => JPATH_LIBRARIES . '/joomla/application/component/view.php', 'class_name' => 'JView', 'jimport' => 'joomla.application.component.view', 'override_file' => $plugin_path . '/core/view/view.php')); } foreach ($overrideClasses as $overrideClass) { self::overrideClass($overrideClass['source_file'], $overrideClass['class_name'], $overrideClass['jimport'], $overrideClass['override_file']); } foreach ($exceptionDatas as $exceptionData) { JoomlaOverrideHelperComponent::addExceptionOverride($exceptionData['option'], $exceptionData['application'], $exceptionData['data']); } }