X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Fglobal.php;h=0c19df8867be16ffd7a227fa26dcfe9749396790;hb=0e3b9a5a28f98305251f2ac392924b6bc1021cbc;hp=e01cbb6c4a8585756e184421de0a7974985c0289;hpb=f79c19a48bf98f3b990aeca732c911b556d8c7cd;p=squirrelmail.git diff --git a/functions/global.php b/functions/global.php index e01cbb6c..0c19df88 100644 --- a/functions/global.php +++ b/functions/global.php @@ -1,9 +1,9 @@ 0) { foreach ($array as $index=>$value) { @@ -115,6 +138,12 @@ function sqstripslashes(&$array) { } } +/** + * Add a variable to the session. + * @param mixed $var the variable to register + * @param string $name the name to refer to this variable + * @return void + */ function sqsession_register ($var, $name) { sqsession_is_active(); @@ -129,6 +158,11 @@ function sqsession_register ($var, $name) { session_register("$name"); } +/** + * Delete a variable from the session. + * @param string $name the name of the var to delete + * @return void + */ function sqsession_unregister ($name) { sqsession_is_active(); @@ -143,6 +177,12 @@ function sqsession_unregister ($name) { session_unregister("$name"); } +/** + * Checks to see if a variable has already been registered + * in the session. + * @param string $name the name of the var to check + * @return bool whether the var has been registered + */ function sqsession_is_registered ($name) { $test_name = &$name; $result = false; @@ -167,6 +207,7 @@ define('SQ_POST',2); define('SQ_SESSION',3); define('SQ_COOKIE',4); define('SQ_SERVER',5); +define('SQ_FORM',6); /** * Search for the var $name in $_SESSION, $_POST, $_GET, @@ -184,8 +225,10 @@ define('SQ_SERVER',5); * sqgetGlobalVar('username',$username,SQ_SESSION); * -- no quotes around last param! * - * Returns FALSE if variable is not found. - * Returns TRUE if it is. + * @param string name the name of the var to search + * @param mixed value the variable to return + * @param int search constant defining where to look + * @return bool whether variable is found. */ function sqgetGlobalVar($name, &$value, $search = SQ_INORDER) { @@ -209,7 +252,7 @@ function sqgetGlobalVar($name, &$value, $search = SQ_INORDER) { so that if a valid value isn't specified, all three arrays will be searched. */ default: - case SQ_INORDER: + case SQ_INORDER: // check session, post, get case SQ_SESSION: if( isset($_SESSION[$name]) ) { $value = $_SESSION[$name]; @@ -217,6 +260,7 @@ function sqgetGlobalVar($name, &$value, $search = SQ_INORDER) { } elseif ( $search == SQ_SESSION ) { break; } + case SQ_FORM: // check post, get case SQ_POST: if( isset($_POST[$name]) ) { $value = $_POST[$name]; @@ -247,6 +291,10 @@ function sqgetGlobalVar($name, &$value, $search = SQ_INORDER) { return FALSE; } +/** + * Deletes an existing session, more advanced than the standard PHP + * session_destroy(), it explicitly deletes the cookies and global vars. + */ function sqsession_destroy() { /* @@ -279,7 +327,7 @@ function sqsession_destroy() { } -/* +/** * Function to verify a session has been started. If it hasn't * start a session up. php.net doesn't tell you that $_SESSION * (even though autoglobal), is not created unless a session is