<?php
/************************************************************************
- * MXChange v0.2.1 Start: 02/28/2009 *
- * =============== Last change: 02/28/2009 *
+ * Mailer v0.2.1-FINAL Start: 02/28/2009 *
+ * =================== Last change: 02/28/2009 *
* *
* -------------------------------------------------------------------- *
* File : session-functions.php *
* $Date:: $ *
* $Tag:: 0.2.1-FINAL $ *
* $Author:: $ *
- * Needs to be in all Files and every File needs "svn propset *
- * svn:keywords Date Revision" (autoprobset!) at least!!!!!! *
* -------------------------------------------------------------------- *
* Copyright (c) 2003 - 2009 by Roland Haeder *
- * For more information visit: http://www.mxchange.org *
+ * Copyright (c) 2009 - 2012 by Mailer Developer Team *
+ * For more information visit: http://mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
// Some security stuff...
if (!defined('__SECURITY')) {
die();
-}
+} // END - if
// Unset/set session variables
function setSession ($var, $value) {
// Abort in CSS mode here
- if (getOutputMode() == 1) return true;
+ if (isCssOutputMode()) {
+ return TRUE;
+ } // END - if
// Trim value and session variable
- $var = trim(SQL_ESCAPE($var)); $value = trim($value);
+ $var = trim(secureString($var));
+ $value = trim($value);
// Is the session variable set?
- if ((''.$value.'' == '') && (isSessionVariableSet($var))) {
+ if (('' . $value . '' == '') && (isSessionVariableSet($var))) {
// Remove the session
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, "UNSET:".$var.'='.getSession($var));
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'UNSET:' . $var . '=' . getSession($var));
unset($GLOBALS['_SESSION'][$var]);
- return session_unregister($var);
- } elseif (("".$value."" != '') && (!isSessionVariableSet($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: */ logDebugMessage(__FUNCTION__, __LINE__, "SET:".$var.'='.$value);
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'SET:' . $var . '=' . $value);
$GLOBALS['_SESSION'][$var] = $value;
- return session_register($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_register($var);
+ }
} elseif (!empty($value)) {
// Update session
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, "UPDATE:".$var.'='.$value);
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'UPDATE:' . $var . '=' . $value);
$GLOBALS['_SESSION'][$var] = $value;
- return true;
+ return TRUE;
}
// Ignored (but valid)
- //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, "IGNORED:".$var.'='.$value);
- 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: */ logDebugMessage(__FUNCTION__, __LINE__, "var={$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
+// Returns whether the value of the session variable or NULL if not set
function getSession ($var) {
- // Default is not found! ;-)
- $value = null;
+ // Default is not found ;-)
+ $value = NULL;
// Is the variable there?
if (isSessionVariableSet($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 destroyUserSession () {
+function destroyMemberSession ($destroy = FALSE) {
// Reset userid
- setUserId(0);
+ initMemberId();
// Remove all user data from session
- return ((setSession('userid', '')) && (setSession('u_hash', '')));
+ if ($destroy === TRUE) {
+ // Destroy whole session
+ return destroySession();
+ } else {
+ return ((setSession('userid', '')) && (setSession('u_hash', '')));
+ }
}
// Destroys the admin session
-function destroyAdminSession ($destroy = true) {
+function destroyAdminSession ($destroy = FALSE) {
// Kill maybe existing session variables including array elements
- setSession('admin_login', '');
- setSession('admin_md5' , '');
- setSession('admin_last' , '');
- setSession('admin_to' , '');
-
- // Destroy session and return status
- if ($destroy) {
- return session_destroy();
+ setAdminId(0);
+ setAdminMd5('');
+ setAdminLast('');
+
+ // Set cache to FALSE
+ $GLOBALS['isAdmin'] = FALSE;
+
+ // Destroy session if requested and return status
+ if ($destroy === TRUE) {
+ return destroySession();
} // END - if
// All fine if we shall not really destroy the session
- return true;
+ return TRUE;
+}
+
+// Destroys session and resets some "caches"
+function destroySession () {
+ // Unset "cache"
+ unset($GLOBALS['isSessionValid']);
+
+ // Destroy session
+ return session_destroy();
+}
+
+// Checks whether the session is valid
+function isSessionValid () {
+ // Is there cache?
+ if (!isset($GLOBALS[__FUNCTION__])) {
+ // Then determine it
+ $GLOBALS[__FUNCTION__] = ((isset($GLOBALS['valid_session'])) && ($GLOBALS['valid_session'] === TRUE) && (isset($_COOKIE[session_name()])));
+ } // END - if
+
+ // Return cache
+ return $GLOBALS[__FUNCTION__];
}
// [EOF]