]> git.mxchange.org Git - friendica.git/blobdiff - src/Content/Nav.php
Merge pull request #8118 from annando/spamcheck
[friendica.git] / src / Content / Nav.php
index 6bee0633f3774aec0d37726ee25a66bb3fe265b5..7850e57c14f1654c08c7eaaad0864f3d3ae21e58 100644 (file)
@@ -9,10 +9,11 @@ use Friendica\Core\Config;
 use Friendica\Core\Hook;
 use Friendica\Core\L10n;
 use Friendica\Core\Renderer;
-use Friendica\Core\System;
+use Friendica\Core\Session;
 use Friendica\Database\DBA;
-use Friendica\Model\Contact;
+use Friendica\DI;
 use Friendica\Model\Profile;
+use Friendica\Model\User;
 
 class Nav
 {
@@ -28,7 +29,7 @@ class Nav
                'directory' => null,
                'settings'  => null,
                'contacts'  => null,
-               'manage'    => null,
+               'delegation'=> null,
                'events'    => null,
                'register'  => null
        ];
@@ -67,7 +68,6 @@ class Nav
                $tpl = Renderer::getMarkupTemplate('nav.tpl');
 
                $nav .= Renderer::replaceMacros($tpl, [
-                       '$baseurl'      => System::baseUrl(),
                        '$sitelocation' => $nav_info['sitelocation'],
                        '$nav'          => $nav_info['nav'],
                        '$banner'       => $nav_info['banner'],
@@ -140,7 +140,7 @@ class Nav
 
                $myident = ((is_array($a->user) && isset($a->user['nickname'])) ? $a->user['nickname'] . '@' : '');
 
-               $sitelocation = $myident . substr(System::baseUrl($ssl_state), strpos(System::baseUrl($ssl_state), '//') + 2);
+               $sitelocation = $myident . substr(DI::baseUrl()->get($ssl_state), strpos(DI::baseUrl()->get($ssl_state), '//') + 2);
 
                // nav links: array of array('href', 'text', 'extra css classes', 'title')
                $nav = [];
@@ -149,9 +149,13 @@ class Nav
                $nav['usermenu'] = [];
                $userinfo = null;
 
-               if (local_user()) {
+               if (Session::isAuthenticated()) {
                        $nav['logout'] = ['logout', L10n::t('Logout'), '', L10n::t('End this session')];
+               } else {
+                       $nav['login'] = ['login', L10n::t('Login'), (DI::module()->getName() == 'login' ? 'selected' : ''), L10n::t('Sign in')];
+               }
 
+               if (local_user()) {
                        // user menu
                        $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')];
@@ -163,24 +167,22 @@ class Nav
                        // user info
                        $contact = DBA::selectFirst('contact', ['micro'], ['uid' => $a->user['uid'], 'self' => true]);
                        $userinfo = [
-                               'icon' => (DBA::isResult($contact) ? $a->removeBaseURL($contact['micro']) : 'images/person-48.jpg'),
+                               'icon' => (DBA::isResult($contact) ? DI::baseUrl()->remove($contact['micro']) : 'images/person-48.jpg'),
                                '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
                $homelink = Profile::getMyURL();
                if (! $homelink) {
-                       $homelink = defaults($_SESSION, 'visitor_home', '');
+                       $homelink = Session::get('visitor_home', '');
                }
 
-               if (($a->module != 'home') && (! (local_user()))) {
+               if ((DI::module()->getName() != 'home') && (! (local_user()))) {
                        $nav['home'] = [$homelink, L10n::t('Home'), '', L10n::t('Home Page')];
                }
 
-               if (intval(Config::get('config', 'register_policy')) === REGISTER_OPEN && !local_user() && !remote_user()) {
+               if (intval(Config::get('config', 'register_policy')) === \Friendica\Module\Register::OPEN && !Session::isAuthenticated()) {
                        $nav['register'] = ['register', L10n::t('Register'), '', L10n::t('Create an account')];
                }
 
@@ -237,12 +239,11 @@ class Nav
                // The following nav links are only show to logged in users
                if (local_user()) {
                        $nav['network'] = ['network', L10n::t('Network'), '', L10n::t('Conversations from your friends')];
-                       $nav['net_reset'] = ['network/?f=', L10n::t('Network Reset'), '', L10n::t('Load Network page with no filters')];
 
                        $nav['home'] = ['profile/' . $a->user['nickname'], L10n::t('Home'), '', L10n::t('Your posts and conversations')];
 
                        // Don't show notifications for public communities
-                       if (defaults($_SESSION, 'page_flags', '') != User::PAGE_FLAGS_COMMUNITY) {
+                       if (Session::get('page_flags', '') != User::PAGE_FLAGS_COMMUNITY) {
                                $nav['introductions'] = ['notifications/intros', L10n::t('Introductions'), '', L10n::t('Friend Requests')];
                                $nav['notifications'] = ['notifications',       L10n::t('Notifications'), '', L10n::t('Notifications')];
                                $nav['notifications']['all'] = ['notifications/system', L10n::t('See all notifications'), '', ''];
@@ -255,11 +256,9 @@ class Nav
                        $nav['messages']['new'] = ['message/new', L10n::t('New Message'), '', L10n::t('New Message')];
 
                        if (is_array($a->identities) && count($a->identities) > 1) {
-                               $nav['manage'] = ['manage', L10n::t('Manage'), '', L10n::t('Manage other pages')];
+                               $nav['delegation'] = ['delegation', L10n::t('Delegation'), '', L10n::t('Manage other pages')];
                        }
 
-                       $nav['delegations'] = ['delegate', L10n::t('Delegations'), '', L10n::t('Delegate Page Management')];
-
                        $nav['settings'] = ['settings', L10n::t('Settings'), '', L10n::t('Account settings')];
 
                        if (Feature::isEnabled(local_user(), 'multi_profiles')) {