/www/assets/tiny_mce/plugins/imagemanager/classes/Utils/Error.php
PHP | 286 lines | 164 code | 57 blank | 65 comment | 28 complexity | fca3c529baf99ccd6d68b5b9171b8471 MD5 | raw file
- <?php
- /**
- * $Id: Error.php 624 2008-12-02 17:44:39Z spocke $
- *
- * @package MCManager.utils
- * @author Moxiecode
- * @copyright Copyright © 2005, Moxiecode Systems AB, All rights reserved.
- */
- // Define it on PHP4
- if (!defined('E_STRICT'))
- define('E_STRICT', 2048);
- // Define error levels
- define('FATAL', E_USER_ERROR);
- define('ERROR', E_USER_WARNING);
- define('WARNING', E_USER_NOTICE);
- /**
- * This class handles Error messages.
- *
- * @package MCManager.utils
- */
- class Moxiecode_Error {
- var $id;
- function Moxiecode_Error() {
- }
- function setId($id) {
- $this->id = $id;
- }
- function handleError($errno, $errstr, $errfile, $errline, $errcontext) {
- global $man;
- $error = array();
- $log = false;
- $error['title'] = "";
- $error['break'] = false;
- $error['errstr'] = $errstr;
- //$error['errcontext'] = $errcontext;
- $error['errcontext'] = "";
- $error['errfile'] = "";
- $error['errline'] = "";
- // Add file and line only in debug mode
- if (isset($man)) {
- $mcConfig = $man->getConfig();
- $log = $man->getLogger();
- if (checkBool($mcConfig['general.debug'])) {
- $error['errfile'] = $errfile;
- $error['errline'] = $errline;
- }
- }
- switch ($errno) {
- case E_USER_ERROR:
- $error['title'] = "Fatal Error";
- $error['break'] = true;
- break;
- case E_USER_NOTICE:
- $error['title'] = "Notice";
- $error['break'] = false;
- break;
- case E_USER_WARNING:
- $error['title'] = "Warning";
- $error['break'] = true;
- break;
- case E_PARSE:
- $error['title'] = "PHP Parse Error";
- $error['break'] = true;
- if ($log)
- $log->fatal($error['title'] . ", Msg: " . $error['errstr'] . " in " . $error['errfile'] . "(" . $error['errline'] . ")");
- break;
- case E_ERROR:
- $error['title'] = "PHP Error";
- $error['break'] = true;
- if ($log)
- $log->error($error['title'] . ", Msg: " . $error['errstr'] . " in " . $error['errfile'] . "(" . $error['errline'] . ")");
- break;
- case E_WARNING:
- $error['title'] = "PHP Warning";
- $error['break'] = false;
- if ($log)
- $log->warn($error['title'] . ", Msg: " . $error['errstr'] . " in " . $error['errfile'] . "(" . $error['errline'] . ")");
- break;
- case E_CORE_ERROR:
- $error['title'] = "PHP Error : Core Error";
- $error['break'] = true;
- if ($log)
- $log->error($error['title'] . ", Msg: " . $error['errstr'] . " in " . $error['errfile'] . "(" . $error['errline'] . ")");
- break;
- case E_CORE_WARNING:
- $error['title'] = "PHP Error : Core Warning";
- $error['break'] = true;
- if ($log)
- $log->warn($error['title'] . ", Msg: " . $error['errstr'] . " in " . $error['errfile'] . "(" . $error['errline'] . ")");
- break;
- case E_COMPILE_ERROR:
- $error['title'] = "PHP Error : Compile Error";
- $error['break'] = true;
- if ($log)
- $log->error($error['title'] . ", Msg: " . $error['errstr'] . " in " . $error['errfile'] . "(" . $error['errline'] . ")");
- break;
- case E_COMPILE_WARNING:
- $error['title'] = "PHP Error : Compile Warning";
- $error['break'] = true;
- if ($log)
- $log->warn($error['title'] . ", Msg: " . $error['errstr'] . " in " . $error['errfile'] . "(" . $error['errline'] . ")");
- break;
- case E_NOTICE:
- $error['title'] = "PHP Notice";
- $error['break'] = false;
- if ($log)
- $log->info($error['title'] . ", Msg: " . $error['errstr'] . " in " . $error['errfile'] . "(" . $error['errline'] . ")");
- break;
- case E_STRICT:
- $error['title'] = "PHP Strict";
- $error['break'] = false;
- if ($log)
- $log->info($error['title'] . " (" . $errno . ")" . ", Msg: " . $error['errstr'] . " in " . $error['errfile'] . "(" . $error['errline'] . ")");
- break;
- }
- // Add error number
- $error['title'] = $error['title'] . " (". $errno .")";
- return $error;
- }
- }
- /**
- * Calls the MCError class, returns true.
- *
- * @param Int $errno Number of the error.
- * @param String $errstr Error message.
- * @param String $errfile The file the error occured in.
- * @param String $errline The line in the file where error occured.
- * @param Array $errcontext Error context array, contains all variables.
- * @return Bool Just return true for now.
- */
- function JSONErrorHandler($errno, $errstr, $errfile, $errline, $errcontext) {
- global $MCErrorHandler;
- // Ignore these
- if ($errno == E_STRICT)
- return true;
- // Just pass it through to the class.
- $data = $MCErrorHandler->handleError($errno, $errstr, $errfile, $errline, $errcontext);
- if ($data['break']) {
- unset($data['break']);
- unset($data['title']);
- $data['level'] = "FATAL";
- $json = new Moxiecode_JSON();
- $result = new stdClass();
- $result->result = null;
- $result->id = 'err';
- $result->error = $data;
- echo $json->encode($result);
- die();
- }
- }
- /**
- * Calls the MCError class, returns true.
- *
- * @param Int $errno Number of the error.
- * @param String $errstr Error message.
- * @param String $errfile The file the error occured in.
- * @param String $errline The line in the file where error occured.
- * @param Array $errcontext Error context array, contains all variables.
- * @return Bool Just return true for now.
- */
- function JSErrorHandler($errno, $errstr, $errfile, $errline, $errcontext) {
- global $MCErrorHandler;
- // Ignore these
- if ($errno == E_STRICT)
- return true;
- // Just pass it through to the class.
- $data = $MCErrorHandler->handleError($errno, $errstr, $errfile, $errline, $errcontext);
- if ($data['break']) {
- echo 'alert(\'' . addslashes($data['errstr']) . '\');';
- die();
- }
- }
- /**
- * Calls the MCError class, returns true.
- *
- * @param Int $errno Number of the error.
- * @param String $errstr Error message.
- * @param String $errfile The file the error occured in.
- * @param String $errline The line in the file where error occured.
- * @param Array $errcontext Error context array, contains all variables.
- * @return Bool Just return true for now.
- */
- function StreamErrorHandler($errno, $errstr, $errfile, $errline, $errcontext) {
- global $MCErrorHandler;
- // Ignore these
- if ($errno == E_STRICT)
- return true;
- // Just pass it through to the class.
- $data = $MCErrorHandler->handleError($errno, $errstr, $errfile, $errline, $errcontext);
- if ($data['break']) {
- if ($_SERVER["REQUEST_METHOD"] == "GET") {
- header("HTTP/1.1 500 Internal server error");
- die($errstr);
- } else {
- unset($data['break']);
- unset($data['title']);
- $data['level'] = "FATAL";
- $json = new Moxiecode_JSON();
- $result = new stdClass();
- $result->result = null;
- $result->id = 'err';
- $result->error = $data;
- echo '<html><body><script type="text/javascript">parent.handleJSON(' . $json->encode($result) . ');</script></body></html>';
- die();
- }
- }
- }
- /**
- * Calls the MCError class, returns true.
- *
- * @param Int $errno Number of the error.
- * @param String $errstr Error message.
- * @param String $errfile The file the error occured in.
- * @param String $errline The line in the file where error occured.
- * @param Array $errcontext Error context array, contains all variables.
- * @return Bool Just return true for now.
- */
- function HTMLErrorHandler($errno, $errstr, $errfile, $errline, $errcontext) {
- global $MCErrorHandler;
- // Ignore these
- if ($errno == E_STRICT)
- return true;
- // Just pass it through to the class.
- $data = $MCErrorHandler->handleError($errno, $errstr, $errfile, $errline, $errcontext);
- if ($data['break']) {
- die($errstr);
- }
- }
- ?>