]> git.mxchange.org Git - mailer.git/blobdiff - inc/session-functions.php
Continued on AJAX installer to start first step (more are easily to add)
[mailer.git] / inc / session-functions.php
index 384e3f465ec1a2d7df2195b81b1f31b524c6f28d..ebee5cf6f13ce77965ae8a9b48b57d943bf2ff9d 100644 (file)
@@ -122,27 +122,66 @@ 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
+       // 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']);
+
+       // 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__];
+}
+
+// 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;
+}
+
 // [EOF]
 ?>