| | |
| | | <?php
|
| | | /* vim: set expandtab tabstop=4 shiftwidth=4: */
|
| | | // +----------------------------------------------------------------------+
|
| | | // | PHP version 4.0 |
|
| | | // +----------------------------------------------------------------------+
|
| | | // | Copyright (c) 2002 Active Fish Group |
|
| | | // +----------------------------------------------------------------------+
|
| | | // | Authors: Kelvin Jones <kelvin@kelvinjones.co.uk> |
|
| | | // +----------------------------------------------------------------------+
|
| | | //
|
| | | // $Id: error.php,v 1.1 2003/07/08 12:32:06 platinum Exp $
|
| | |
|
| | | define('FATAL', E_USER_ERROR);
|
| | | define('WARNING', E_USER_WARNING);
|
| | | define('NOTICE', E_USER_NOTICE);
|
| | | define('KILL', -1); // used for killing inside parsing.
|
| | |
|
| | | /**
|
| | | * Class is used by vlibTemplate.
|
| | | * It handles all of the error reporting for vlibTemplate.
|
| | | *
|
| | | * @author Kelvin Jones <kelvin@kelvinjones.co.uk>
|
| | | * @since 06/03/2002
|
| | | * @package vLIB
|
| | | * @access private
|
| | | */
|
| | |
|
| | | class vlibTemplateError {
|
| | |
|
| | | /*-----------------------------------------------------------------------------\
|
| | | | DO NOT TOUCH ANYTHING IN THIS CLASS IT MAY NOT WORK OTHERWISE |
|
| | | \-----------------------------------------------------------------------------*/
|
| | |
|
| | | function raiseError ($code, $level = null, $extra=null) {
|
| | | if (!($level & error_reporting())&& $level != KILL) return; // binary AND checks for reporting level
|
| | |
|
| | | $error_codes = array(
|
| | | 'VT_ERROR_NOFILE' => 'vlibTemplate Error: Template ('.$extra.') file not found.',
|
| | | 'VT_ERROR_PARSE' => 'vlibTemplate Error: Parse error!<br>To debug this file, use vlibTemplateDebug instead of vlibTemplate in the class instantiation(i.e. new vlibTemplateDebug).',
|
| | | 'VT_NOTICE_INVALID_TAG' => 'vlibTemplate Notice: Invalid tag ('.$extra.').',
|
| | | 'VT_ERROR_INVALID_TAG' => 'vlibTemplate Error: Invalid tag ('.$extra.'). To disable this you must turn of the STRICT option.',
|
| | | 'VT_NOTICE_INVALID_ATT' => 'vlibTemplate Notice: Invalid attribute ('.$extra.').',
|
| | | 'VT_WARNING_INVALID_ARR' => 'vlibTemplate Warning: Invalid loop structure passed to vlibTemplate::setLoop() (loop name: '.$extra.').',
|
| | | 'VT_ERROR_INVALID_ERROR_CODE' => 'vlibTemplate Error: Invalid error raised.',
|
| | | 'VT_ERROR_WRONG_NO_PARAMS' => 'vlibTemplate Warning: Wrond parameter count passed to '.$extra.'.',
|
| | | 'VT_ERROR_UNKNOWN_VAR' => 'vlibTemplate Error: template var not found.',
|
| | | 'VT_ERROR_NO_CACHE_WRITE' => 'vlibTemplate Error: unable to write to cache file ('.$extra.').',
|
| | | 'VT_ERROR_WRONG_CACHE_TYPE' => 'vlibTemplate Error: non-directory file found in cache root with same name as directory ('.$extra.').',
|
| | | 'VT_ERROR_CACHE_MKDIR_FAILURE' => 'vlibTemplate Error: failed to create directory in cache root ('.$extra.').',
|
| | | 'VT_WARNING_NOT_CACHE_OBJ' => 'vlibTemplate Warning: called a vlibTemplateCache function ('.$extra.') without instantiating the vlibTemplateCache class.',
|
| | | 'VT_WARNING_LOOP_NOT_SET' => 'vlibTemplate Warning: called vlibTemplate::addRow() or vlibTemplate::addLoop() with an invalid loop name.',
|
| | | 'VT_WARNING_INVALID_RESOURCE' => 'vlibTemplate Warning: Invalid resource type passed to vlibTemplate::setDbLoop() for Db "'.$extra.'".',
|
| | | 'VT_WARNING_INVALID_LOOP_DB' => 'vlibTemplate Warning: Invalid Db type passed to vlibTemplate::setDbLoop(), "'.$extra.'" not currently available.',
|
| | | 'VT_WARNING_INVALID_IF_OP' => 'vlibTemplate Warning: The Operator "'.$extra.'" is not supported by vlibTemplate.'
|
| | | );
|
| | |
|
| | | $error_levels = array(
|
| | | 'VT_ERROR_NOFILE' => FATAL,
|
| | | 'VT_ERROR_PARSE' => FATAL,
|
| | | 'VT_NOTICE_INVALID_TAG' => NOTICE,
|
| | | 'VT_ERROR_INVALID_TAG' => FATAL,
|
| | | 'VT_NOTICE_INVALID_ATT' => NOTICE,
|
| | | 'VT_WARNING_INVALID_ARR' => WARNING,
|
| | | 'VT_ERROR_INVALID_ERROR_CODE' => FATAL,
|
| | | 'VT_ERROR_WRONG_NO_PARAMS' => WARNING,
|
| | | 'VT_ERROR_UNKNOWN_VAR' => WARNING,
|
| | | 'VT_ERROR_NO_CACHE_WRITE' => KILL,
|
| | | 'VT_ERROR_WRONG_CACHE_TYPE' => KILL,
|
| | | 'VT_ERROR_CACHE_MKDIR_FAILURE' => KILL,
|
| | | 'VT_WARNING_NOT_CACHE_OBJ' => WARNING,
|
| | | 'VT_WARNING_LOOP_NOT_SET' => WARNING,
|
| | | 'VT_WARNING_INVALID_RESOURCE' => WARNING,
|
| | | 'VT_WARNING_INVALID_LOOP_DB' => WARNING,
|
| | | 'VT_WARNING_INVALID_IF_OP' => WARNING
|
| | | );
|
| | |
|
| | | ($level === null) and $level = $error_levels[$code];
|
| | | if ($level == KILL) {
|
| | | die ($error_codes[$code]);
|
| | | }
|
| | |
|
| | | if ($msg = $error_codes[$code]) {
|
| | | trigger_error($msg, $level);
|
| | | } else {
|
| | | $level = $error_levels['VT_ERROR_INVALID_ERROR_CODE'];
|
| | | $msg = $error_codes['VT_ERROR_INVALID_ERROR_CODE'];
|
| | | trigger_error($msg, $level);
|
| | | }
|
| | | return;
|
| | | }
|
| | | }
|
| | | <?php |
| | | /* vim: set expandtab tabstop=4 shiftwidth=4: */ |
| | | // +----------------------------------------------------------------------+ |
| | | // | PHP version 4.0 | |
| | | // +----------------------------------------------------------------------+ |
| | | // | Copyright (c) 2002 Active Fish Group | |
| | | // +----------------------------------------------------------------------+ |
| | | // | Authors: Kelvin Jones <kelvin@kelvinjones.co.uk> | |
| | | // +----------------------------------------------------------------------+ |
| | | // |
| | | // $Id: error.php,v 1.1 2003/07/08 12:32:06 platinum Exp $ |
| | | |
| | | define('FATAL', E_USER_ERROR); |
| | | define('WARNING', E_USER_WARNING); |
| | | define('NOTICE', E_USER_NOTICE); |
| | | define('KILL', -1); // used for killing inside parsing. |
| | | |
| | | /** |
| | | * Class is used by vlibTemplate. |
| | | * It handles all of the error reporting for vlibTemplate. |
| | | * |
| | | * @author Kelvin Jones <kelvin@kelvinjones.co.uk> |
| | | * @since 06/03/2002 |
| | | * @package vLIB |
| | | * @access private |
| | | */ |
| | | |
| | | class vlibTemplateError { |
| | | |
| | | /*-----------------------------------------------------------------------------\ |
| | | | DO NOT TOUCH ANYTHING IN THIS CLASS IT MAY NOT WORK OTHERWISE | |
| | | \-----------------------------------------------------------------------------*/ |
| | | |
| | | function raiseError ($code, $level = null, $extra=null) { |
| | | if (!($level & error_reporting())&& $level != KILL) return; // binary AND checks for reporting level |
| | | |
| | | $error_codes = array( |
| | | 'VT_ERROR_NOFILE' => 'vlibTemplate Error: Template ('.$extra.') file not found.', |
| | | 'VT_ERROR_PARSE' => 'vlibTemplate Error: Parse error!<br>To debug this file, use vlibTemplateDebug instead of vlibTemplate in the class instantiation(i.e. new vlibTemplateDebug).', |
| | | 'VT_NOTICE_INVALID_TAG' => 'vlibTemplate Notice: Invalid tag ('.$extra.').', |
| | | 'VT_ERROR_INVALID_TAG' => 'vlibTemplate Error: Invalid tag ('.$extra.'). To disable this you must turn of the STRICT option.', |
| | | 'VT_NOTICE_INVALID_ATT' => 'vlibTemplate Notice: Invalid attribute ('.$extra.').', |
| | | 'VT_WARNING_INVALID_ARR' => 'vlibTemplate Warning: Invalid loop structure passed to vlibTemplate::setLoop() (loop name: '.$extra.').', |
| | | 'VT_ERROR_INVALID_ERROR_CODE' => 'vlibTemplate Error: Invalid error raised.', |
| | | 'VT_ERROR_WRONG_NO_PARAMS' => 'vlibTemplate Warning: Wrond parameter count passed to '.$extra.'.', |
| | | 'VT_ERROR_UNKNOWN_VAR' => 'vlibTemplate Error: template var not found.', |
| | | 'VT_ERROR_NO_CACHE_WRITE' => 'vlibTemplate Error: unable to write to cache file ('.$extra.').', |
| | | 'VT_ERROR_WRONG_CACHE_TYPE' => 'vlibTemplate Error: non-directory file found in cache root with same name as directory ('.$extra.').', |
| | | 'VT_ERROR_CACHE_MKDIR_FAILURE' => 'vlibTemplate Error: failed to create directory in cache root ('.$extra.').', |
| | | 'VT_WARNING_NOT_CACHE_OBJ' => 'vlibTemplate Warning: called a vlibTemplateCache function ('.$extra.') without instantiating the vlibTemplateCache class.', |
| | | 'VT_WARNING_LOOP_NOT_SET' => 'vlibTemplate Warning: called vlibTemplate::addRow() or vlibTemplate::addLoop() with an invalid loop name.', |
| | | 'VT_WARNING_INVALID_RESOURCE' => 'vlibTemplate Warning: Invalid resource type passed to vlibTemplate::setDbLoop() for Db "'.$extra.'".', |
| | | 'VT_WARNING_INVALID_LOOP_DB' => 'vlibTemplate Warning: Invalid Db type passed to vlibTemplate::setDbLoop(), "'.$extra.'" not currently available.', |
| | | 'VT_WARNING_INVALID_IF_OP' => 'vlibTemplate Warning: The Operator "'.$extra.'" is not supported by vlibTemplate.' |
| | | ); |
| | | |
| | | $error_levels = array( |
| | | 'VT_ERROR_NOFILE' => FATAL, |
| | | 'VT_ERROR_PARSE' => FATAL, |
| | | 'VT_NOTICE_INVALID_TAG' => NOTICE, |
| | | 'VT_ERROR_INVALID_TAG' => FATAL, |
| | | 'VT_NOTICE_INVALID_ATT' => NOTICE, |
| | | 'VT_WARNING_INVALID_ARR' => WARNING, |
| | | 'VT_ERROR_INVALID_ERROR_CODE' => FATAL, |
| | | 'VT_ERROR_WRONG_NO_PARAMS' => WARNING, |
| | | 'VT_ERROR_UNKNOWN_VAR' => WARNING, |
| | | 'VT_ERROR_NO_CACHE_WRITE' => KILL, |
| | | 'VT_ERROR_WRONG_CACHE_TYPE' => KILL, |
| | | 'VT_ERROR_CACHE_MKDIR_FAILURE' => KILL, |
| | | 'VT_WARNING_NOT_CACHE_OBJ' => WARNING, |
| | | 'VT_WARNING_LOOP_NOT_SET' => WARNING, |
| | | 'VT_WARNING_INVALID_RESOURCE' => WARNING, |
| | | 'VT_WARNING_INVALID_LOOP_DB' => WARNING, |
| | | 'VT_WARNING_INVALID_IF_OP' => WARNING |
| | | ); |
| | | |
| | | ($level === null) and $level = $error_levels[$code]; |
| | | if ($level == KILL) { |
| | | die ($error_codes[$code]); |
| | | } |
| | | |
| | | if ($msg = $error_codes[$code]) { |
| | | trigger_error($msg, $level); |
| | | } else { |
| | | $level = $error_levels['VT_ERROR_INVALID_ERROR_CODE']; |
| | | $msg = $error_codes['VT_ERROR_INVALID_ERROR_CODE']; |
| | | trigger_error($msg, $level); |
| | | } |
| | | return; |
| | | } |
| | | } |
| | | ?> |