From 0f5bfbdba9e812f3628012e9876dd1543e6229f4 Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Tue, 18 Nov 2008 20:55:40 +0000 Subject: [PATCH] Added som good classes --- class/error.php | 90 ++++++++++++++++++++++++++++++++++++++++++++++ class/info.php | 22 ++++++++++++ class/template.php | 35 ++++++++++++++++++ 3 files changed, 147 insertions(+) create mode 100644 class/error.php create mode 100644 class/info.php create mode 100644 class/template.php diff --git a/class/error.php b/class/error.php new file mode 100644 index 0000000..5855c8c --- /dev/null +++ b/class/error.php @@ -0,0 +1,90 @@ + +
{'message'}
+ +*/ + +$errors = array(); +set_error_handler("errorHandler"); +register_shutdown_function("printErrors"); + +// error handler function +function errorHandler($errno, $errstr, $errfile, $errline){ + GLOBAL $template,$language,$errors; + $info = new Info(); + switch ($errno) { + case E_ERROR: + case E_USER_ERROR: + $err = buildError($language["error"],$errno, $errstr, $errfile, $errline); + $errors[] = $info->buildMessage($err,"error"); + dbSaveLog(getURL(),$err,date("Y-m-d H:i:s")); + break; + case E_WARNING: + case E_USER_WARNING: + $err = buildError($language["warning"],$errno, $errstr, $errfile, $errline); + $errors[] = $info->buildMessage($err,"warning"); + dbSaveLog(getURL(),$err,date("Y-m-d H:i:s")); + break; + case E_NOTICE: + case E_USER_NOTICE: + //$err = buildError($language["error_unknown"],$errno, $errstr, $errfile, $errline); + //dbSaveLog(getURL(),$err,date("Y-m-d H:i:s")); + break; + default: + $err = buildError($language["error_unknown"],$errno, $errstr, $errfile, $errline); + $errors[] = $info->buildMessage($err,"error"); + dbSaveLog(getURL(),$err,date("Y-m-d H:i:s")); + break; + } + /* Don't execute PHP internal error handler */ + return true; +} + +function buildError($errhead,$errno, $errstr, $errfile, $errline){ + GLOBAL $config; + //[$errno] + if($config["debug"]) + $error = "$errhead: $errfile($errline)
$errstr"; + else + $error = "$errhead: $errstr"; + return $error; +} + +function getErrors(){ + GLOBAL $errors; + if(empty($errors)) return ""; + $temp = ""; + foreach($errors as $one){ + $temp .= $one; + } + $errors = array(); + return $temp; +} + +function printErrors(){ + echo getErrors(); +} +?> diff --git a/class/info.php b/class/info.php new file mode 100644 index 0000000..a903a87 --- /dev/null +++ b/class/info.php @@ -0,0 +1,22 @@ + array("#F0FF69","#FFFB3E"), + "error" => array("#FFDDCC","#FF0000"), + "info" => array("#9BFB66","#039C00") + ); + + function buildMessage($msg, $t="warning"){ + GLOBAL $template; + $temp = new Template($template["message"]); + $temp->replace_tags(array( + "message_color" => $this->type[$t][0], + "message_color_border" => $this->type[$t][1], + "message" => $msg + )); + return $temp->getOutput(); + } +} +?> \ No newline at end of file diff --git a/class/template.php b/class/template.php new file mode 100644 index 0000000..307ad03 --- /dev/null +++ b/class/template.php @@ -0,0 +1,35 @@ +page = $template; + } + + function replace_tags($tags = array()) { + if (sizeof($tags) > 0) + foreach ($tags as $tag => $data) { + //$data = (file_exists($data)) ? $this->parse($data) : $data; + $this->page = str_ireplace("{'" . $tag . "'}", $data, $this->page);//eregi_replace + } + else + die("No tags designated for replacement."); + } + + function output() { + echo $this->page; + } + + function getOutput() { + return $this->page; + } + + function parse($file) { + ob_start(); + include($file); + $buffer = ob_get_contents(); + ob_end_clean(); + return $buffer; + } +} +?> \ No newline at end of file