32 lines
913 B
PHP
32 lines
913 B
PHP
<?php defined('SYSPATH') or die('No direct access allowed.');
|
|
|
|
/**
|
|
* This class overrides Kohana's 404 Exception
|
|
*
|
|
* @package lnApp/Modifications
|
|
* @category Classes
|
|
* @category Helpers
|
|
* @author Deon George
|
|
* @copyright (c) 2010 Deon George
|
|
* @license http://dev.leenooks.net/license.html
|
|
*/
|
|
class HTTP_Exception_404 extends Kohana_HTTP_Exception_404 {
|
|
public function __construct($message, array $variables = NULL, $code = 0)
|
|
{
|
|
set_exception_handler(array(get_class($this),'handler'));
|
|
parent::__construct($message, $variables, (int) $code);
|
|
}
|
|
|
|
public static function handler(Exception $e)
|
|
{
|
|
SystemMessage::add(array(
|
|
'title'=>_('Page not found'),
|
|
'type'=>'error',
|
|
'body'=>sprintf(_('The page [%s] you requested was not found?'),Request::detect_uri()),
|
|
));
|
|
|
|
// Redirect based on path info
|
|
Request::factory()->redirect('redir/path'.$_SERVER['PATH_INFO']);
|
|
}
|
|
}
|