]> git.mxchange.org Git - mailer.git/blobdiff - inc/session-functions.php
Fix for missing 4th parameter
[mailer.git] / inc / session-functions.php
index 384e3f465ec1a2d7df2195b81b1f31b524c6f28d..cea985df62ed930f8e1859b54832534b3c5cc836 100644 (file)
@@ -122,27 +122,51 @@ function destroyMemberSession ($destroy = FALSE) {
        // Remove all user data from session
        if ($destroy === TRUE) {
                // Destroy whole session
-               return session_destroy();
+               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
        setAdminId(0);
        setAdminMd5('');
        setAdminLast('');
 
+       // Set cache to FALSE
+       $GLOBALS['isAdmin'] = FALSE;
+
        // Destroy session if requested and return status
        if ($destroy === TRUE) {
-               return session_destroy();
+               return destroySession();
        } // END - if
 
        // All fine if we shall not really destroy the session
        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]
 ?>