X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModule%2FSecurity%2FLogout.php;h=528dd295e7592eaa6834de89149cbd5b0114d103;hb=99284222c1d7fb4adca9077e3057faf3b36f7180;hp=c698dd00b077bd3d84aebcbf54d22f1254e32c62;hpb=2c56d2f3360c08e312e5c167261af8e5d4b87af4;p=friendica.git diff --git a/src/Module/Security/Logout.php b/src/Module/Security/Logout.php index c698dd00b0..528dd295e7 100644 --- a/src/Module/Security/Logout.php +++ b/src/Module/Security/Logout.php @@ -1,6 +1,6 @@ cache = $cache; + $this->cookie = $cookie; + $this->session = $session; + } + + /** * Process logout requests */ - public static function init(array $parameters = []) + protected function rawContent(array $request = []) { $visitor_home = null; - if (remote_user()) { + if ($this->session->getRemoteUserId()) { $visitor_home = Profile::getMyURL(); - DI::cache()->delete('zrlInit:' . $visitor_home); + $this->cache->delete('zrlInit:' . $visitor_home); } Hook::callAll("logging_out"); - DI::cookie()->clear(); - DI::session()->clear(); + + // If this is a trusted browser, redirect to the 2fa signout page + if ($this->cookie->get('2fa_cookie_hash')) { + $this->baseUrl->redirect('2fa/signout'); + } + + $this->cookie->clear(); + $this->session->clear(); if ($visitor_home) { System::externalRedirect($visitor_home); } else { - info(DI::l10n()->t('Logged out.')); - DI::baseUrl()->redirect(); + DI::sysmsg()->addInfo($this->t('Logged out.')); + $this->baseUrl->redirect(); } } }