/** * Overrides processRules, allowing us to inject our own ruleset into the URL Manager * Takes no parameters **/ protected function processRules() { $this->cache = !YII_DEBUG; // Generate the clientRules $this->rules = $this->cache ? Yii::app()->cache->get('CiiMS::Routes') : array(); if ($this->rules == false || empty($this->rules)) { $this->rules = array(); $this->rules = $this->generateClientRules(); $this->rules = CMap::mergearray($this->addRssRules(), $this->rules); $this->rules = CMap::mergeArray($this->addModuleRules(), $this->rules); Yii::app()->cache->set('CiiMS::Routes', $this->rules); } // Append our cache rules BEFORE we run the defaults $this->rules['<controller:\\w+>/<action:\\w+>/<id:\\d+>'] = '<controller>/<action>'; $this->rules['<controller:\\w+>/<action:\\w+>'] = '<controller>/<action>'; return parent::processRules(); }