public static function DESTROY() { ///######## IF A SESSION HAS BEEN STARTED if (self::$sessionState == self::SESSION_STARTED) { ///########================================================== ///######## IF A CUSTOM CALLER FUNCTION HAS BEEN SET ON EXIT ///########================================================== if (isset(self::$CallerFunctions['onexit']) === true) { ///######## SET THE FUNCTION TITLE $FunctionTitle = self::$CallerFunctions['onexit']; ///######## EXECUTE THE CUSTOM CALLER FUNCTION $FunctionTitle(self::$CurrentSession); } ///########================================================== ///########================================================== ///######## IF THE SESSION HAS BEEN WRITTEN IN A SESSION DIRECTORY ///########================================================== ///######## IF ANY SESSION DIR HAS BEEN GIVEN if (self::$sessiondir !== NULL) { ///######## DELETE THE SESSION FILE self::DeleteSessionFile(); } ///########================================================== ///########================================================== ///######## REGENERATE THE SESSION ID AND DELETE THE OLD ONE ///########================================================== session_regenerate_id(); ///########================================================== ///########================================================== ///######## IF THE SESSION STATE IS NOT DESTROY ///########================================================== self::$sessionState = !session_destroy(); ///########================================================== ///########================================================== ///####### RESET THE SESSION ///########================================================== $_SESSION = array(); ///########================================================== ///########================================================== ///####### UNSET THE SESSION ///########================================================== unset($_SESSION); session_unset(); ///########================================================== ///########================================================== ///######## SESSION COOKIE ///########================================================== ///######## IF THE SESSION COOKIE EXISTS if (isset($_COOKIE[self::$SessionName]) === true) { ///######## UNSET THE COOKIE SESSION unset($_COOKIE[self::$SessionName]); } ///######## SET A COOKIE WITH NONSENSE DATA setcookie(self::$SessionName, NULL); ///####### LOWER THE SESSION COOKIE setcookie(self::$SessionName, NULL, time() - 42000, '/'); ///########================================================== ///########================================================== ///######## RETURN THE UNSET SESSION ///########================================================== return !self::$sessionState; ///########================================================== } ///########================================================== ///######## DEFAULT RETURN FALSE ///########================================================== return false; ///########================================================== }