From b8a5fde84629cdc4885016b76c90d9836c4f65b0 Mon Sep 17 00:00:00 2001 From: rvelices Date: Fri, 5 Sep 2008 01:24:01 +0000 Subject: - better management of fatal errors (instead of die or trigger_error rather use fatal_error ...) git-svn-id: http://piwigo.org/svn/trunk@2502 68402e56-0260-453c-a942-63ccdbb3a9ee --- admin/include/functions.php | 2 +- include/common.inc.php | 10 ++++---- include/functions.inc.php | 30 +++++++---------------- include/functions_calendar.inc.php | 7 ++---- include/functions_html.inc.php | 38 ++++++++++++++++++++++++++++++ include/functions_url.inc.php | 22 ++++------------- include/template.class.php | 2 +- plugins/SwiftThemeCreator/simul/.cvsignore | 1 - 8 files changed, 60 insertions(+), 52 deletions(-) delete mode 100644 plugins/SwiftThemeCreator/simul/.cvsignore diff --git a/admin/include/functions.php b/admin/include/functions.php index a3381f09a..2d8ae2ba6 100644 --- a/admin/include/functions.php +++ b/admin/include/functions.php @@ -1832,7 +1832,7 @@ UPDATE '.USER_CACHE_TABLE.' */ function create_table_add_character_set($query) { - defined('DB_CHARSET') or trigger_error('create_table_add_character_set DB_CHARSET undefined', E_USER_ERROR); + defined('DB_CHARSET') or fatal_error('create_table_add_character_set DB_CHARSET undefined'); if ('DB_CHARSET'!='') { if ( version_compare(mysql_get_server_info(), '4.1.0', '<') ) diff --git a/include/common.inc.php b/include/common.inc.php index a762eeade..1ddebfc9b 100644 --- a/include/common.inc.php +++ b/include/common.inc.php @@ -21,10 +21,8 @@ // | USA. | // +-----------------------------------------------------------------------+ -if (!defined('PHPWG_ROOT_PATH')) -{ - die('Hacking attempt!'); -} +defined('PHPWG_ROOT_PATH') or trigger_error('Hacking attempt!', E_USER_ERROR); + // determine the initial instant to indicate the generation time of this page $t1 = explode( ' ', microtime() ); $t2 = explode( '.', $t1[0] ); @@ -146,7 +144,7 @@ include(PHPWG_ROOT_PATH . 'include/template.class.php'); @mysql_select_db( $cfgBase ) or my_error( 'mysql_select_db', true ); defined('PWG_CHARSET') and defined('DB_CHARSET') - or die('PWG_CHARSET and/or DB_CHARSET is not defined'); + or fatal_error('PWG_CHARSET and/or DB_CHARSET is not defined'); if ( version_compare(mysql_get_server_info(), '4.1.0', '>=') ) { if (DB_CHARSET!='') @@ -158,7 +156,7 @@ else { if ( strtolower(PWG_CHARSET)!='iso-8859-1' ) { - die('PWG supports only iso-8859-1 charset on MySql version '.mysql_get_server_info()); + fatal_error('PWG supports only iso-8859-1 charset on MySql version '.mysql_get_server_info()); } } diff --git a/include/functions.inc.php b/include/functions.inc.php index 2acf287e9..6acfa0637 100644 --- a/include/functions.inc.php +++ b/include/functions.inc.php @@ -232,7 +232,7 @@ function mkgetdir($dir, $flags=MKGETDIR_DEFAULT) umask($umask); if ($mkd==false) { - !($flags&MKGETDIR_DIE_ON_ERROR) or trigger_error( "$dir ".l10n('no_write_access'), E_USER_ERROR); + !($flags&MKGETDIR_DIE_ON_ERROR) or fatal_error( "$dir ".l10n('no_write_access')); return false; } if( $flags&MKGETDIR_PROTECT_HTACCESS ) @@ -250,7 +250,7 @@ function mkgetdir($dir, $flags=MKGETDIR_DEFAULT) { if ( !is_writable($dir) ) { - !($flags&MKGETDIR_DIE_ON_ERROR) or trigger_error( "$dir ".l10n('no_write_access'), E_USER_ERROR); + !($flags&MKGETDIR_DIE_ON_ERROR) or fatal_error( "$dir ".l10n('no_write_access')); return false; } } @@ -945,29 +945,17 @@ function get_thumbnail_title($element_info) // my_error returns (or send to standard output) the message concerning the // error occured for the last mysql query. - function my_error($header, $die) { - $error = $header; - $error.= "\n[mysql error ".mysql_errno().'] '.mysql_error()."\n"; - - if (function_exists('debug_backtrace')) - { - $bt = debug_backtrace(); - for ($i=0; $i"); - trigger_error($error, $die ? E_USER_ERROR : E_USER_WARNING); - !$die || die($error); // just in case the handler didnt die + trigger_error($error, E_USER_WARNING); echo(""); } @@ -1137,7 +1125,7 @@ function l10n_args($key_args, $sep = "\n") } else { - die('l10n_args: Invalid arguments'); + fatal_error('l10n_args: Invalid arguments'); } return $result; @@ -1221,7 +1209,7 @@ SELECT param, value if ((mysql_num_rows($result) == 0) and !empty($condition)) { - die('No configuration data'); + fatal_error('No configuration data'); } while ($row = mysql_fetch_array($result)) @@ -1371,7 +1359,7 @@ function get_filter_page_value($value_name) */ function get_pwg_charset() { - defined('PWG_CHARSET') or die('load_language PWG_CHARSET undefined'); + defined('PWG_CHARSET') or fatal_error('load_language PWG_CHARSET undefined'); return PWG_CHARSET; } diff --git a/include/functions_calendar.inc.php b/include/functions_calendar.inc.php index baa72b927..1071b4d8e 100644 --- a/include/functions_calendar.inc.php +++ b/include/functions_calendar.inc.php @@ -115,10 +115,7 @@ WHERE id IN (' . implode(',',$page['items']) .')'; $views = array(CAL_VIEW_LIST,CAL_VIEW_CALENDAR); // Retrieve calendar field - if ( !isset( $fields[ $page['chronology_field'] ] ) ) - { - die('bad chronology field'); - } + isset( $fields[ $page['chronology_field'] ] ) or fatal_error('bad chronology field'); // Retrieve style if ( !isset( $styles[ $page['chronology_style'] ] ) ) @@ -198,7 +195,7 @@ WHERE id IN (' . implode(',',$page['items']) .')'; $page['items'] = array(); $must_show_list = false; } - + $page['comment'] = ''; $template->assign('FILE_CHRONOLOGY_VIEW', 'month_calendar.tpl'); diff --git a/include/functions_html.inc.php b/include/functions_html.inc.php index ff03675b1..ca07a1e16 100644 --- a/include/functions_html.inc.php +++ b/include/functions_html.inc.php @@ -650,6 +650,44 @@ function page_not_found($msg, $alternate_url=null) 5 ); } +/** + * exits the current script with 500 http code + * this method can be called at any time (does not use template/language/user etc...) + * @param string msg a message to display + */ +function fatal_error($msg) +{ + $btrace_msg = ''; + if (function_exists('debug_backtrace')) + { + $bt = debug_backtrace(); + for ($i=1; $ifiles[$handle]) ) { - trigger_error("Template->parse(): Couldn't load template file for handle $handle", E_USER_ERROR); + fatal_error("Template->parse(): Couldn't load template file for handle $handle"); } $this->smarty->assign( 'ROOT_URL', get_root_url() ); diff --git a/plugins/SwiftThemeCreator/simul/.cvsignore b/plugins/SwiftThemeCreator/simul/.cvsignore deleted file mode 100644 index 72e8ffc0d..000000000 --- a/plugins/SwiftThemeCreator/simul/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -* -- cgit v1.2.3