Exemple #1
0
 /**
  * Permet de lancer une erreur
  * @param $code le type de l'erreur, par défaut 404 (page not found)
  * @param $logs logs d'erreurs découpés de la forme
  *      > $logs['error']
  *      > $logs['warning']
  *      > $logs['notice']
  * @param $redirect indique s'il faut forcer la redirection (les logs ne seront pas transmis)
  */
 public static function error($code = 404, $logs = array(), $redirect = false)
 {
     $logs = self::processLogs($logs);
     $error_filename = APP_PATH . '/Controllers/errorController.php';
     if (file_exists($error_filename)) {
         $params = array('code' => $code, 'logs' => $logs);
         Minz_Response::setHeader($code);
         if ($redirect) {
             Minz_Request::forward(array('c' => 'error'), true);
         } else {
             Minz_Request::forward(array('c' => 'error', 'params' => $params), false);
         }
     } else {
         $text = '<h1>An error occured</h1>' . "\n";
         if (!empty($logs)) {
             $text .= '<ul>' . "\n";
             foreach ($logs as $log) {
                 $text .= '<li>' . $log . '</li>' . "\n";
             }
             $text .= '</ul>' . "\n";
         }
         Minz_Response::setHeader($code);
         Minz_Response::setBody($text);
         Minz_Response::send();
         exit;
     }
 }