")) { $_SERVER['REQUEST_TIME'] = time(); include(ESYN_INCLUDES."compat.inc.php"); $old_error_handler = set_error_handler("esynErrorHandler"); } else { $old_error_handler = set_error_handler("esynErrorHandler", E_ALL ^ E_NOTICE); $timezone = ini_get('date.timezone'); if (empty($timezone)) { date_default_timezone_set('UTC'); } } if(ESYN_DEBUG == 0) { ini_set("display_errors", "0"); } function esynErrorHandler($errno, $errstr, $errfile, $errline) { if (ESYN_DEBUG == 0) { return true; } if (error_reporting() == 0) { return; } $exit = false; switch ($errno) { case E_NOTICE: $log_file = "notice.log"; $log_msg ="NOTICE: {$errstr} "; break; case E_USER_NOTICE: $log_file = "user_notice.log"; $log_msg ="USER_NOTICE: {$errstr} "; break; case E_WARNING: $log_file = "error.log"; $log_msg ="WARNING: {$errstr} "; break; case E_USER_ERROR: $log_file = "error.log"; $log_msg = "FATAL_USER_ERROR: {$errstr} "; $exit = true; break; case E_USER_WARNING: $log_file = "error.log"; $log_msg ="eSynDicat WARNING: {$errstr} "; break; default: $log_file = "error.log"; $log_msg = $errstr.' '; break; } $errfile = str_replace(ESYN_ROOT,"", $errfile); $log_file = ESYN_TMP."log".ESYN_DS.$log_file; $log_msg_date = "[ ".date("d M Y H:i:s")." ]\t"; $log_msg .= "{$log_msg_date} in $errfile:$errline\n\n"; if (ESYN_DEBUG > 0) { if (!file_exists(dirname($log_file))) { $result = @mkdir(dirname($log_file), 0777); if (!$result) { echo esyn_display_error("Directory Creation Error | tmp_dir_permissions | Can not create the 'tmp/log' directory."); exit; } } if (is_writeable(dirname($log_file))) { if (file_exists($log_file)) { if (!is_writeable($log_file)) { chmod($log_file, 0777); } } file_put_contents($log_file, $log_msg, FILE_APPEND); } else { echo esyn_display_error("Directory Permissions Error | dir_permissions_error | The 'tmp/log' directory is not writable. Please set writable permissions."); exit; } } if ($exit) { echo esyn_display_error($errstr); exit; } if (ESYN_DEBUG > 0) { echo nl2br($log_msg); } } function esyn_display_error($errstr) { $content = file_get_contents(ESYN_INCLUDES.'common'.ESYN_DS.'error_handler.html'); $error_solutions = ''; list($error_title, $error_key, $error_description) = explode(' | ', $errstr); switch($error_key) { case 'db_connect_error': $error_solutions .= 'Below is a list of possible solutions:'; $error_solutions .= ''; break; case 'db_select_error': $error_solutions .= 'Below is a list of possible solutions:'; $error_solutions .= ''; break; case 'tmp_dir_absent': $error_solutions .= 'Below is a list of possible solutions:'; $error_solutions .= ""; break; case 'tmp_dir_permissions': $error_solutions .= 'Below is a list of possible solutions:'; $error_solutions .= ""; break; case 'dir_permissions_error': $error_solutions .= 'Below is a list of possible solutions:'; $error_solutions .= ""; break; } if (empty($error_key)) { $error_key = 'docs'; } $search = array('{title}', '{base_url}', '{error_title}', '{error_description}', '{error_solutions}', '{error_key}', '{additional}'); $replace = array($error_title.' :: eSyndiCat Directory Software '.ESYN_VERSION, ESYN_URL, $error_title, $error_description, $error_solutions, $error_key, ''); $content = str_replace($search, $replace, $content); return $content; } /** * strip_params used when magic quotes is on * * @access public * @return void */ function strip_params() { $in = array(&$_GET, &$_POST, &$_COOKIE, &$_FILES); while (list($k,$v) = each($in)) { foreach ($v as $key => $val) { if (!is_array($val)) { $in[$k][$key] = stripslashes($val); continue; } $in[] =& $in[$k][$key]; } } unset($in); }