/** * var_dump()s the instance cache * @since ADD MVC 0.0 */ public static function debug_instances() { $class = get_called_class(); if ($class) { debug::var_dump(self::$instances[$class]); } else { debug::var_dump(self::$instances); } }
/** * 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; } }
$encrypted3 = $encryptor3->encrypt(); debug::var_dump($encrypted3); $encryptor4 = new my_encryptor2($encrypted3, 'wrong key'); $encrypted4 = $encryptor4->encrypt(); debug::var_dump($encrypted4); $decryptor = my_encryptor2::from_encrypted($encrypted4, 'lololo'); $decrypted = $decryptor->string; debug::var_dump($decrypted); $decryptor2 = my_encryptor::from_encrypted($decrypted, 'lalala'); $decrypted2 = $decryptor2->string; debug::var_dump($decrypted2); $decryptor3 = my_encryptor2::from_encrypted($decrypted2); $decrypted3 = $decryptor3->string; debug::var_dump($decrypted3); $decryptor4 = my_encryptor::from_encrypted($decrypted3); $decrypted4 = $decryptor4->string; debug::var_dump($decrypted4); # No key $encryptor5 = new add_encryptor('of the Great Amen', null); try { debug::var_dump($encryptor5->encrypt(), $encryptor5); } catch (Exception $e) { add::handle_exception($e); } # Invalid key $encryptor6 = new add_encryptor('of the Great Amen', array()); try { debug::var_dump($encryptor6->encrypt(), $encryptor6); } catch (Exception $e) { add::handle_exception($e); }
<?php require '../config.php'; require_once "{$C->add_dir}/init.php"; $string = 'Bryan Requinala'; $key = add_encryptor::generate_key(); $encrypted_string = add_encryptor::string_encrypt($string, $key); $decrypted_string = add_encryptor::string_decrypt($encrypted_string, $key); debug::var_dump($encrypted_string); debug::var_dump($decrypted_string); $encrypted_string = add_encryptor::string_encrypt($string, $key); $decrypted_string = add_encryptor::string_decrypt($encrypted_string, 'asdasdasd'); debug::var_dump($encrypted_string); debug::var_dump($decrypted_string);
/** * 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; } }