X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Fglobal.php;h=73f4ef9b1c7f9814bcea81420878ffe980626f07;hb=055853be5be4b47b7d403c803eced05a9580c9c4;hp=81ccfafe5330986ef333e46c1e0c34829aecc9a9;hpb=6fe417ab9d6dcc115871cae158fd6665d9bd73be;p=squirrelmail.git diff --git a/functions/global.php b/functions/global.php index 81ccfafe..73f4ef9b 100644 --- a/functions/global.php +++ b/functions/global.php @@ -7,7 +7,7 @@ * It also has some session register functions that work across various * php versions. * - * @copyright © 1999-2006 The SquirrelMail Project Team + * @copyright © 1999-2007 The SquirrelMail Project Team * @license http://opensource.org/licenses/gpl-license.php GNU Public License * @version $Id$ * @package squirrelmail @@ -83,62 +83,6 @@ function sqstripslashes(&$array) { } } -/** - * Merges two variables into a single array - * - * Similar to PHP array_merge function, but provides same - * functionality as array_merge without losing array values - * with same key names. If the values under identical array - * keys are both strings and $concat_strings is TRUE, those - * values are concatenated together, otherwise they are placed - * in a sub-array and are merged (recursively) in the same manner. - * - * If either of the elements being merged is not an array, - * it will simply be added to the returned array. - * - * If both values are strings and $concat_strings is TRUE, - * a concatenated string is returned instead of an array. - * - * @param mixed $a First element to be merged - * @param mixed $b Second element to be merged - * @param boolean $concat_strings Whether or not string values - * should be concatenated instead - * of added to different array - * keys (default TRUE) - * - * @return array The merged $a and $b in one array - * - */ -function sq_array_merge($a, $b, $concat_strings=true) { - - $ret = array(); - - if (is_array($a)) { - $ret = $a; - } else { - if (is_string($a) && is_string($b) && $concat_strings) { - return $a . $b; - } - $ret[] = $a; - } - - - if (is_array($b)) { - foreach ($b as $key => $value) { - if (isset($ret[$key])) { - $ret[$key] = sq_array_merge($ret[$key], $value, $concat_strings); - } else { - $ret[$key] = $value; - } - } - } else { - $ret[] = $b; - } - - return $ret; - -} - /** * Add a variable to the session. * @param mixed $var the variable to register @@ -149,9 +93,7 @@ function sqsession_register ($var, $name) { sqsession_is_active(); - $_SESSION["$name"] = $var; - - session_register("$name"); + $_SESSION[$name] = $var; } /** @@ -185,6 +127,91 @@ function sqsession_is_registered ($name) { return $result; } + +/** + * Retrieves a form variable, from a set of possible similarly named + * form variables, based on finding a different, single field. This + * is intended to allow more than one same-named inputs in a single + *