/** * Do nothing, the reason we hate spam is because it bothers us, so we will ignore this error * */ public function handle_exception() { return add::shutdown(false); }
/** * handle_exception() * The error handler for exceptions * @param Exception $e the exception to handle * @since ADD MVC 0.0 */ static function handle_exception(Exception $e) { try { while (ob_get_level()) { # Do not echo this, it is a big security risk ob_get_clean(); } try { if (method_exists($e, 'handle_exception')) { return $e->handle_exception(); } else { throw new Exception("Non e_add exception sub class or no handle_exception() function found for exception"); } } catch (Exception $e2) { if ($e instanceof SmartyException) { static::handle_exception(new e_smarty($e->getMessage(), array('message' => $e->getMessage(), 'code' => $e->getCode(), 'trace' => str_replace(array(add::config()->root_dir, add::config()->add_dir), array('*root_dir*', '*add_dir*'), $e->getTraceAsString())))); } if (add::content_type() == 'text/plain') { die(get_class($e) . "(#" . $e->getCode() . ")\r\n\r\n" . $e->getMessage() . "\r\n\r\n" . $e->getFile() . ":" . $e->getLine() . "\r\n\r\n\r\n\r\n"); } else { if (add::is_developer()) { DEFINE('add\\terminal_error\\error_message', $e->getMessage()); DEFINE('add\\terminal_error\\error_trace', $e->getTraceAsString()); DEFINE('add\\terminal_error\\error_header', get_class($e)); DEFINE('add\\terminal_error\\error_footer', $e->getFile() . ":" . $e->getLine()); } else { $debug_mail_to = add::config()->developer_emails; if (is_array($debug_mail_to) || is_object($debug_mail_to)) { $debug_mail_to = implode(",", (array) $debug_mail_to); } mail($debug_mail_to, "Terminal Error: " . $e->getMessage(), $e->getTraceAsString()); DEFINE('add\\terminal_error\\error_message', 'An error occured<br />please contact the system administrators or go back to <a href="' . add::config()->path . '">Home</a>'); DEFINE('add\\terminal_error\\error_header', 'Warning!'); DEFINE('add\\terminal_error\\error_footer', 'Please contact the system administrators'); DEFINE('add\\terminal_error\\error_trace', ''); } if (!headers_sent() && !add::include_include_file('terminal_error.php')) { throw new Exception("Failed to display terminal error"); } add::shutdown(false); } } } catch (Exception $e3) { $e1_string = "<div style='color:red'>" . get_class($e) . "(#" . $e->getCode() . ")" . $e->getMessage() . "\r\n" . $e->getFile() . ":" . $e->getLine() . "</div>"; echo $e1_string; $e3_string = "<div style='color:red'>" . get_class($e3) . "(#" . $e3->getCode() . ")" . $e3->getMessage() . "\r\n" . $e3->getFile() . ":" . $e3->getLine() . "</div>"; if ($e3_string != $e1_string) { echo $e3_string; } debug::var_dump($e3->getTraceAsString()); die; } }
/** * Handle the exception * * @since ADD MVC 0.0 */ public function handle_exception() { echo "{$this->getFile()}({$this->getLine()}): ({$this->getCode()}){$this->getMessage()}"; add::shutdown(); }
/** * handle_exception() * The error handler for exceptions * @param Exception $e the exception to handle * @since ADD MVC 0.0 */ static function handle_exception(Exception $e) { try { try { if (method_exists($e, 'handle_exception')) { return $e->handle_exception(); } else { throw new Exception("Non e_add exception sub class or no handle_exception() function found for exception"); } } catch (Exception $e2) { while (ob_get_level()) { ob_end_clean(); } if ($e instanceof SmartyException) { static::handle_exception(new e_smarty($e->getMessage(), $e)); } if (add::content_type() == 'text/plain') { die(get_class($e) . "(#" . $e->getCode() . ")\r\n\r\n" . $e->getMessage() . "\r\n\r\n" . $e->getFile() . ":" . $e->getLine() . "\r\n\r\n\r\n\r\n"); } else { DEFINE('add\\terminal_error\\error_message', $e->getMessage()); DEFINE('add\\terminal_error\\error_header', get_class($e)); DEFINE('add\\terminal_error\\error_footer', $e->getFile() . ":" . $e->getLine()); if (!headers_sent() && !add::include_include_file('terminal_error.php')) { throw new Exception("Failed to display terminal error"); } add::shutdown(false); } } } catch (Exception $e3) { $e1_string = "<div style='color:red'>" . get_class($e) . "(#" . $e->getCode() . ")" . $e->getMessage() . "\r\n" . $e->getFile() . ":" . $e->getLine() . "</div>"; echo $e1_string; $e3_string = "<div style='color:red'>" . get_class($e3) . "(#" . $e3->getCode() . ")" . $e3->getMessage() . "\r\n" . $e3->getFile() . ":" . $e3->getLine() . "</div>"; if ($e3_string != $e1_string) { echo $e3_string; } debug::var_dump($e3->getTraceAsString()); die; } }
<?php require 'add_configure.php'; ob_start('ob_gzhandler'); echo 'test output'; #ob_end_flush(); # Required for output, shouldn't be add::shutdown();
/** * handle_exception() * The error handler for exceptions * @param Exception $e the exception to handle * @since ADD MVC 0.0 */ static function handle_exception(Exception $e) { try { if (method_exists($e, 'handle_exception')) { return $e->handle_exception(); } else { while (ob_get_level()) { ob_end_clean(); } if ($e instanceof SmartyException) { static::handle_exception(new e_smarty($e->getMessage(), $e)); } if (add::content_type() == 'text/plain') { die(get_class($e) . "(#" . $e->getCode() . ")\r\n\r\n" . $e->getMessage() . "\r\n\r\n" . $e->getFile() . ":" . $e->getLine() . "\r\n\r\n\r\n\r\n"); } else { DEFINE('add\\terminal_error\\error_message', $e->getMessage()); DEFINE('add\\terminal_error\\error_header', get_class($e)); DEFINE('add\\terminal_error\\error_footer', $e->getFile() . ":" . $e->getLine()); if (!headers_sent() && !add::include_include_file('terminal_error.php')) { throw new $e(); } add::shutdown(false); } } } catch (Exception $e) { die("<div style='color:red'>" . $e->getMessage() . "\r\n" . $e->getFile() . ":" . $e->getLine() . "</div>"); } }