From: pdontthink Date: Fri, 18 May 2007 12:22:01 +0000 (+0000) Subject: Minor adjustments to variable_orders & gpc_order checks. "Special thanks" to Tomas... X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=47fa8e9b48dcd34b60bd0af76eb57643aeeb2c0a;p=squirrelmail.git Minor adjustments to variable_orders & gpc_order checks. "Special thanks" to Tomas for "not informing" about his "pet project". git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@12417 7612ce4b-ef26-0410-bec9-ea0150e637f0 --- diff --git a/src/configtest.php b/src/configtest.php index d5a4fa2e..703645f6 100644 --- a/src/configtest.php +++ b/src/configtest.php @@ -209,32 +209,42 @@ if ((bool) ini_get('register_globals') && // latter is sure to be highly rare, so for now, just assume // that empty value means the setting isn't even available // (could also check PHP version when this setting was implemented) -$variables_order = ini_get('variables_order'); -if (!empty($variables_order) && (strpos($variables_order, 'G') === FALSE +// although, we'll also warn the user if it is empty, with +// a non-fatal error +$variables_order = strtoupper(ini_get('variables_order')); +if (empty($variables_order)) + do_err('Your variables_order setting seems to be empty. Make sure it is undefined in any PHP ini files, .htaccess files, etc. and not specifically set to an empty value or SquirrelMail may not function correctly', false); +else if (strpos($variables_order, 'G') === FALSE || strpos($variables_order, 'P') === FALSE || strpos($variables_order, 'C') === FALSE - || strpos($variables_order, 'S') === FALSE)) { - do_err('Your variables_order setting is insufficient for SquirrelMail to function. It needs at least "GPCS", but you have it set to "' . $variables_order . '"', true); + || strpos($variables_order, 'S') === FALSE) { + do_err('Your variables_order setting is insufficient for SquirrelMail to function. It needs at least "GPCS", but you have it set to "' . htmlspecialchars($variables_order) . '"', true); } else { echo $IND . "variables_order OK: $variables_order.
\n"; } -/* gpc_order check */ - -// FIXME(?): Hmm, how do we distinguish between when an ini setting is -// not available (ini_set() returns empty string) and when -// the administrator set the value to an empty string? The -// latter is sure to be highly rare, so for now, just assume -// that empty value means the setting isn't even available -// (could also check PHP version when this setting was implemented) -$gpc_order = ini_get('gpc_order'); -if (!empty($gpc_order) && (strpos($gpc_order, 'G') === FALSE - || strpos($gpc_order, 'P') === FALSE - || strpos($gpc_order, 'C') === FALSE)) { - do_err('Your gpc_order setting is insufficient for SquirrelMail to function. It needs to be set to "GPC", but you have it set to "' . $gpc_order . '"', true); -} else { - echo $IND . "gpc_order OK: $gpc_order.
\n"; +/* gpc_order check (removed from PHP as of v5.0) */ + +if (!check_php_version(5)) { + // FIXME(?): Hmm, how do we distinguish between when an ini setting is + // not available (ini_set() returns empty string) and when + // the administrator set the value to an empty string? The + // latter is sure to be highly rare, so for now, just assume + // that empty value means the setting isn't even available + // (could also check PHP version when this setting was implemented) + // although, we'll also warn the user if it is empty, with + // a non-fatal error + $gpc_order = strtoupper(ini_get('gpc_order')); + if (empty($gpc_order)) + do_err('Your gpc_order setting seems to be empty. Make sure it is undefined in any PHP ini files, .htaccess files, etc. and not specifically set to an empty value or SquirrelMail may not function correctly', false); + else if (strpos($gpc_order, 'G') === FALSE + || strpos($gpc_order, 'P') === FALSE + || strpos($gpc_order, 'C') === FALSE) { + do_err('Your gpc_order setting is insufficient for SquirrelMail to function. It needs to be set to "GPC", but you have it set to "' . htmlspecialchars($gpc_order) . '"', true); + } else { + echo $IND . "gpc_order OK: $gpc_order.
\n"; + } }