X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=include%2Finit.php;h=d12b71d83dcaef6c42858ab46af8b79a5e63b73c;hp=d677942d77d4e95127f5e8cee9d2f04b6c94fd01;hb=da0135f62f730728c0c08c1ce5786c6332a366f2;hpb=bc3acc5a08b71cd6c73daff3e3a524f76223be4e diff --git a/include/init.php b/include/init.php index d677942d..d12b71d8 100644 --- a/include/init.php +++ b/include/init.php @@ -14,8 +14,10 @@ /** * This is a development version so in order to track programmer mistakes we * set the error reporting to E_ALL +FIXME: disabling this for now, because we now have $sm_debug_mode, but the problem with that is that we don't know what it will be until we have loaded the config file, a good 175 lines below after several important files have been included, etc. For now, we'll trust that developers have turned on E_ALL in php.ini anyway, but this can be uncommented if not. */ -error_reporting(E_ALL); +//error_reporting(E_ALL); + /** @@ -148,6 +150,7 @@ $color[14] = '#ff0000'; /* (red) Color for quoted text -- >> 2 or more $color[15] = '#002266'; /* (dark blue) Unselectable folders */ $color[16] = '#ff9933'; /* (orange) Highlight color */ +require(SM_PATH . 'include/constants.php'); require(SM_PATH . 'functions/global.php'); require(SM_PATH . 'functions/strings.php'); require(SM_PATH . 'functions/arrays.php'); @@ -169,8 +172,22 @@ if (file_exists(SM_PATH . 'config/config_local.php')) { require(SM_PATH . 'config/config_local.php'); } + +/** + * Set PHP error reporting level based on the SquirrelMail debug mode + */ +$error_level = 0; +if ($sm_debug_mode & SM_DEBUG_MODE_SIMPLE) + $error_level |= E_ERROR; +if ($sm_debug_mode & SM_DEBUG_MODE_MODERATE + || $sm_debug_mode & SM_DEBUG_MODE_ADVANCED) + $error_level |= E_ALL; +if ($sm_debug_mode & SM_DEBUG_MODE_STRICT) + $error_level |= E_STRICT; +error_reporting($error_level); + + require(SM_PATH . 'functions/plugin.php'); -require(SM_PATH . 'include/constants.php'); require(SM_PATH . 'include/languages.php'); require(SM_PATH . 'class/template/Template.class.php'); require(SM_PATH . 'class/error.class.php'); @@ -374,7 +391,8 @@ do_hook('config_override', $null); * * Code can be utilized when session is started, but data is not loaded. * We have already loaded configuration and other important vars. Can't - * clean session globals here. + * clean session globals here, beside, the cleanout of globals at the + * top of this file will have removed anything this code would find anyway. if ((bool) @ini_get('register_globals') && strtolower(ini_get('register_globals'))!='off') { foreach ($_SESSION as $key => $value) { @@ -394,7 +412,7 @@ if (! sqgetGlobalVar('squirrelmail_language',$squirrelmail_language,SQ_COOKIE)) /** - * Do something special for some pages. This is based on the PAGE_NAME constand + * Do something special for some pages. This is based on the PAGE_NAME constant * set at the top of every page. */ switch (PAGE_NAME) { @@ -430,6 +448,10 @@ switch (PAGE_NAME) { session_write_close(); break; + case 'mailto': + // nothing to do + break; + case 'redirect': require(SM_PATH . 'functions/auth.php'); //nobreak; @@ -531,8 +553,6 @@ switch (PAGE_NAME) { exit; } -//FIXME: remove next line if the placement of the copy of this line above does not prove to be problematic - sqgetGlobalVar('username',$username,SQ_SESSION); sqgetGlobalVar('authz',$authz,SQ_SESSION); /** @@ -574,12 +594,9 @@ switch (PAGE_NAME) { // Japanese translation used without mbstring support if ($err==2) { - $sError = - "

You need to have PHP installed with the multibyte string function \n". - "enabled (using configure option --enable-mbstring).

\n". - "

System assumed that you accidently switched to Japanese translation \n". - "and reverted your language preference to English.

\n". - "

Please refresh this page in order to use webmail.

\n"; + $sError = "

Your administrator needs to have PHP installed with the multibyte string extension enabled (using configure option --enable-mbstring).

\n" + . "

This system has assumed that you accidently switched to Japanese and has reverted your language preference to English.

\n" + . "

Please refresh this page in order to continue using your webmail.

\n"; error_box($sError); } @@ -650,6 +667,7 @@ if (empty($oTemplate)) { } // We want some variables to always be available to the template +// $oTemplate->assign('javascript_on', (sqGetGlobalVar('user_is_logged_in', $user_is_logged_in, SQ_SESSION) ? checkForJavascript() : 0)); @@ -659,6 +677,11 @@ foreach ($always_include as $var) { $oTemplate->assign($var, (isset($$var) ? $$var : NULL)); } +// A few output elements are used often, so just get them once here +// +$nbsp = $oTemplate->fetch('non_breaking_space.tpl'); +$br = $oTemplate->fetch('line_break.tpl'); + /** * Initialize our custom error handler object */ @@ -673,6 +696,12 @@ if (version_compare(PHP_VERSION, "4.3.0", ">=")) { $oldErrorHandler = set_error_handler('SquirrelMailErrorhandler'); } + +// ============================================================================ +// ================= End of Live Code, Beginning of Functions ================= +// ============================================================================ + + /** * Javascript support detection function * @param boolean $reset recheck javascript support if set to true.