This repository has been archived on 2020-05-04. You can view files and clone it, but cannot push or open issues or pull requests.
phunk/application/classes/Kohana/Exception.php

40 lines
953 B
PHP

<?php defined('SYSPATH') or die('No direct script access.');
class Kohana_Exception extends Kohana_Kohana_Exception {
public static function handler(Exception $e) {
// Throw errors when in development mode
if (Kohana::$environment === Kohana::DEVELOPMENT) {
parent::handler($e);
}
else {
try{
Kohana::$log->add(Log::ERROR, Kohana_Exception::text($e));
$attributes = array(
'action' => 500,
'message' => rawurlencode($e->getMessage())
);
if ($e instanceof Http_Exception) {
$attributes['action'] = $e->getCode();
}
// Error sub request
echo Request::factory(Route::get('error')->uri($attributes))
->execute()
->send_headers()
->body();
}
catch (Exception $e){
// Clean the output buffer if one exists
ob_get_level() and ob_clean();
// Display the exception text
echo parent::text($e);
// Exit with an error status
exit(1);
}
}
}
}