?
Path : /home/admin/public_html/old/board/libraries/domit/ |
Current File : /home/admin/public_html/old/board/libraries/domit/php_http_exceptions.php |
<?php /** * PHP HTTP Tools is a library for working with the http protocol * HTTPExceptions is an HTTP Exceptions class * @package php-http-tools * @copyright (C) 2004 John Heinstein. All rights reserved * @license http://www.gnu.org/copyleft/lesser.html LGPL License * @author John Heinstein <johnkarl@nbnet.nb.ca> * @link http://www.engageinteractive.com/php_http_tools/ PHP HTTP Tools Home Page * PHP HTTP Tools are Free Software **/ /** socket connection error */ define('HTTP_SOCKET_CONNECTION_ERR', 1); /** http transport error */ define('HTTP_TRANSPORT_ERR', 2); //HTTPExceptions Error Modes /** continue on error */ define('HTTP_ONERROR_CONTINUE', 1); /** die on error */ define('HTTP_ONERROR_DIE', 2); /** * @global object Reference to custom error handler for HTTP Exception class */ $GLOBALS['HTTP_Exception_errorHandler'] = null; /** * @global int Error mode; specifies whether to die on error or simply return */ //$GLOBALS['HTTP_Exception_mode'] = HTTP_ONERROR_RETURN; // fixes bug identified here: sarahk.pcpropertymanager.com/blog/using-domit-rss/225/ $GLOBALS['HTTP_Exception_mode'] = 1; /** * @global string Log file for errors */ $GLOBALS['HTTP_Exception_log'] = null; /** * An HTTP Exceptions class (not yet implemented) * * @package php-http-tools * @author John Heinstein <johnkarl@nbnet.nb.ca> */ class HTTPExceptions { function raiseException($errorNum, $errorString) { //die('HTTP Exception: ' . $errorNum . "\n " . $errorString); if ($GLOBALS['HTTP_Exception_errorHandler'] != null) { call_user_func($GLOBALS['HTTP_Exception_errorHandler'], $errorNum, $errorString); } else { $errorMessageText = $errorNum . ' ' . $errorString; $errorMessage = 'Error: ' . $errorMessageText; if ((!isset($GLOBALS['HTTP_ERROR_FORMATTING_HTML'])) || ($GLOBALS['HTTP_ERROR_FORMATTING_HTML'] == true)) { $errorMessage = "<p><pre>" . $errorMessage . "</pre></p>"; } //log error to file if ((isset($GLOBALS['HTTP_Exception_log'])) && ($GLOBALS['HTTP_Exception_log'] != null)) { require_once(PHP_HTTP_TOOLS_INCLUDE_PATH . 'php_file_utilities.php'); $logItem = "\n" . date('Y-m-d H:i:s') . ' HTTP Error ' . $errorMessageText; php_file_utilities::putDataToFile($GLOBALS['HTTP_Exception_log'], $logItem, 'a'); } switch ($GLOBALS['HTTP_Exception_mode']) { case HTTP_ONERROR_CONTINUE: return; break; case HTTP_ONERROR_DIE: die($errorMessage); break; } } } //raiseException /** * custom handler for HTTP errors * @param object A reference to the custom error handler */ function setErrorHandler($method) { $GLOBALS['HTTP_Exception_errorHandler'] =& $method; } //setErrorHandler /** * Set error mode * @param int The HTTP error mode */ function setErrorMode($mode) { $GLOBALS['HTTP_Exception_mode'] = $mode; } //setErrorMode /** * Set error mode * @param boolean True if errors should be logged * @param string Absolute or relative path to log file */ function setErrorLog($doLogErrors, $logfile) { if ($doLogErrors) { $GLOBALS['HTTP_Exception_log'] = $logfile; } else { $GLOBALS['HTTP_Exception_log'] = null; } } //setErrorLog } //HTTPExceptions ?>