X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Fsession-functions.php;h=7601911fc83cda7d869817202f844b493098a9eb;hb=6bd47661d7ec406cd276f0835364b1e3f933d6c8;hp=c406d0887a47b3d100e3b263d30e908331cb134a;hpb=508228c85fba8448d00865b1639cb8cd7a69e457;p=mailer.git diff --git a/inc/session-functions.php b/inc/session-functions.php index c406d0887a..7601911fc8 100644 --- a/inc/session-functions.php +++ b/inc/session-functions.php @@ -1,7 +1,7 @@ \n"; - unset($_SESSION[$var]); - return session_unregister($var); - } elseif (("".$value."" != '') && (!isSessionVariableSet($var))) { + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'UNSET:' . $var . '=' . getSession($var)); + unset($GLOBALS['_SESSION'][$var]); + if (isPhpVersionEqualNewer('5.3.0')) { + // session_unregister() is deprecated as of 5.3.0 + return TRUE; + } else { + // PHP version < 5.3.0 + return session_unregister($var); + } + } elseif (('' . $value . '' != '') && (!isSessionVariableSet($var))) { // Set session - //* DEBUG: */ echo "SET:".$var."=".$value."
\n"; - $_SESSION[$var] = $value; - return session_register($var); + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'SET:' . $var . '=' . $value); + $GLOBALS['_SESSION'][$var] = $value; + if (isPhpVersionEqualNewer('5.3.0')) { + // session_unregister() is deprecated as of 5.3.0 + return TRUE; + } else { + // PHP version < 5.3.0 + return session_register($var); + } } elseif (!empty($value)) { // Update session - //* DEBUG: */ echo "UPDATE:".$var."=".$value."
\n"; - $_SESSION[$var] = $value; - return true; + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'UPDATE:' . $var . '=' . $value); + $GLOBALS['_SESSION'][$var] = $value; + return TRUE; } // Ignored (but valid) - //* DEBUG: */ echo "IGNORED:".$var."=".$value."
\n"; - return true; + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'IGNORED:' . $var . '=' . $value); + return TRUE; } -// Check wether a session variable is set +// Check whether a session variable is set function isSessionVariableSet ($var) { - //* DEBUG: */ print __FUNCTION__."(".__LINE__."):var={$var}
\n"; - return (isset($_SESSION[$var])); + // Warning: DO NOT call logDebugMessage() from here, this will cause an endless loop + return (isset($GLOBALS['_SESSION'][$var])); } -// Returns wether the value of the session variable or NULL if not set -function get_session ($var) { - // Default is not found! ;-) - $value = null; - - // Is the variable there or cached values? - if (isset($GLOBALS['cache_array']['session'][$var])) { - // Get cached value (skips a lot SQL_ESCAPE() calles! - //* DEBUG: */ print __FUNCTION__."(".__LINE__."): ".$var."-CACHE!
\n"; - $value = $GLOBALS['cache_array']['session'][$var]; - } elseif (isSessionVariableSet($var)) { - // Then get it secured! - //* DEBUG: */ print __FUNCTION__."(".__LINE__."): ".$var."-RESOLVE!
\n"; - $value = SQL_ESCAPE($_SESSION[$var]); +// Returns whether the value of the session variable or NULL if not set +function getSession ($var) { + // Default is not found ;-) + $value = NULL; - // Cache the value - $GLOBALS['cache_array']['session'][$var] = $value; + // Is the variable there? + if (isSessionVariableSet($var)) { + // Then get it secured! + $value = SQL_ESCAPE($GLOBALS['_SESSION'][$var]); } // END - if // Return the value + //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, $var . '=' . $value); return $value; } +// Get whole session array +function getSessionArray () { + // Simply return it + return $GLOBALS['_SESSION']; +} + // Destroy user session -function destroy_user_session () { +function destroyMemberSession ($destroy = FALSE) { // Reset userid - setUserId(0); + initMemberId(); // Remove all user data from session - return ((set_session('userid', "")) && (set_session('u_hash', ""))); + if ($destroy === TRUE) { + // Destroy whole session + return session_destroy(); + } else { + return ((setSession('userid', '')) && (setSession('u_hash', ''))); + } } // Destroys the admin session -function destroyAdminSession ($destroy = true) { +function destroyAdminSession ($destroy = TRUE) { // Kill maybe existing session variables including array elements - set_session('admin_login', ""); - set_session('admin_md5' , ""); - set_session('admin_last' , ""); - set_session('admin_to' , ""); + setAdminId(0); + setAdminMd5(''); + setAdminLast(''); + + // Set cache to FALSE + $GLOBALS['isAdmin'] = FALSE; - // Destroy session and return status - if ($destroy) { + // Destroy session if requested and return status + if ($destroy === TRUE) { return session_destroy(); } // END - if // All fine if we shall not really destroy the session - return true; + return TRUE; } // [EOF]