Merge pull request #7256 from MrPetovan/bug/7249-remote-logout

Fix remote logout
This commit is contained in:
Philipp 2019-06-12 07:37:42 +02:00 committed by GitHub
commit 17490fca33
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 34 additions and 14 deletions

View file

@ -148,9 +148,13 @@ class Nav
$nav['usermenu'] = []; $nav['usermenu'] = [];
$userinfo = null; $userinfo = null;
if (local_user()) { if (local_user() || remote_user()) {
$nav['logout'] = ['logout', L10n::t('Logout'), '', L10n::t('End this session')]; $nav['logout'] = ['logout', L10n::t('Logout'), '', L10n::t('End this session')];
} else {
$nav['login'] = ['login', L10n::t('Login'), ($a->module == 'login' ? 'selected' : ''), L10n::t('Sign in')];
}
if (local_user()) {
// user menu // user menu
$nav['usermenu'][] = ['profile/' . $a->user['nickname'], L10n::t('Status'), '', L10n::t('Your posts and conversations')]; $nav['usermenu'][] = ['profile/' . $a->user['nickname'], L10n::t('Status'), '', L10n::t('Your posts and conversations')];
$nav['usermenu'][] = ['profile/' . $a->user['nickname'] . '?tab=profile', L10n::t('Profile'), '', L10n::t('Your profile page')]; $nav['usermenu'][] = ['profile/' . $a->user['nickname'] . '?tab=profile', L10n::t('Profile'), '', L10n::t('Your profile page')];
@ -165,8 +169,6 @@ class Nav
'icon' => (DBA::isResult($contact) ? $a->removeBaseURL($contact['micro']) : 'images/person-48.jpg'), 'icon' => (DBA::isResult($contact) ? $a->removeBaseURL($contact['micro']) : 'images/person-48.jpg'),
'name' => $a->user['username'], 'name' => $a->user['username'],
]; ];
} else {
$nav['login'] = ['login', L10n::t('Login'), ($a->module == 'login' ? 'selected' : ''), L10n::t('Sign in')];
} }
// "Home" should also take you home from an authenticated remote profile connection // "Home" should also take you home from an authenticated remote profile connection

View file

@ -9,6 +9,8 @@ use Friendica\BaseModule;
use Friendica\Core\Authentication; use Friendica\Core\Authentication;
use Friendica\Core\Hook; use Friendica\Core\Hook;
use Friendica\Core\L10n; use Friendica\Core\L10n;
use Friendica\Core\System;
use Friendica\Model\Profile;
/** /**
* Logout module * Logout module
@ -22,9 +24,19 @@ class Logout extends BaseModule
*/ */
public static function init() public static function init()
{ {
$visitor_home = null;
if (remote_user()) {
$visitor_home = Profile::getMyURL();
}
Hook::callAll("logging_out"); Hook::callAll("logging_out");
Authentication::deleteSession(); Authentication::deleteSession();
info(L10n::t('Logged out.') . EOL);
self::getApp()->internalRedirect(); if ($visitor_home) {
System::externalRedirect($visitor_home);
} else {
info(L10n::t('Logged out.'));
self::getApp()->internalRedirect();
}
} }
} }

View file

