public static function handle($e, $override = array()) { if (isset($override['message'])) { $message = $override['message']; } else { $message = $e->getMessage(); } if (isset($override['code'])) { $code = $override['code']; } else { $code = $e->getCode(); } if (isset($override['line'])) { $line = $override['line']; } else { $line = $e->getLine(); } if (isset($override['file'])) { $file = $override['file']; } else { $file = $e->getFile(); } // check if inline errors are enabled and the error is not fatal // if (self::$inlineErrors === true && in_array($code, array(2, 4, 8, 32, 128, 256, 1024, 2048, 4096, 8192, 16384))) { // echo nl2br($message); // echo '<br />' . $file . ' on line ' . $line; // return; // } // clean output buffer if (ob_get_level() > 0) { ob_clean(); } if (self::$debugMode === true) { // get random snippet $snippet = self::$funSnippets[rand(0, count(self::$funSnippets) - 1)]; // call error controller and pass information $message = array('exception' => get_class($e), 'error' => nl2br($message), 'backtrace' => $e->getTraceAsString(), 'snippet' => $snippet, 'line' => $line, 'code' => $code, 'file' => $file); if (!isset($_SERVER['SHELL'])) { require 'madeam/src/madeam/exception/template.html.php'; } else { require 'madeam/src/madeam/exception/template.shell.php'; } exit; } else { // return 404 error page $params = array('_controller' => 'error', '_action' => 'http404', '_method' => 'get', '_layout' => 1, '_format' => 'html'); echo Framework::control($params); } }