function setSession ($var, $value) {
// Abort in CSS mode here
if (isCssOutputMode()) {
- return true;
+ return TRUE;
} // END - if
// Trim value and session variable
unset($GLOBALS['_SESSION'][$var]);
if (isPhpVersionEqualNewer('5.3.0')) {
// session_unregister() is deprecated as of 5.3.0
- return true;
+ return TRUE;
} else {
// PHP version < 5.3.0
return session_unregister($var);
$GLOBALS['_SESSION'][$var] = $value;
if (isPhpVersionEqualNewer('5.3.0')) {
// session_unregister() is deprecated as of 5.3.0
- return true;
+ return TRUE;
} else {
// PHP version < 5.3.0
return session_register($var);
// Update session
//* 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;
+ return TRUE;
}
// Check whether a session variable is set
}
// Destroy user session
-function destroyMemberSession ($destroy = false) {
+function destroyMemberSession ($destroy = FALSE) {
// Reset userid
initMemberId();
// Remove all user data from session
- if ($destroy === true) {
+ 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();
+ 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]