X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=src%2Fvalidate.php;h=0c0688c18e40e7e827444423670220e2630ddb49;hp=e8542ce9ca4c50541a2cb32720b2444f9320ef8e;hb=23d6bd09c631285eae8c45af3a37aa7c86be3cfa;hpb=d4e84069d1d9af8760b8e858672d3ea3d4eac8b0 diff --git a/src/validate.php b/src/validate.php index e8542ce9..0c0688c1 100644 --- a/src/validate.php +++ b/src/validate.php @@ -1,114 +1,73 @@ $v) { - global $$k; - if (is_array($$k)) { - foreach ($$k as $k2 => $v2) { - $$k[$k2] = substr($v2, 1); - } - } else { - $$k = substr($v, 1); - } - // Re-assign back to array - $array[$k] = $$k; - } - } - - - //************************************************************************** - // Removes slashes from every element in the array - //************************************************************************** - function RemoveSlashes(&$array) - { - foreach ($array as $k => $v) - { - global $$k; - if (is_array($$k)) - { - foreach ($$k as $k2 => $v2) - { - $newArray[stripslashes($k2)] = stripslashes($v2); - } - $$k = $newArray; - } - else - { - $$k = stripslashes($v); - } - // Re-assign back to the array - $array[$k] = $$k; - } - } + /** + * Auto-detection + * + * if $send (the form button's name) contains "\n" as the first char + * and the script is compose.php, then trim everything. Otherwise, we + * don't have to worry. + * + * This is for a RedHat package bug and a Konqueror (pre 2.1.1?) bug + */ + global $send, $PHP_SELF; + if (isset($send) + && (substr($send, 0, 1) == "\n") + && (substr($PHP_SELF, -12) == '/compose.php')) { + if ($REQUEST_METHOD == "POST") { + global $HTTP_POST_VARS; + TrimArray($HTTP_POST_VARS); + } else { + global $HTTP_GET_VARS; + TrimArray($HTTP_GET_VARS); + } + } - // Everyone needs stuff from config, and config needs stuff from - // strings.php, so include them both here. - // Include them down here instead of at the top so that all config - // variables overwrite any passed in variables (for security) - include ('../functions/strings.php'); - include ('../config/config.php'); - include ('../src/load_prefs.php'); - include ('../functions/page_header.php'); + /** + * Everyone needs stuff from config, and config needs stuff from + * strings.php, so include them both here. Actually, strings is + * included at the top now as the string array functions have + * been moved into it. + * + * Include them down here instead of at the top so that all config + * variables overwrite any passed in variables (for security). + */ + require_once('../config/config.php'); + require_once('../src/load_prefs.php'); + require_once('../functions/page_header.php'); + require_once('../functions/prefs.php'); - // Set up the language - // i18n.php was included by auth.php - global $username, $data_dir; - set_up_language(getPref($data_dir, $username, 'language')); + /* Set up the language (i18n.php was included by auth.php). */ + global $username, $data_dir; + set_up_language(getPref($data_dir, $username, 'language')); ?>