Good afternoon, good evening, and goodnight.

Events: SignOut

@access public
@since 2.0.0

@param string $TransientKey (default: "")
541895
public function SignOut($TransientKey = "") {
      $this->CheckOverride('SignOut', $this->Target(), $TransientKey);
      
      if (Gdn::Session()->ValidateTransientKey($TransientKey) || $this->Form->IsPostBack()) {
         $User = Gdn::Session()->User;
         
         $this->EventArguments['SignoutUser'] = $User;
         $this->FireEvent("BeforeSignOut");
         
         // Sign the user right out.
         Gdn::Session()->End();
         $this->SetData('SignedOut', TRUE);
         
         $this->EventArguments['SignoutUser'] = $User;
         $this->FireEvent("SignOut");
         
         $this->_SetRedirect();
      } elseif (!Gdn::Session()->IsValid())
         $this->_SetRedirect();
      
      $this->SetData('Target', $this->Target());
      $this->Leaving = FALSE;
      $this->Render();
   }
430013
public function logout()
    {
        if ($this->isAuthenticated() !== true) {
            return;
        }
        $this->isAuthenticated = null;
        $session = $this->sessionManager->getCurrentSession();

        /** @var $token TokenInterface */
        foreach ($this->securityContext->getAuthenticationTokens() as $token) {
            $token->setAuthenticationStatus(TokenInterface::NO_CREDENTIALS_GIVEN);
        }
        $this->emitLoggedOut();
        if ($session->isStarted()) {
            $session->destroy('Logout through AuthenticationProviderManager');
        }
    }
847814
public function logout($fast = false)
    {
        if ($fast && $this->getAuthenticationManager() instanceof FastLogoutInterface) {
            $this->getAuthenticationManager()->fastLogout();
        } else {
            $this->getAuthenticationManager()->logOut();
        }
    }
176637
def signout(self, redirect_url = "/"):
        
        self.clear_cookie(self._USER_NAME)
        if redirect_url: self.redirect(redirect_url)
1023079
public function SetClientHour($ClientHour = '', $TransientKey = '') {
      $this->_DeliveryType = DELIVERY_TYPE_BOOL;
      $Success = FALSE;

      if (is_numeric($ClientHour) && $ClientHour >= 0 && $ClientHour < 24) {
         $HourOffset = $ClientHour - date('G', time());
      
         if (Gdn::Session()->IsValid() && Gdn::Session()->ValidateTransientKey($TransientKey)) {
            Gdn::UserModel()->SetField(Gdn::Session()->UserID, 'HourOffset', $HourOffset);
            $Success = TRUE;
         }
      }
         
      $this->Render();
   }
1286879
public function logout($username = null)
	{
		$event = new Event('onPlatformLogout');
		$event->addArgument('username', $username);
		$event->addArgument('activePlugin', $this->activePlugin);

		Factory::getDispatcher()->triggerEvent($event);
	}
263215
public synchronized void registerKey(DispatchableKey key)
  {
    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
      SibTr.entry(tc, "registerKey", key);
    keyRegistry.add(key);
    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
      SibTr.exit(tc, "registerKey");
  }
633868
def sign_out(authenticatable_class)
      key = cookie_name(authenticatable_class)
      cookies.encrypted.permanent[key] = {value: nil}
      cookies.delete(key)
      true
    end
1002702
public function logout()
    {
        $user = $this->user();

        // If we have an event dispatcher instance, we can fire off the logout event
        // so any further processing can be done. This allows the developer to be
        // listening for anytime a user signs out of this application manually.
        $this->clearUserDataFromStorage();

        if (! is_null($this->user) && ! empty($user->getRememberToken())) {
            $this->cycleRememberToken($user);
        }

        if (isset($this->events)) {
            $this->events->dispatch(new Events\Logout($this->name, $user));
        }

        // Once we have fired the logout event we will clear the users out of memory
        // so they are no longer available as the user is no longer considered as
        // being signed into this application and should not be available here.
        $this->user = null;

        $this->loggedOut = true;
    }
1132497
public function UnInvite($InvitationID = '', $TransientKey = '') {
      $this->Permission('Garden.SignIn.Allow');
      $InvitationModel = new InvitationModel();
      $Session = Gdn::Session();
      if ($Session->ValidateTransientKey($TransientKey)) {
         try {
            $InvitationModel->Delete($InvitationID, $this->UserModel);
         } catch (Exception $ex) {
            $this->Form->AddError(strip_tags($ex->getMessage()));
         }
            
         if ($this->Form->ErrorCount() == 0)
            $this->InformMessage(T('The invitation was removed successfully.'));

      }
      
      $this->View = 'Invitations';
      $this->Invitations();
   }
220553
def logout(client):
    
    if not client.session_id:
        client.request_session()

    concierge_request_header = client.construct_concierge_header(
        url=("http://membersuite.com/contracts/IConciergeAPIService/"
             "Logout"))

    logout_result = client.client.service.Logout(
        _soapheaders=[concierge_request_header])

    result = logout_result["body"]["LogoutResult"]

    if result["SessionID"] is None:  # Success!
        client.session_id = None
    else:  # Failure . . .
        raise LogoutError(result=result)
581818
public function logout()
    {
        if (false === $this->isEnabled()) {
            throw new UserInactiveException();
        }

        $this->publish(
            new UserLoggedOut(
                $this->id,
                $this->email
            )
        );
    }
19162
public void writeLock(EntityKey key, int timeout) {
		ReadWriteLock lock = getLock( key );
		Lock writeLock = lock.writeLock();
		acquireLock( key, timeout, writeLock );
	}
681481
public function forget($key)
    {
        $this->fire('forgetting', $key, [$key]);

        $generatedKey = $this->getKey($key);

        $this->repository->forget($generatedKey);

        if ($this->isCacheEnabled()) {
            $this->cache->forget($generatedKey);
        }

        $this->fire('forget', $key, [$key]);

        $this->context(null);
    }
1108318
private function Toggle($Toggle = '', $TransientKey = '') {
      if (in_array($Toggle, array('enable', 'disable')) && Gdn::Session()->ValidateTransientKey($TransientKey)) {
         if ($Toggle == 'enable' && array_key_exists('embedvanilla', Gdn::PluginManager()->EnabledPlugins()))
            throw new Gdn_UserException('You must disable the "Embed Vanilla" plugin before continuing.');

         // Do the toggle
         SaveToConfig('Garden.Embed.Allow', $Toggle == 'enable' ? TRUE : FALSE);
         return TRUE;
      }
      return FALSE;      
   }
733425
public function out($key = null) {
		if ($this->options['mode'] == 'Html') {
			\alkemann\hl\debug\util\adapters\Html::top($this->output, $key);
			return;
		}
		$this->__out($key);
	}
812180
public void logout() {
        String userIdentifier = session.get(config().sessionKeyUsername());
        SessionManager sessionManager = app().sessionManager();
        sessionManager.logout(session);
        if (S.notBlank(userIdentifier)) {
            app().eventBus().trigger(new LogoutEvent(userIdentifier));
        }
    }