public function testDefaultProperties() { $app = new TestApplication(); $_SERVER['REQUEST_METHOD'] = 'GET'; $c = new CController('test/subtest'); $this->assertEquals($c->id, 'test/subtest'); $this->assertEquals($c->filters(), array()); $this->assertEquals($c->actions(), array()); $this->assertNull($c->action); $this->assertEquals($c->defaultAction, 'index'); $this->assertEquals($c->viewPath, $app->viewPath . '/test/subtest'); $this->setExpectedException('CHttpException'); $c->missingAction('index'); }
/** * Méthode appelée quand une action est introuvable. * @internal Pour traiter le cas d'un module ou d'un contrôleur introuvables, cf. BaseWebApplication * @param string $actionID */ public function missingAction($actionID) { if (\Yii::app()->params['site']['logError404']) { \Yii::import('admin.models.BadUrlLog'); if (!\BadUrlLog::saveLog()) { parent::missingAction($actionID); } // Si tout va bien, on enregistre l'erreur sans envoyer de mail à l'administrateur // On redirige le client vers la page d'erreur personnalisée \Yii::import('admin.*'); /** @var \AdminModule $adminModule */ $adminModule = \Yii::app()->getModule('admin'); $this->forward($adminModule->routeFor404ErrorPage); } else { parent::missingAction($actionID); } }