Inheritance: extends ActiveRecord, implements Dateable
コード例 #1
0
ファイル: http.php プロジェクト: emeraldion/zelda
 /**
  *	@fn error($code, $headers)
  *	@short Redirects the request to the error page for the desired HTTP error code.
  *	@details This method redirects the request to the ErrorController action method that
  *	handles the HTTP error code <tt>code</tt>, optionally sending a set of headers.
  *	@param code The HTTP error code.
  *	@param headers An optional set of HTTP headers to send to the client.
  */
 public static function error($code = 500, $headers = array())
 {
     if ($code != 400) {
         $error = new ServerError(array('code' => $code, 'description' => var_export($_SERVER, TRUE), 'occurred_at' => date('Y-m-d H:i:s')));
         $error->save();
     }
     foreach ($headers as $header => $value) {
         header("{$header}: {$value}");
     }
     $_SESSION['error_processed'] = TRUE;
     header(sprintf("Location: http://%s%serror/%s.html", $_SERVER['HTTP_HOST'], APPLICATION_ROOT, $code));
     exit;
 }
コード例 #2
0
ファイル: error_controller.php プロジェクト: emeraldion/zelda
 /**
  *	@fn generate_error($code)
  *	@short Private common error handler.
  *	@param code An error code.
  */
 private function generate_error($code)
 {
     $desc = self::$descriptions[$code];
     header("HTTP/1.1 {$code} {$desc}");
     if (isset($_SESSION['error_processed'])) {
         unset($_SESSION['error_processed']);
         return;
     }
     if ($code == 404) {
         return;
     }
     $error = new ServerError(array('code' => $code, 'description' => var_export($_SERVER, TRUE), 'occurred_at' => date('Y-m-d H:i:s')));
     $error->save();
 }
コード例 #3
0
 /**
  * @inheritdoc
  */
 public function __construct($message = self::DEFAULT_MESSAGE, $code = Status::SERVICE_UNAVAILABLE, \Exception $previous = null)
 {
     parent::__construct($message, $code, $previous);
 }
コード例 #4
0
 /**
  *	@fn server_error_delete
  *	@short Action method that deletes server error items.
  */
 public function server_error_delete()
 {
     if (!empty($_GET['id'])) {
         $this->redirect_to(array('action' => 'server_error_read', 'id' => $_GET['id']));
     } else {
         if (!empty($_POST['id'])) {
             if (is_array($_POST['id'])) {
                 $conn = Db::get_connection();
                 $conn->prepare('DELETE FROM `server_errors` ' . "WHERE FIND_IN_SET(`id`, '{1}') " . 'LIMIT {2}', implode(',', $_POST['id']), count($_POST['id']));
                 $conn->exec();
                 Db::close_connection($conn);
             } else {
                 $error = new ServerError();
                 $error->find_by_id($_REQUEST['id']);
                 $error->delete();
             }
         }
         $this->redirect_to(array('action' => 'server_error_list'));
     }
 }