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');
 }
예제 #2
0
 /**
  * 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);
     }
 }