/** * Set enabled system modules to enable url access. */ protected function setSystemModules() { // Enable installed modules $modules = SystemModules::getEnabled(); if ($modules) { foreach ($modules as $module) { $this->setModules(array($module->name)); } } }
/** * Scan each module dir and include routes.php * Add module urls at the beginning of $config['urlManager']['rules'] * @access protected */ protected function _loadModuleUrls() { $cacheKey = 'url_manager_urls'; $rules = Yii::app()->cache->get($cacheKey); if (YII_DEBUG || !$rules) { $rules = array(); $modules = SystemModules::getEnabled(); $modulesPath = Yii::getPathOfAlias('application.modules'); foreach ($modules as $module) { $configFilePath = implode(DIRECTORY_SEPARATOR, array($modulesPath, $module->name, 'config', 'routes.php')); if (file_exists($configFilePath)) { $rules = array_merge(require $configFilePath, $rules); } } Yii::app()->cache->set($cacheKey, $rules, 3600); } $this->rules = array_merge($rules, $this->rules); }