Fix for bigintval() which does only take numbers
[mailer.git] / inc / session-functions.php
index 8f1669f5a35cea9e09a2c1c2ceddf5d233ef1b4a..ca8a38fff1bfab6dccc20db7ac897deb3e5b4f10 100644 (file)
@@ -14,8 +14,6 @@
  * $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                           *
  * Copyright (c) 2009, 2010 by Mailer Developer Team                    *
@@ -45,7 +43,7 @@ if (!defined('__SECURITY')) {
 // Unset/set session variables
 function setSession ($var, $value) {
        // Abort in CSS mode here
-       if (getOutputMode() == 1) return true;
+       if (isCssOutputMode()) return true;
 
        // Trim value and session variable
        $var = trim(secureString($var)); $value = trim($value);
@@ -55,12 +53,24 @@ function setSession ($var, $value) {
                // Remove the session
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'UNSET:' . $var . '=' . getSession($var));
                unset($GLOBALS['_SESSION'][$var]);
-               return session_unregister($var);
+               if (phpversion() >= '5.3.1') {
+                       // session_unregister() is deprecated as of 5.3.1
+                       return true;
+               } else {
+                       // PHP version < 5.3.1
+                       return session_unregister($var);
+               }
        } elseif (('' . $value . '' != '') && (!isSessionVariableSet($var))) {
                // Set session
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'SET:' . $var . '=' . $value);
                $GLOBALS['_SESSION'][$var] =  $value;
-               return session_register($var);
+               if (phpversion() >= '5.3.1') {
+                       // session_unregister() is deprecated as of 5.3.1
+                       return true;
+               } else {
+                       // PHP version < 5.3.1
+                       return session_register($var);
+               }
        } elseif (!empty($value)) {
                // Update session
                //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'UPDATE:' . $var . '=' . $value);
@@ -107,12 +117,12 @@ function destroyMemberSession () {
 // Destroys the admin session
 function destroyAdminSession ($destroy = true) {
        // Kill maybe existing session variables including array elements
-       setSession('admin_login', '');
-       setSession('admin_md5'  , '');
-       setSession('admin_last' , '');
+       setAdminId(0);
+       setAdminMd5('');
+       setAdminLast('');
 
-       // Destroy session and return status
-       if ($destroy) {
+       // Destroy session if requested and return status
+       if ($destroy === true) {
                return session_destroy();
        } // END - if