コード例 #1
0
 static function logoutCurrent()
 {
     $http = eZHTTPTool::instance();
     $id = false;
     $GLOBALS["eZUserGlobalInstance_{$id}"] = false;
     $contentObjectID = $http->sessionVariable('eZUserLoggedInID');
     // reset session data
     $newUserID = self::anonymousId();
     eZSession::setUserID($newUserID);
     $http->setSessionVariable('eZUserLoggedInID', $newUserID);
     // Clear current basket if necessary
     $db = eZDB::instance();
     $db->begin();
     eZBasket::cleanupCurrentBasket();
     $db->commit();
     if ($contentObjectID) {
         //set last visit to minus
         self::updateLastVisitByLogout($contentObjectID);
         //clean up sessions
         self::cleanup();
     }
     // give user new session id
     eZSession::regenerate();
     // set the property used to prevent SSO from running again
     self::$userHasLoggedOut = true;
 }
コード例 #2
0
    static function logoutCurrent()
    {
        $http = eZHTTPTool::instance();
        $id = false;
        $GLOBALS["eZUserGlobalInstance_$id"] = false;
        $contentObjectID = $http->sessionVariable( 'eZUserLoggedInID' );

        // reset session data
        $newUserID = self::anonymousId();
        eZSession::setUserID( $newUserID );
        $http->setSessionVariable( 'eZUserLoggedInID', $newUserID );

        // Clear current basket if necessary
        $db = eZDB::instance();
        $db->begin();
        if ( eZINI::instance( 'site.ini' )->variable( 'Session', 'UseBasket' ) != 'false' )
        {
            eZBasket::cleanupCurrentBasket();
        }
        $db->commit();

        if ( $contentObjectID )
            self::cleanup();

        // give user new session id
        eZSession::regenerate();

        // set the property used to prevent SSO from running again
        self::$userHasLoggedOut = true;
    }