@ -50,9 +50,10 @@ nav #banner #logo-text a { color: #ffffff; }
.photo-album-image-wrapper .caption { background-color: rgba(51, 51, 51, 0.8); color: #FFFFFF; } .photo-album-image-wrapper .caption { background-color: rgba(51, 51, 51, 0.8); color: #FFFFFF; }
.nav-selected.nav-link { color: #ffffff!important; border-bottom: 0px} .nav-selected.nav-link { color: #ffffff!important; border-bottom: 0px}
.nav-commlink, .nav-login-link {background-color: #b7bab3;} .nav-commlink, .nav-login-link, .nav-logout-link {background-color: #b7bab3;}
.nav-commlink:link, .nav-commlink:visited, .nav-commlink:link, .nav-commlink:visited,
.nav-login-link:link, .nav-login-link:visited{ .nav-login-link:link, .nav-login-link:visited,
.nav-logout-link:link, .nav-logout-link:visited {
color: #ffffff; color: #ffffff;
} }

View file

@ -33,7 +33,7 @@ aside { background-image: url('imgeasterbunny/border.jpg'); }
div.wall-item-content-wrapper.shiny { background-image: url('imgeasterbunny/shiny.png'); } div.wall-item-content-wrapper.shiny { background-image: url('imgeasterbunny/shiny.png'); }
.nav-commlink, .nav-login-link { .nav-commlink, .nav-login-link, .nav-logout-link {
background-color: #aed3b2; background-color: #aed3b2;
} }

View file

@ -4,9 +4,10 @@ a:link, a:visited { color: #549f4f; text-decoration: none; }
a:hover {text-decoration: underline; } a:hover {text-decoration: underline; }
.nav-selected.nav-link { color: #549f4f!important; border-bottom: 0px} .nav-selected.nav-link { color: #549f4f!important; border-bottom: 0px}
.nav-commlink, .nav-login-link {background-color: #aed3b2;} .nav-commlink, .nav-login-link, .nav-logout-link {background-color: #aed3b2;}
.nav-commlink:link, .nav-commlink:visited, .nav-commlink:link, .nav-commlink:visited,
.nav-login-link:link, .nav-login-link:visited{ .nav-login-link:link, .nav-login-link:visited,
.nav-logout-link:link, .nav-logout-link:visited{
color: #ffffff; color: #ffffff;
} }

View file

@ -10,7 +10,7 @@ section { background-image: url('imgpurplezero/border.jpg'); }
div.wall-item-content-wrapper.shiny { background-image: url('imgpurplezero/shiny.png'); } div.wall-item-content-wrapper.shiny { background-image: url('imgpurplezero/shiny.png'); }
.nav-commlink, .nav-login-link { .nav-commlink, .nav-login-link, .nav-logout-link {
background-color: #aed3b2; background-color: #aed3b2;
} }

View file

@ -159,7 +159,7 @@ nav #banner #logo-text a {
nav #banner #logo-text a:hover { text-decoration: none; } nav #banner #logo-text a:hover { text-decoration: none; }
.nav-commlink, .nav-login-link { .nav-commlink, .nav-login-link, .nav-logout-link {
display: block; display: block;
height: 15px; height: 15px;
margin-top: 67px; margin-top: 67px;

View file

@ -256,8 +256,6 @@ function frio_remote_nav($a, &$nav)
} }
if (!local_user() && !empty($server_url) && !is_null($remoteUser)) { if (!local_user() && !empty($server_url) && !is_null($remoteUser)) {
$nav['logout'] = [$server_url . '/logout', L10n::t('Logout'), '', L10n::t('End this session')];
// user menu // user menu
$nav['usermenu'][] = [$server_url . '/profile/' . $remoteUser['nick'], L10n::t('Status'), '', L10n::t('Your posts and conversations')]; $nav['usermenu'][] = [$server_url . '/profile/' . $remoteUser['nick'], L10n::t('Status'), '', L10n::t('Your posts and conversations')];
$nav['usermenu'][] = [$server_url . '/profile/' . $remoteUser['nick'] . '?tab=profile', L10n::t('Profile'), '', L10n::t('Your profile page')]; $nav['usermenu'][] = [$server_url . '/profile/' . $remoteUser['nick'] . '?tab=profile', L10n::t('Profile'), '', L10n::t('Your profile page')];

View file

@ -763,6 +763,7 @@ nav #nav-directory-link,
nav #nav-apps-link, nav #nav-apps-link,
nav #nav-apps-link, nav #nav-apps-link,
nav #nav-login-link, nav #nav-login-link,
nav #nav-logout-link,
nav #nav-messages-linkmenu, nav #nav-messages-linkmenu,
nav #nav-notifications-linkmenu, nav #nav-notifications-linkmenu,
nav #nav-site-linkmenu, nav #nav-site-linkmenu,

View file

@ -102,6 +102,11 @@
<a class="{{$nav.login.2}}" href="{{$nav.login.0}}" title="{{$nav.login.3}}" >{{$nav.login.1}}</a> <a class="{{$nav.login.2}}" href="{{$nav.login.0}}" title="{{$nav.login.3}}" >{{$nav.login.1}}</a>
</li> </li>
{{/if}} {{/if}}
{{if $nav.logout}}
<li role="menuitem" id="nav-logout-link" class="nav-menu">
<a class="{{$nav.logout.2}}" href="{{$nav.logout.0}}" title="{{$nav.logout.3}}" >{{$nav.logout.1}}</a>
</li>
{{/if}}
{{if $nav.search}} {{if $nav.search}}
<li role="search" id="nav-search-box"> <li role="search" id="nav-search-box">