]> git.mxchange.org Git - mailer.git/blobdiff - inc/session-functions.php
No reference to bitcoin (except template).
[mailer.git] / inc / session-functions.php
index cea985df62ed930f8e1859b54832534b3c5cc836..8feefa3302c17793a901c93630028fd90add42fb 100644 (file)
  * -------------------------------------------------------------------- *
  * Kurzbeschreibung  : Sitzungsrelevante Funktionen                     *
  * -------------------------------------------------------------------- *
- * $Revision::                                                        $ *
- * $Date::                                                            $ *
- * $Tag:: 0.2.1-FINAL                                                 $ *
- * $Author::                                                          $ *
- * -------------------------------------------------------------------- *
  * Copyright (c) 2003 - 2009 by Roland Haeder                           *
- * Copyright (c) 2009 - 2012 by Mailer Developer Team                   *
+ * Copyright (c) 2009 - 2013 by Mailer Developer Team                   *
  * For more information visit: http://mxchange.org                      *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
@@ -44,6 +39,7 @@ if (!defined('__SECURITY')) {
 function setSession ($var, $value) {
        // Abort in CSS mode here
        if (isCssOutputMode()) {
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Is CSS mode:' . $var . '=' . $value);
                return TRUE;
        } // END - if
 
@@ -55,7 +51,7 @@ function setSession ($var, $value) {
        if (('' . $value . '' == '') && (isSessionVariableSet($var))) {
                // Remove the session
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'UNSET:' . $var . '=' . getSession($var));
-               unset($GLOBALS['_SESSION'][$var]);
+               unset($_SESSION[$var]);
                if (isPhpVersionEqualNewer('5.3.0')) {
                        // session_unregister() is deprecated as of 5.3.0
                        return TRUE;
@@ -66,7 +62,7 @@ function setSession ($var, $value) {
        } elseif (('' . $value . '' != '') && (!isSessionVariableSet($var))) {
                // Set session
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'SET:' . $var . '=' . $value);
-               $GLOBALS['_SESSION'][$var] =  $value;
+               $_SESSION[$var] = $value;
                if (isPhpVersionEqualNewer('5.3.0')) {
                        // session_unregister() is deprecated as of 5.3.0
                        return TRUE;
@@ -77,7 +73,7 @@ function setSession ($var, $value) {
        } elseif (!empty($value)) {
                // Update session
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'UPDATE:' . $var . '=' . $value);
-               $GLOBALS['_SESSION'][$var] = $value;
+               $_SESSION[$var] = $value;
                return TRUE;
        }
 
@@ -89,29 +85,36 @@ function setSession ($var, $value) {
 // Check whether a session variable is set
 function isSessionVariableSet ($var) {
        // Warning: DO NOT call logDebugMessage() from here, this will cause an endless loop
-       return (isset($GLOBALS['_SESSION'][$var]));
+       return (isset($_SESSION[$var]));
 }
 
 // Returns whether the value of the session variable or NULL if not set
 function getSession ($var) {
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'var=' . $var . ' - CALLED!');
        // Default is not found ;-)
        $value = NULL;
 
        // Is the variable there?
        if (isSessionVariableSet($var)) {
                // Then  get it secured!
-               $value = SQL_ESCAPE($GLOBALS['_SESSION'][$var]);
+               if ((isInstaller()) || (!isSqlLinkUp())) {
+                       // Secure string without escaping (and compiling)
+                       $value = secureString($_SESSION[$var]);
+               } else {
+                       // Escape string with SQL driver
+                       $value = sqlEscapeString($_SESSION[$var]);
+               }
        } // END - if
 
        // Return the value
-       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, $var . '=' . $value);
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, $var . '=' . $value . ' - EXIT!');
        return $value;
 }
 
 // Get whole session array
 function getSessionArray () {
        // Simply return it
-       return $GLOBALS['_SESSION'];
+       return $_SESSION;
 }
 
 // Destroy user session
@@ -133,31 +136,31 @@ function destroyAdminSession ($destroy = FALSE) {
        // Kill maybe existing session variables including array elements
        setAdminId(0);
        setAdminMd5('');
-       setAdminLast('');
+       setAdminLast(0);
 
-       // Set cache to FALSE
-       $GLOBALS['isAdmin'] = FALSE;
+       // Remove "cache"
+       unset($GLOBALS['isAdmin']);
 
        // Destroy session if requested and return status
        if ($destroy === TRUE) {
                return destroySession();
        } // END - if
 
-       // All fine if we shall not really destroy the session
+       // All fine if the session shall not really be destroyed
        return TRUE;
 }
 
 // Destroys session and resets some "caches"
 function destroySession () {
        // Unset "cache"
-       unset($GLOBALS['isSessionValid']);
+       unset($GLOBALS['isValidSession']);
 
        // Destroy session
        return session_destroy();
 }
 
 // Checks whether the session is valid
-function isSessionValid () {
+function isValidSession () {
        // Is there cache?
        if (!isset($GLOBALS[__FUNCTION__])) {
                // Then determine it
@@ -168,5 +171,46 @@ function isSessionValid () {
        return $GLOBALS[__FUNCTION__];
 }
 
+// Checks whether all given session data is set
+function isSessionDataSet ($sessionData) {
+       // Default is set
+       $isset = TRUE;
+
+       // Check all
+       foreach ($sessionData as $key) {
+               // Is this element set?
+               $isset = (($isset) && (isSessionVariableSet($key)));
+       } // END - foreach
+
+       // Return result
+       return $isset;
+}
+
+// Initializes session
+function initSession () {
+       //* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'CALLED!');
+
+       // Is ext-sql_patches there and newer?
+       if (isExtensionInstalledAndNewer('sql_patches', '0.5.3')) {
+               // Set session save path if set
+               if ((isConfigEntrySet('session_save_path')) && (getConfig('session_save_path') != '')) {
+                       // Please make sure this valid!
+                       session_save_path(getConfig('session_save_path'));
+               } // END - if
+       } // END - if
+
+       // Is a session id there?
+       if (!isValidSession()) {
+               // Start the session
+               //* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'Initializing session ...');
+               $GLOBALS['valid_session']  = session_start();
+               $GLOBALS['isValidSession'] = TRUE;
+
+               //* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'session_id=' . session_id());
+       } // END - if
+
+       //* NOISY-DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'EXIT!');
+}
+
 // [EOF]
 ?>