KumbiaPHP  beta2
Framework PHP
 Todo Estructuras de Datos Namespaces Archivos Funciones Variables Páginas
kumbia_exception.php
Ir a la documentación de este archivo.
1 <?php
27 class KumbiaException extends Exception
28 {
29 
35  protected $_view;
36 
43  public function __construct($message, $view = 'exception')
44  {
45  $this->_view = $view;
46  parent::__construct($message);
47  }
48 
54  public static function handle_exception($e)
55  {
56  if (isset($e->_view) && ($e->_view == 'no_controller' || $e->_view == 'no_action')) {
57  header('HTTP/1.1 404 Not Found');
58  } else {
59  header('HTTP/1.1 500 Internal Server Error');
60  }
61 
62  extract(Router::get(), EXTR_OVERWRITE);
63 
64  $Controller = Util::camelcase($controller);
65  ob_start();
66  if (PRODUCTION) {
67  include APP_PATH . 'views/_shared/errors/404.phtml';
68  return;
69  } else {
70  $Template = 'views/templates/exception.phtml';
71  if (isset($e->_view)) {
72  include CORE_PATH . "views/errors/{$e->_view}.phtml";
73  } else {
74  include CORE_PATH . "views/errors/exception.phtml";
75  }
76  }
77  $content = ob_get_clean();
78 
79  // termina los buffers abiertos
80  while (ob_get_level ()) {
81  ob_end_clean();
82  }
83 
84  // verifica si esta cargado el View
85  if (class_exists('View')) {
86  if (View::get('template') === NULL) {
87  echo $content;
88  exit;
89  }
90  }
91 
92  include CORE_PATH . $Template;
93  }
94 
95 }