Ejemplo n.º 1
0
 /**
  * @return string
  */
 public function actionError()
 {
     if (($exception = Yii::$app->getErrorHandler()->exception) === null) {
         return '';
     }
     if ($exception instanceof HttpException) {
         $code = $exception->statusCode;
     } else {
         $code = $exception->getCode();
     }
     if ($exception instanceof Exception) {
         $name = $exception->getName();
     } else {
         $name = Yii::t('maddoger/admin', 'Error');
     }
     if ($code) {
         $name .= " (#{$code})";
     }
     if ($exception instanceof UserException) {
         $message = $exception->getMessage();
     } else {
         $message = Yii::t('maddoger/admin', 'An internal server error occurred.');
         if (Module::getInstance()->sendSystemMessageOnServerError) {
             SystemMessage::send($name . ' ' . Yii::$app->request->url, $exception->getMessage(), 'error', $exception->getTraceAsString());
         }
     }
     if (Yii::$app->getRequest()->getIsAjax()) {
         return "{$name}: {$message}";
     } else {
         return $this->render('error', ['name' => $name, 'message' => $message, 'exception' => $exception]);
     }
 }