]> git.mxchange.org Git - friendica.git/commitdiff
Remove direct calls to App->user
authorMichael <heluecht@pirati.ca>
Sun, 8 Aug 2021 10:14:56 +0000 (10:14 +0000)
committerMichael <heluecht@pirati.ca>
Sun, 8 Aug 2021 10:14:56 +0000 (10:14 +0000)
51 files changed:
boot.php
include/api.php
mod/api.php
mod/cal.php
mod/display.php
mod/editpost.php
mod/events.php
mod/fbrowser.php
mod/message.php
mod/notes.php
mod/photos.php
mod/ping.php
mod/removeme.php
mod/settings.php
mod/videos.php
src/App.php
src/App/Page.php
src/BaseModule.php
src/Content/Nav.php
src/Core/ACL.php
src/Factory/Notification/Introduction.php
src/Model/Mail.php
src/Model/User.php
src/Module/BaseApi.php
src/Module/BaseProfile.php
src/Module/Bookmarklet.php
src/Module/Contact/Poke.php
src/Module/Conversation/Community.php
src/Module/Conversation/Network.php
src/Module/Delegation.php
src/Module/HCard.php
src/Module/Home.php
src/Module/Invite.php
src/Module/NoScrape.php
src/Module/Profile/Common.php
src/Module/Profile/Contacts.php
src/Module/Profile/Profile.php
src/Module/Profile/Schedule.php
src/Module/Profile/Status.php
src/Module/Settings/Delegation.php
src/Module/Settings/Display.php
src/Module/Settings/Profile/Index.php
src/Module/Settings/Profile/Photo/Crop.php
src/Module/Settings/Profile/Photo/Index.php
src/Module/Settings/UserExport.php
src/Object/EMail/ItemCCEMail.php
src/Object/Post.php
src/Security/Authentication.php
src/Security/BasicAuth.php
view/theme/frio/theme.php
view/theme/vier/theme.php

index ecf59eb2fc587140cfd5e1dbd50049a754286e4d..1a28aa8ce594965c08f209d21198e4ab30bfb7c2 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -379,7 +379,7 @@ function is_site_admin()
 
        $adminlist = explode(',', str_replace(' ', '', $admin_email));
 
-       return local_user() && $admin_email && in_array($a->user['email'] ?? '', $adminlist);
+       return local_user() && $admin_email && in_array($a->getUserValue('email') ?? '', $adminlist);
 }
 
 /**
index c6f67109a3fe4e00d43be87bd573caa9ab18a342..e419e3ad2725771efbfdc6f300b17c833dda3201 100644 (file)
@@ -258,7 +258,7 @@ function api_login(App $a)
 
        $_SESSION["allow_api"] = true;
 
-       Hook::callAll('logged_in', $a->user);
+       Hook::callAll('logged_in', $record);
 }
 
 /**
@@ -322,7 +322,7 @@ function api_call(App $a, App\Arguments $args = null)
 
                                if (!empty($info['auth']) && api_user() === false) {
                                        api_login($a);
-                                       Logger::info(API_LOG_PREFIX . 'username {username}', ['module' => 'api', 'action' => 'call', 'username' => $a->user['username']]);
+                                       Logger::info(API_LOG_PREFIX . 'nickname {nickname}', ['module' => 'api', 'action' => 'call', 'nickname' => $a->getNickname()]);
                                }
 
                                Logger::debug(API_LOG_PREFIX . 'parameters', ['module' => 'api', 'action' => 'call', 'parameters' => $_REQUEST]);
index decbe40e9bb1de5d28ddf7e1d43bb438b7c9eb82..0423dd454874acfdc949799adfea369111d28393 100644 (file)
@@ -31,7 +31,7 @@ function api_post(App $a)
                return;
        }
 
-       if (count($a->user) && !empty($a->user['uid']) && $a->user['uid'] != local_user()) {
+       if (empty($a->getUserId()) || $a->getUserId() != local_user()) {
                notice(DI::l10n()->t('Permission denied.'));
                return;
        }
index 20488842a4ece4ed01fabaa650948aea4141b7d0..ac12d69b914c8e122bc50d1ba3eb2b750983ffab 100644 (file)
@@ -127,7 +127,7 @@ function cal_content(App $a)
        $sql_extra = " AND `event`.`cid` = 0 " . $sql_perms;
 
        // get the tab navigation bar
-       $tabs = BaseProfile::getTabsHTML($a, 'cal', false, $owner);
+       $tabs = BaseProfile::getTabsHTML($a, 'cal', false, $owner['nickname'], $owner['hide-friends']);
 
        // The view mode part is similiar to /mod/events.php
        if ($mode == 'view') {
index befef9753054c49271b0d9ff201e73809a993174..199c89488aca120c079329e4d393f981f6198046 100644 (file)
@@ -63,7 +63,7 @@ function display_init(App $a)
                if (local_user()) {
                        $item = Post::selectFirstForUser(local_user(), $fields, ['guid' => DI::args()->getArgv()[1], 'uid' => local_user()]);
                        if (DBA::isResult($item)) {
-                               $nick = $a->user['nickname'];
+                               $nick = $a->getNickname();
                        }
                }
 
@@ -275,10 +275,10 @@ function display_content(App $a, $update = false, $update_uid = 0)
        if ($is_owner && !$update) {
                $x = [
                        'is_owner' => true,
-                       'allow_location' => $a->user['allow_location'],
-                       'default_location' => $a->user['default-location'],
-                       'nickname' => $a->user['nickname'],
-                       'lockstate' => (is_array($a->user) && (strlen($a->user['allow_cid']) || strlen($a->user['allow_gid']) || strlen($a->user['deny_cid']) || strlen($a->user['deny_gid'])) ? 'lock' : 'unlock'),
+                       'allow_location' => $a->getUserValue('allow_location'),
+                       'default_location' => $a->getUserValue('default-location'),
+                       'nickname' => $a->getNickname(),
+                       'lockstate' => ACL::getLockstateForUserId($a->getUserId()) ? 'lock' : 'unlock',
                        'acl' => ACL::getFullSelectorHTML(DI::page(), $a->user, true),
                        'bang' => '',
                        'visitor' => 'block',
index 848e1ce862706dce946548db2d03d50330fc3cce..9e7079543013b04cc75581103405faedcf3c0e08 100644 (file)
@@ -65,7 +65,7 @@ function editpost_content(App $a)
        DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl, [
                '$ispublic' => '&nbsp;', // DI::l10n()->t('Visible to <strong>everybody</strong>'),
                '$geotag' => $geotag,
-               '$nickname' => $a->user['nickname'],
+               '$nickname' => $a->getNickname(),
                '$is_mobile' => DI::mode()->isMobile(),
        ]);
 
@@ -107,7 +107,7 @@ function editpost_content(App $a)
                '$posttype' => $item['post-type'],
                '$content' => undo_post_tagging($item['body']),
                '$post_id' => $post_id,
-               '$defloc' => $a->user['default-location'],
+               '$defloc' => $a->getUserValue('default-location'),
                '$visitor' => 'none',
                '$pvisit' => 'none',
                '$emailcc' => DI::l10n()->t('CC: email addresses'),
index f20d173dc752126b69bda817f895cf147d139d55..7409b83a7eb08727a8278cd405f55b7d5537ebd1 100644 (file)
@@ -280,7 +280,7 @@ function events_content(App $a)
        $tabs = '';
        // tabs
        if ($a->getThemeInfoValue('events_in_profile')) {
-               $tabs = BaseProfile::getTabsHTML($a, 'events', true, $a->user);
+               $tabs = BaseProfile::getTabsHTML($a, 'events', true, $a->getNickname(), false);
        }
 
        $mode = 'view';
index e8b356d08f3cdf432256499b353a4beba05ff00f..2f4b2eef531ddb3e722b335099b38648034a3327 100644 (file)
@@ -88,7 +88,7 @@ function fbrowser_content(App $a)
                                }
 
                                return [
-                                       DI::baseUrl() . '/photos/' . $a->user['nickname'] . '/image/' . $rr['resource-id'],
+                                       DI::baseUrl() . '/photos/' . $a->getNickname() . '/image/' . $rr['resource-id'],
                                        $filename_e,
                                        DI::baseUrl() . '/photo/' . $rr['resource-id'] . '-' . $scale . '.'. $ext
                                ];
@@ -103,7 +103,7 @@ function fbrowser_content(App $a)
                                '$folders'  => $albums,
                                '$files'    => $files,
                                '$cancel'   => DI::l10n()->t('Cancel'),
-                               '$nickname' => $a->user['nickname'],
+                               '$nickname' => $a->getNickname(),
                                '$upload'   => DI::l10n()->t('Upload')
                        ]);
 
@@ -132,7 +132,7 @@ function fbrowser_content(App $a)
                                        '$folders'  => false,
                                        '$files'    => $files,
                                        '$cancel'   => DI::l10n()->t('Cancel'),
-                                       '$nickname' => $a->user['nickname'],
+                                       '$nickname' => $a->getNickname(),
                                        '$upload'   => DI::l10n()->t('Upload')
                                ]);
                        }
index a18a5f9df3d38b2348a29067aff445945a73fa29..e862a469bdae55262e9eef8f1cd02a2070cad0e5 100644 (file)
@@ -112,7 +112,7 @@ function message_content(App $a)
                return Login::form();
        }
 
-       $myprofile = DI::baseUrl() . '/profile/' . $a->user['nickname'];
+       $myprofile = DI::baseUrl() . '/profile/' . $a->getNickname();
 
        $tpl = Renderer::getMarkupTemplate('mail_head.tpl');
        if (DI::args()->getArgc() > 1 && DI::args()->getArgv()[1] == 'new') {
@@ -179,7 +179,7 @@ function message_content(App $a)
                $tpl = Renderer::getMarkupTemplate('msg-header.tpl');
                DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl, [
                        '$baseurl' => DI::baseUrl()->get(true),
-                       '$nickname' => $a->user['nickname'],
+                       '$nickname' => $a->getNickname(),
                        '$linkurl' => DI::l10n()->t('Please enter a link URL:')
                ]);
 
@@ -292,7 +292,7 @@ function message_content(App $a)
                $tpl = Renderer::getMarkupTemplate('msg-header.tpl');
                DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl, [
                        '$baseurl' => DI::baseUrl()->get(true),
-                       '$nickname' => $a->user['nickname'],
+                       '$nickname' => $a->getNickname(),
                        '$linkurl' => DI::l10n()->t('Please enter a link URL:')
                ]);
 
@@ -431,7 +431,7 @@ function render_messages(array $msg, $t)
        $tpl = Renderer::getMarkupTemplate($t);
        $rslt = '';
 
-       $myprofile = DI::baseUrl() . '/profile/' . $a->user['nickname'];
+       $myprofile = DI::baseUrl() . '/profile/' . $a->getNickname();
 
        foreach ($msg as $rr) {
                if ($rr['unknown']) {
index 945d0c935d325c00cf664b482a46fd0855144793..eccbdcc892ab0a0ef967047588d55d6e0304f852 100644 (file)
@@ -45,16 +45,16 @@ function notes_content(App $a, $update = false)
                return;
        }
 
-       $o = BaseProfile::getTabsHTML($a, 'notes', true, $a->user);
+       $o = BaseProfile::getTabsHTML($a, 'notes', true, $a->getNickname(), false);
 
        if (!$update) {
                $o .= '<h3>' . DI::l10n()->t('Personal Notes') . '</h3>';
 
                $x = [
                        'is_owner' => true,
-                       'allow_location' => (($a->user['allow_location']) ? true : false),
-                       'default_location' => $a->user['default-location'],
-                       'nickname' => $a->user['nickname'],
+                       'allow_location' => (($a->getUserValue('allow_location')) ? true : false),
+                       'default_location' => $a->getUserValue('default-location'),
+                       'nickname' => $a->getNickname(),
                        'lockstate' => 'lock',
                        'acl' => \Friendica\Core\ACL::getSelfOnlyHTML(local_user(), DI::l10n()->t('Personal notes are visible only by yourself.')),
                        'bang' => '',
index 9e1fa9cede659528d611cfff63064247fe90d182..10b8167dbff361d8981d4b5becf52fc5b390e99b 100644 (file)
@@ -38,6 +38,7 @@ use Friendica\Model\Contact;
 use Friendica\Model\Item;
 use Friendica\Model\Photo;
 use Friendica\Model\Post;
+use Friendica\Model\Profile;
 use Friendica\Model\Tag;
 use Friendica\Model\User;
 use Friendica\Module\BaseProfile;
@@ -223,7 +224,7 @@ function photos_post(App $a)
                        // Update the photo albums cache
                        Photo::clearAlbumCache($page_owner_uid);
 
-                       DI::baseUrl()->redirect('photos/' . $a->user['nickname'] . '/album/' . bin2hex($newalbum));
+                       DI::baseUrl()->redirect('photos/' . $a->getNickname() . '/album/' . bin2hex($newalbum));
                        return; // NOTREACHED
                }
 
@@ -830,6 +831,8 @@ function photos_content(App $a)
                return;
        }
 
+       $profile = Profile::getByUID($user['uid']);
+
        $phototypes = Images::supportedTypes();
 
        $_SESSION['photo_return'] = DI::args()->getCommand();
@@ -903,7 +906,7 @@ function photos_content(App $a)
 
        // tabs
        $is_owner = (local_user() && (local_user() == $owner_uid));
-       $o .= BaseProfile::getTabsHTML($a, 'photos', $is_owner, $user);
+       $o .= BaseProfile::getTabsHTML($a, 'photos', $is_owner, $user['nickname'], $profile['hide-friends']);
 
        // Display upload form
        if ($datatype === 'upload') {
@@ -958,12 +961,7 @@ function photos_content(App $a)
                        '$albumselect' => $albumselect,
                        '$permissions' => DI::l10n()->t('Permissions'),
                        '$aclselect' => $aclselect_e,
-                       '$lockstate' => is_array($a->user)
-                                       && (strlen($a->user['allow_cid'])
-                                               || strlen($a->user['allow_gid'])
-                                               || strlen($a->user['deny_cid'])
-                                               || strlen($a->user['deny_gid'])
-                                       ) ? 'lock' : 'unlock',
+                       '$lockstate' => ACL::getLockstateForUserId($a->getUserId()) ? 'lock' : 'unlock',
                        '$alt_uploader' => $ret['addon_text'],
                        '$default_upload_box' => ($ret['default_upload'] ? $default_upload_box : ''),
                        '$default_upload_submit' => ($ret['default_upload'] ? $default_upload_submit : ''),
index 93c579e0a690a5d8edf994794ba3008148eba329..61a12a0128ef2e98fe3f772f5ec3b6e71cbde71e 100644 (file)
@@ -193,7 +193,7 @@ function ping_init(App $a)
                $intro_count = count($intros1) + count($intros2);
                $intros = $intros1 + $intros2;
 
-               $myurl = DI::baseUrl() . '/profile/' . $a->user['nickname'];
+               $myurl = DI::baseUrl() . '/profile/' . $a->getNickname();
                $mails = q(
                        "SELECT `id`, `from-name`, `from-url`, `from-photo`, `created` FROM `mail`
                        WHERE `uid` = %d AND `seen` = 0 AND `from-url` != '%s' ",
index 3c53ba4204f5ed53f922938a3403562b5fba9f11..b7d37734cd44382d99402fe144bdbdf16c28954e 100644 (file)
@@ -70,7 +70,7 @@ function removeme_post(App $a)
        }
 
        if (User::getIdFromPasswordAuthentication($a->user, trim($_POST['qxz_password']))) {
-               User::remove($a->user['uid']);
+               User::remove($a->getUserId());
 
                unset($_SESSION['authenticated']);
                unset($_SESSION['uid']);
index 6d165cef049bfba0799b15cbc040630e4059dffe..87c56e0df4a524decb5776f1990e501d24223ea2 100644 (file)
@@ -61,7 +61,7 @@ function settings_post(App $a)
                return;
        }
 
-       if (count($a->user) && !empty($a->user['uid']) && $a->user['uid'] != local_user()) {
+       if (empty($a->getUserId()) || $a->getUserId() != local_user()) {
                notice(DI::l10n()->t('Permission denied.'));
                return;
        }
@@ -73,6 +73,8 @@ function settings_post(App $a)
                return;
        }
 
+       $user = User::getById($a->getUserId());
+
        if ((DI::args()->getArgc() > 1) && (DI::args()->getArgv()[1] == 'connectors')) {
                BaseModule::checkFormSecurityTokenRedirectOnError('/settings/connectors', 'settings_connectors');
 
@@ -108,7 +110,7 @@ function settings_post(App $a)
                                }
                                if (strlen($mail_pass)) {
                                        $pass = '';
-                                       openssl_public_encrypt($mail_pass, $pass, $a->user['pubkey']);
+                                       openssl_public_encrypt($mail_pass, $pass, $user['pubkey']);
                                        DBA::update('mailacct', ['pass' => bin2hex($pass)], ['uid' => local_user()]);
                                }
                                $r = q("UPDATE `mailacct` SET `server` = '%s', `port` = %d, `ssltype` = '%s', `user` = '%s',
@@ -134,7 +136,7 @@ function settings_post(App $a)
 
                                        if (strlen($eacct['server'])) {
                                                $dcrpass = '';
-                                               openssl_private_decrypt(hex2bin($eacct['pass']), $dcrpass, $a->user['prvkey']);
+                                               openssl_private_decrypt(hex2bin($eacct['pass']), $dcrpass, $user['prvkey']);
                                                $mbox = Email::connect($mb, $mail_user, $dcrpass);
                                                unset($dcrpass);
                                                if (!$mbox) {
@@ -309,7 +311,7 @@ function settings_post(App $a)
 
        $err = '';
 
-       if ($username != $a->user['username']) {
+       if ($username != $user['username']) {
                if (strlen($username) > 40) {
                        $err .= DI::l10n()->t('Please use a shorter name.');
                }
@@ -318,11 +320,11 @@ function settings_post(App $a)
                }
        }
 
-       if ($email != $a->user['email']) {
+       if ($email != $user['email']) {
                //  check for the correct password
                if (!User::authenticate(intval(local_user()), $_POST['mpassword'])) {
                        $err .= DI::l10n()->t('Wrong Password.');
-                       $email = $a->user['email'];
+                       $email = $user['email'];
                }
                //  check the email is valid
                if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
@@ -333,7 +335,7 @@ function settings_post(App $a)
                        $adminlist = explode(",", str_replace(" ", "", strtolower(DI::config()->get('config', 'admin_email'))));
                        if (in_array(strtolower($email), $adminlist)) {
                                $err .= DI::l10n()->t('Cannot change to that email.');
-                               $email = $a->user['email'];
+                               $email = $user['email'];
                        }
                }
        }
@@ -343,7 +345,7 @@ function settings_post(App $a)
                return;
        }
 
-       if (($timezone != $a->user['timezone']) && strlen($timezone)) {
+       if (($timezone != $user['timezone']) && strlen($timezone)) {
                date_default_timezone_set($timezone);
        }
 
@@ -592,18 +594,20 @@ function settings_content(App $a)
                return;
        }
 
-       $username   = $a->user['username'];
-       $email      = $a->user['email'];
-       $nickname   = $a->user['nickname'];
-       $timezone   = $a->user['timezone'];
-       $language   = $a->user['language'];
-       $notify     = $a->user['notify-flags'];
-       $defloc     = $a->user['default-location'];
-       $openid     = $a->user['openid'];
-       $maxreq     = $a->user['maxreq'];
-       $expire     = ((intval($a->user['expire'])) ? $a->user['expire'] : '');
-       $unkmail    = $a->user['unkmail'];
-       $cntunkmail = $a->user['cntunkmail'];
+       $user = User::getById($a->getUserId());
+
+       $username   = $user['username'];
+       $email      = $user['email'];
+       $nickname   = $a->getNickname();
+       $timezone   = $user['timezone'];
+       $language   = $user['language'];
+       $notify     = $user['notify-flags'];
+       $defloc     = $user['default-location'];
+       $openid     = $user['openid'];
+       $maxreq     = $user['maxreq'];
+       $expire     =  ((intval($user['expire'])) ? $user['expire'] : '');
+       $unkmail    = $user['unkmail'];
+       $cntunkmail = $user['cntunkmail'];
 
        $expire_items = DI::pConfig()->get(local_user(), 'expire', 'items', true);
        $expire_notes = DI::pConfig()->get(local_user(), 'expire', 'notes', true);
@@ -611,15 +615,15 @@ function settings_content(App $a)
        $expire_photos = DI::pConfig()->get(local_user(), 'expire', 'photos', false);
        $expire_network_only = DI::pConfig()->get(local_user(), 'expire', 'network_only', false);
 
-       if (!strlen($a->user['timezone'])) {
+       if (!strlen($user['timezone'])) {
                $timezone = date_default_timezone_get();
        }
 
        // Set the account type to "Community" when the page is a community page but the account type doesn't fit
        // This is only happening on the first visit after the update
-       if (in_array($a->user['page-flags'], [User::PAGE_FLAGS_COMMUNITY, User::PAGE_FLAGS_PRVGROUP]) &&
-               ($a->user['account-type'] != User::ACCOUNT_TYPE_COMMUNITY))
-               $a->user['account-type'] = User::ACCOUNT_TYPE_COMMUNITY;
+       if (in_array($user['page-flags'], [User::PAGE_FLAGS_COMMUNITY, User::PAGE_FLAGS_PRVGROUP]) &&
+               ($user['account-type'] != User::ACCOUNT_TYPE_COMMUNITY))
+               $user['account-type'] = User::ACCOUNT_TYPE_COMMUNITY;
 
        $pageset_tpl = Renderer::getMarkupTemplate('settings/pagetypes.tpl');
 
@@ -627,7 +631,7 @@ function settings_content(App $a)
                '$account_types'        => DI::l10n()->t("Account Types"),
                '$user'                 => DI::l10n()->t("Personal Page Subtypes"),
                '$community'            => DI::l10n()->t("Community Forum Subtypes"),
-               '$account_type'         => $a->user['account-type'],
+               '$account_type'         => $user['account-type'],
                '$type_person'          => User::ACCOUNT_TYPE_PERSON,
                '$type_organisation'    => User::ACCOUNT_TYPE_ORGANISATION,
                '$type_news'            => User::ACCOUNT_TYPE_NEWS,
@@ -635,39 +639,39 @@ function settings_content(App $a)
 
                '$account_person'       => ['account-type', DI::l10n()->t('Personal Page'), User::ACCOUNT_TYPE_PERSON,
                                                                        DI::l10n()->t('Account for a personal profile.'),
-                                                                       ($a->user['account-type'] == User::ACCOUNT_TYPE_PERSON)],
+                                                                       ($user['account-type'] == User::ACCOUNT_TYPE_PERSON)],
 
                '$account_organisation' => ['account-type', DI::l10n()->t('Organisation Page'), User::ACCOUNT_TYPE_ORGANISATION,
                                                                        DI::l10n()->t('Account for an organisation that automatically approves contact requests as "Followers".'),
-                                                                       ($a->user['account-type'] == User::ACCOUNT_TYPE_ORGANISATION)],
+                                                                       ($user['account-type'] == User::ACCOUNT_TYPE_ORGANISATION)],
 
                '$account_news'         => ['account-type', DI::l10n()->t('News Page'), User::ACCOUNT_TYPE_NEWS,
                                                                        DI::l10n()->t('Account for a news reflector that automatically approves contact requests as "Followers".'),
-                                                                       ($a->user['account-type'] == User::ACCOUNT_TYPE_NEWS)],
+                                                                       ($user['account-type'] == User::ACCOUNT_TYPE_NEWS)],
 
                '$account_community'    => ['account-type', DI::l10n()->t('Community Forum'), User::ACCOUNT_TYPE_COMMUNITY,
                                                                        DI::l10n()->t('Account for community discussions.'),
-                                                                       ($a->user['account-type'] == User::ACCOUNT_TYPE_COMMUNITY)],
+                                                                       ($user['account-type'] == User::ACCOUNT_TYPE_COMMUNITY)],
 
                '$page_normal'          => ['page-flags', DI::l10n()->t('Normal Account Page'), User::PAGE_FLAGS_NORMAL,
                                                                        DI::l10n()->t('Account for a regular personal profile that requires manual approval of "Friends" and "Followers".'),
-                                                                       ($a->user['page-flags'] == User::PAGE_FLAGS_NORMAL)],
+                                                                       ($user['page-flags'] == User::PAGE_FLAGS_NORMAL)],
 
                '$page_soapbox'         => ['page-flags', DI::l10n()->t('Soapbox Page'), User::PAGE_FLAGS_SOAPBOX,
                                                                        DI::l10n()->t('Account for a public profile that automatically approves contact requests as "Followers".'),
-                                                                       ($a->user['page-flags'] == User::PAGE_FLAGS_SOAPBOX)],
+                                                                       ($user['page-flags'] == User::PAGE_FLAGS_SOAPBOX)],
 
                '$page_community'       => ['page-flags', DI::l10n()->t('Public Forum'), User::PAGE_FLAGS_COMMUNITY,
                                                                        DI::l10n()->t('Automatically approves all contact requests.'),
-                                                                       ($a->user['page-flags'] == User::PAGE_FLAGS_COMMUNITY)],
+                                                                       ($user['page-flags'] == User::PAGE_FLAGS_COMMUNITY)],
 
                '$page_freelove'        => ['page-flags', DI::l10n()->t('Automatic Friend Page'), User::PAGE_FLAGS_FREELOVE,
                                                                        DI::l10n()->t('Account for a popular profile that automatically approves contact requests as "Friends".'),
-                                                                       ($a->user['page-flags'] == User::PAGE_FLAGS_FREELOVE)],
+                                                                       ($user['page-flags'] == User::PAGE_FLAGS_FREELOVE)],
 
                '$page_prvgroup'        => ['page-flags', DI::l10n()->t('Private Forum [Experimental]'), User::PAGE_FLAGS_PRVGROUP,
                                                                        DI::l10n()->t('Requires manual approval of contact requests.'),
-                                                                       ($a->user['page-flags'] == User::PAGE_FLAGS_PRVGROUP)],
+                                                                       ($user['page-flags'] == User::PAGE_FLAGS_PRVGROUP)],
 
 
        ]);
@@ -731,7 +735,7 @@ function settings_content(App $a)
                '$timezone' => ['timezone_select' , DI::l10n()->t('Your Timezone:'), Temporal::getTimezoneSelect($timezone), ''],
                '$language' => ['language', DI::l10n()->t('Your Language:'), $language, DI::l10n()->t('Set the language we use to show you friendica interface and to send you emails'), $lang_choices],
                '$defloc'       => ['defloc', DI::l10n()->t('Default Post Location:'), $defloc, ''],
-               '$allowloc' => ['allow_location', DI::l10n()->t('Use Browser Location:'), ($a->user['allow_location'] == 1), ''],
+               '$allowloc' => ['allow_location', DI::l10n()->t('Use Browser Location:'), ($user['allow_location'] == 1), ''],
 
                '$h_prv'                  => DI::l10n()->t('Security and Privacy Settings'),
                '$visibility'         => $profile['net-publish'],
@@ -739,14 +743,14 @@ function settings_content(App $a)
                '$profile_in_dir'     => $profile_in_dir,
                '$profile_in_net_dir' => ['profile_in_netdirectory', DI::l10n()->t('Allow your profile to be searchable globally?'), $profile['net-publish'], DI::l10n()->t("Activate this setting if you want others to easily find and follow you. Your profile will be searchable on remote systems. This setting also determines whether Friendica will inform search engines that your profile should be indexed or not.") . $net_pub_desc],
                '$hide_friends'       => ['hide-friends', DI::l10n()->t('Hide your contact/friend list from viewers of your profile?'), $profile['hide-friends'], DI::l10n()->t('A list of your contacts is displayed on your profile page. Activate this option to disable the display of your contact list.')],
-               '$hide_wall'          => ['hidewall', DI::l10n()->t('Hide your profile details from anonymous viewers?'), $a->user['hidewall'], DI::l10n()->t('Anonymous visitors will only see your profile picture, your display name and the nickname you are using on your profile page. Your public posts and replies will still be accessible by other means.')],
+               '$hide_wall'          => ['hidewall', DI::l10n()->t('Hide your profile details from anonymous viewers?'), $user['hidewall'], DI::l10n()->t('Anonymous visitors will only see your profile picture, your display name and the nickname you are using on your profile page. Your public posts and replies will still be accessible by other means.')],
                '$unlisted'           => ['unlisted', DI::l10n()->t('Make public posts unlisted'), DI::pConfig()->get(local_user(), 'system', 'unlisted'), DI::l10n()->t('Your public posts will not appear on the community pages or in search results, nor be sent to relay servers. However they can still appear on public feeds on remote servers.')],
                '$accessiblephotos'   => ['accessible-photos', DI::l10n()->t('Make all posted pictures accessible'), DI::pConfig()->get(local_user(), 'system', 'accessible-photos'), DI::l10n()->t("This option makes every posted picture accessible via the direct link. This is a workaround for the problem that most other networks can't handle permissions on pictures. Non public pictures still won't be visible for the public on your photo albums though.")],
-               '$blockwall'          => ['blockwall', DI::l10n()->t('Allow friends to post to your profile page?'), (intval($a->user['blockwall']) ? '0' : '1'), DI::l10n()->t('Your contacts may write posts on your profile wall. These posts will be distributed to your contacts')], // array('blockwall', DI::l10n()->t('Allow friends to post to your profile page:'), !$blockwall, ''),
-               '$blocktags'          => ['blocktags', DI::l10n()->t('Allow friends to tag your posts?'), (intval($a->user['blocktags']) ? '0' : '1'), DI::l10n()->t('Your contacts can add additional tags to your posts.')], // array('blocktags', DI::l10n()->t('Allow friends to tag your posts:'), !$blocktags, ''),
+               '$blockwall'          => ['blockwall', DI::l10n()->t('Allow friends to post to your profile page?'), (intval($user['blockwall']) ? '0' : '1'), DI::l10n()->t('Your contacts may write posts on your profile wall. These posts will be distributed to your contacts')], // array('blockwall', DI::l10n()->t('Allow friends to post to your profile page:'), !$blockwall, ''),
+               '$blocktags'          => ['blocktags', DI::l10n()->t('Allow friends to tag your posts?'), (intval($user['blocktags']) ? '0' : '1'), DI::l10n()->t('Your contacts can add additional tags to your posts.')], // array('blocktags', DI::l10n()->t('Allow friends to tag your posts:'), !$blocktags, ''),
                '$unkmail'            => ['unkmail', DI::l10n()->t('Permit unknown people to send you private mail?'), $unkmail, DI::l10n()->t('Friendica network users may send you private messages even if they are not in your contact list.')],
                '$cntunkmail'         => ['cntunkmail', DI::l10n()->t('Maximum private messages per day from unknown people:'), $cntunkmail , DI::l10n()->t("\x28to prevent spam abuse\x29")],
-               '$group_select'       => Group::displayGroupSelection(local_user(), $a->user['def_gid']),
+               '$group_select'       => Group::displayGroupSelection(local_user(), $user['def_gid']),
                '$permissions'        => DI::l10n()->t('Default Post Permissions'),
                '$aclselect'          => ACL::getFullSelectorHTML(DI::page(), $a->user),
 
index e025269693d3fe9cad036c52843963b217638533..2bd5eb8c91bf453880cdc9bd0c6367634fcc1621 100644 (file)
@@ -29,6 +29,7 @@ use Friendica\Database\DBA;
 use Friendica\DI;
 use Friendica\Model\Attach;
 use Friendica\Model\Item;
+use Friendica\Model\Profile;
 use Friendica\Model\User;
 use Friendica\Module\BaseProfile;
 use Friendica\Security\Security;
@@ -120,6 +121,7 @@ function videos_content(App $a)
                return;
        }
 
+       $profile = Profile::getByUID($user['uid']);
        //$phototypes = Photo::supportedTypes();
 
        $_SESSION['video_return'] = DI::args()->getCommand();
@@ -171,7 +173,7 @@ function videos_content(App $a)
 
        // tabs
        $_is_owner = (local_user() && (local_user() == $user['uid']));
-       $o .= BaseProfile::getTabsHTML($a, 'videos', $_is_owner, $user);
+       $o .= BaseProfile::getTabsHTML($a, 'videos', $_is_owner, $user['nickname'], $profile['hide-friends']);
 
        //
        // dispatch request
index c9aafe14eb25228f88a19cb733f0cd8244f485f2..993045ac5fd143e9c81848923fb3b182f1e370d8 100644 (file)
@@ -36,6 +36,7 @@ use Friendica\Core\Theme;
 use Friendica\Database\Database;
 use Friendica\Model\Contact;
 use Friendica\Model\Profile;
+use Friendica\Model\User;
 use Friendica\Module\Special\HTTPException as ModuleHTTPException;
 use Friendica\Network\HTTPException;
 use Friendica\Util\ConfigFileLoader;
@@ -66,6 +67,8 @@ class App
                'events_in_profile' => true
        ];
 
+       private $user_id       = 0;
+       private $nickname      = '';
        private $timezone      = '';
        private $profile_owner = 0;
        private $contact_id    = 0;
@@ -126,6 +129,65 @@ class App
         */
        private $pConfig;
 
+       /**
+        * Set the user ID
+        *
+        * @param int $user_id
+        * @return void
+        */
+       public function setUserId(int $user_id)
+       {
+               $this->user_id = $user_id;
+       }
+
+       /**
+        * Set the nickname
+        *
+        * @param int $user_id
+        * @return void
+        */
+       public function setNickname(string $nickname)
+       {
+               $this->nickname = $nickname;
+       }
+
+       /**
+        * Fetch the user id
+        * @return int 
+        */
+       public function getUserId()
+       {
+               return $this->user_id;
+       }
+
+       /**
+        * Fetch the user nick name
+        * @return string
+        */
+       public function getNickname()
+       {
+               return $this->nickname;
+       }
+
+       /**
+        * Fetch a specific user field
+        *
+        * @param string $index 
+        * @return mixed 
+        */
+       public function getUserValue(string $index)
+       {
+               if (empty($this->user_id)) {
+                       return null;
+               }
+
+               if (empty($this->user)) {
+                       $this->user = User::getById($this->user_id);
+               }
+
+               return $this->user[$index] ?? null;
+       }
+
        /**
         * Set the profile owner ID
         *
index c6e3e723ce9fccea247179c53be10a7751083d85..97b70cf5c0940ebe2e477cd499d569d19967e4a0 100644 (file)
@@ -277,8 +277,8 @@ class Page implements ArrayAccess
                // If you're just visiting, let javascript take you home
                if (!empty($_SESSION['visitor_home'])) {
                        $homebase = $_SESSION['visitor_home'];
-               } elseif (!empty($app->user['nickname'])) {
-                       $homebase = 'profile/' . $app->user['nickname'];
+               } elseif (!empty($app->getNickname())) {
+                       $homebase = 'profile/' . $app->getNickname();
                }
 
                if (isset($homebase)) {
index cb8f8c790de7317e064db3ee88b97c704e02b3bb..f6dbedfa735030b4837bff27dc5a7bc2b2e1a889 100644 (file)
@@ -22,6 +22,7 @@
 namespace Friendica;
 
 use Friendica\Core\Logger;
+use Friendica\Model\User;
 
 /**
  * All modules in Friendica should extend BaseModule, although not all modules
@@ -135,10 +136,9 @@ abstract class BaseModule
         */
        public static function getFormSecurityToken($typename = '')
        {
-               $a = DI::app();
-
+               $user = User::getById(DI::app()->getUserId(), ['guid', 'prvkey']);
                $timestamp = time();
-               $sec_hash = hash('whirlpool', ($a->user['guid'] ?? '') . ($a->user['prvkey'] ?? '') . session_id() . $timestamp . $typename);
+               $sec_hash = hash('whirlpool', ($user['guid'] ?? '') . ($user['prvkey'] ?? '') . session_id() . $timestamp . $typename);
 
                return $timestamp . '.' . $sec_hash;
        }
@@ -163,14 +163,14 @@ abstract class BaseModule
 
                $max_livetime = 10800; // 3 hours
 
-               $a = DI::app();
+               $user = User::getById(DI::app()->getUserId(), ['guid', 'prvkey']);
 
                $x = explode('.', $hash);
                if (time() > (intval($x[0]) + $max_livetime)) {
                        return false;
                }
 
-               $sec_hash = hash('whirlpool', ($a->user['guid'] ?? '') . ($a->user['prvkey'] ?? '') . session_id() . $x[0] . $typename);
+               $sec_hash = hash('whirlpool', ($user['guid'] ?? '') . ($user['prvkey'] ?? '') . session_id() . $x[0] . $typename);
 
                return ($sec_hash == $x[1]);
        }
@@ -183,8 +183,7 @@ abstract class BaseModule
        public static function checkFormSecurityTokenRedirectOnError($err_redirect, $typename = '', $formname = 'form_security_token')
        {
                if (!self::checkFormSecurityToken($typename, $formname)) {
-                       $a = DI::app();
-                       Logger::log('checkFormSecurityToken failed: user ' . $a->user['guid'] . ' - form element ' . $typename);
+                       Logger::log('checkFormSecurityToken failed: user ' . DI::app()->getNickname() . ' - form element ' . $typename);
                        Logger::log('checkFormSecurityToken failed: _REQUEST data: ' . print_r($_REQUEST, true), Logger::DATA);
                        notice(self::getFormSecurityStandardErrorMessage());
                        DI::baseUrl()->redirect($err_redirect);
@@ -194,8 +193,7 @@ abstract class BaseModule
        public static function checkFormSecurityTokenForbiddenOnError($typename = '', $formname = 'form_security_token')
        {
                if (!self::checkFormSecurityToken($typename, $formname)) {
-                       $a = DI::app();
-                       Logger::log('checkFormSecurityToken failed: user ' . $a->user['guid'] . ' - form element ' . $typename);
+                       Logger::log('checkFormSecurityToken failed: user ' . DI::app()->getNickname() . ' - form element ' . $typename);
                        Logger::log('checkFormSecurityToken failed: _REQUEST data: ' . print_r($_REQUEST, true), Logger::DATA);
 
                        throw new \Friendica\Network\HTTPException\ForbiddenException();
index 20b3a93258636582eb8db614b9cf6b9dacb37de7..dbc6d17a3265765b6728bf1cbaed4458607413c6 100644 (file)
@@ -154,7 +154,7 @@ class Nav
                 * Display the current site location as a navigation aid.
                 */
 
-               $myident = ((is_array($a->user) && isset($a->user['nickname'])) ? $a->user['nickname'] . '@' : '');
+               $myident = !empty($a->getNickname() ? $a->getNickname() . '@' : '');
 
                $sitelocation = $myident . substr(DI::baseUrl()->get($ssl_state), strpos(DI::baseUrl()->get($ssl_state), '//') + 2);
 
@@ -188,18 +188,18 @@ class Nav
                if (local_user()) {
                        if (!empty($a->user)) {
                                // user menu
-                               $nav['usermenu'][] = ['profile/' . $a->user['nickname'], DI::l10n()->t('Status'), '', DI::l10n()->t('Your posts and conversations')];
-                               $nav['usermenu'][] = ['profile/' . $a->user['nickname'] . '/profile', DI::l10n()->t('Profile'), '', DI::l10n()->t('Your profile page')];
-                               $nav['usermenu'][] = ['photos/' . $a->user['nickname'], DI::l10n()->t('Photos'), '', DI::l10n()->t('Your photos')];
-                               $nav['usermenu'][] = ['videos/' . $a->user['nickname'], DI::l10n()->t('Videos'), '', DI::l10n()->t('Your videos')];
+                               $nav['usermenu'][] = ['profile/' . $a->getNickname(), DI::l10n()->t('Status'), '', DI::l10n()->t('Your posts and conversations')];
+                               $nav['usermenu'][] = ['profile/' . $a->getNickname() . '/profile', DI::l10n()->t('Profile'), '', DI::l10n()->t('Your profile page')];
+                               $nav['usermenu'][] = ['photos/' . $a->getNickname(), DI::l10n()->t('Photos'), '', DI::l10n()->t('Your photos')];
+                               $nav['usermenu'][] = ['videos/' . $a->getNickname(), DI::l10n()->t('Videos'), '', DI::l10n()->t('Your videos')];
                                $nav['usermenu'][] = ['events/', DI::l10n()->t('Events'), '', DI::l10n()->t('Your events')];
                                $nav['usermenu'][] = ['notes/', DI::l10n()->t('Personal notes'), '', DI::l10n()->t('Your personal notes')];
 
                                // user info
-                               $contact = DBA::selectFirst('contact', ['micro'], ['uid' => $a->user['uid'], 'self' => true]);
+                               $contact = DBA::selectFirst('contact', ['micro'], ['uid' => $a->getUserId(), 'self' => true]);
                                $userinfo = [
                                        'icon' => (DBA::isResult($contact) ? DI::baseUrl()->remove($contact['micro']) : Contact::DEFAULT_AVATAR_MICRO),
-                                       'name' => $a->user['username'],
+                                       'name' => $a->getUserValue('username'),
                                ];
                        } else {
                                DI::logger()->warning('Empty $a->user for local user', ['local_user' => local_user(), '$a' => $a]);
@@ -274,7 +274,7 @@ class Nav
                if (local_user() && !empty($a->user)) {
                        $nav['network'] = ['network', DI::l10n()->t('Network'), '', DI::l10n()->t('Conversations from your friends')];
 
-                       $nav['home'] = ['profile/' . $a->user['nickname'], DI::l10n()->t('Home'), '', DI::l10n()->t('Your posts and conversations')];
+                       $nav['home'] = ['profile/' . $a->getNickname(), DI::l10n()->t('Home'), '', DI::l10n()->t('Your posts and conversations')];
 
                        // Don't show notifications for public communities
                        if (Session::get('page_flags', '') != User::PAGE_FLAGS_COMMUNITY) {
index 297ea6e7444974771965dd5e414b7d3b0c868893..48f87b7beb08d76787cc0eefe527085aaf8ce6e8 100644 (file)
@@ -26,12 +26,24 @@ use Friendica\Database\DBA;
 use Friendica\DI;
 use Friendica\Model\Contact;
 use Friendica\Model\Group;
+use Friendica\Model\User;
 
 /**
  * Handle ACL management and display
  */
 class ACL
 {
+       /**
+        * Returns the default lock state for the given user id
+        * @param int $uid 
+        * @return bool "true" if the default settings are non public
+        */
+       public static function getLockstateForUserId(int $uid)
+       {
+               $user = User::getById($uid, ['allow_cid', 'allow_gid', 'deny_cid', 'deny_gid']);
+               return !empty($user['allow_cid']) || !empty($user['allow_gid']) || !empty($user['deny_cid']) || !empty($user['deny_gid']);
+       }
+
        /**
         * Returns a select input tag for private message recipient
         *
index ff9c028af08190e78e4c618797a95d06225bc0d4..5bbdbd2eb8579f74bc7c8d6c7ff0e59682dcb4f4 100644 (file)
@@ -68,7 +68,7 @@ class Introduction extends BaseFactory
                $this->l10n         = $l10n;
                $this->pConfig      = $pConfig;
                $this->session      = $session;
-               $this->nick         = $app->user['nickname'] ?? '';
+               $this->nick         = $app->getNickname() ?? '';
        }
 
        /**
index 307724a2629dfbde29053155bd8c979f41fa7a10..7afd9554742f76bbd7e0b6a58e415aafd6cb329b 100644 (file)
@@ -173,7 +173,7 @@ class Mail
                        $recip_host = substr($recip_host, 0, strpos($recip_host, '/'));
 
                        $recip_handle = (($contact['addr']) ? $contact['addr'] : $contact['nick'] . '@' . $recip_host);
-                       $sender_handle = $a->user['nickname'] . '@' . substr(DI::baseUrl(), strpos(DI::baseUrl(), '://') + 3);
+                       $sender_handle = $a->getNickname() . '@' . substr(DI::baseUrl(), strpos(DI::baseUrl(), '://') + 3);
 
                        $conv_guid = System::createUUID();
                        $convuri = $recip_handle . ':' . $conv_guid;
index 55bbb8b84136dbf52182e0d5ebd7575b989c95ec..49423ce9ef74792b17423aabd52380ef7ec5006e 100644 (file)
@@ -155,6 +155,8 @@ class User
                $system['region'] = '';
                $system['country-name'] = '';
                $system['net-publish'] = false;
+               $system['picdate'] = '';
+               $system['theme'] = '';
 
                // Ensure that the user contains data
                $user = DBA::selectFirst('user', ['prvkey', 'guid'], ['uid' => 0]);
index 9d5c36f42360b477f8e87342bfa71fb3d96a1581..3e6f8a2a2a9fc90e28fda7e42057694607efa2a8 100644 (file)
@@ -77,7 +77,7 @@ class BaseApi extends BaseModule
 
                $a = DI::app();
 
-               if (!empty($a->user['uid']) && $a->user['uid'] != self::getCurrentUserID()) {
+               if (empty($a->getUserId()) || $a->getUserId() != self::getCurrentUserID()) {
                        throw new HTTPException\ForbiddenException(DI::l10n()->t('Permission denied.'));
                }
        }
@@ -88,7 +88,7 @@ class BaseApi extends BaseModule
 
                $a = DI::app();
 
-               if (!empty($a->user['uid']) && $a->user['uid'] != self::getCurrentUserID()) {
+               if (empty($a->getUserId()) || $a->getUserId() != self::getCurrentUserID()) {
                        throw new HTTPException\ForbiddenException(DI::l10n()->t('Permission denied.'));
                }
        }
@@ -99,7 +99,7 @@ class BaseApi extends BaseModule
 
                $a = DI::app();
 
-               if (!empty($a->user['uid']) && $a->user['uid'] != self::getCurrentUserID()) {
+               if (empty($a->getUserId()) || $a->getUserId() != self::getCurrentUserID()) {
                        throw new HTTPException\ForbiddenException(DI::l10n()->t('Permission denied.'));
                }
        }
@@ -110,7 +110,7 @@ class BaseApi extends BaseModule
 
                $a = DI::app();
 
-               if (!empty($a->user['uid']) && $a->user['uid'] != self::getCurrentUserID()) {
+               if (empty($a->getUserId()) || $a->getUserId() != self::getCurrentUserID()) {
                        throw new HTTPException\ForbiddenException(DI::l10n()->t('Permission denied.'));
                }
        }
index 832c8fd2f8928e53881f845159dc20ed5b2ed4a9..7ab7b8b7ce7eaf64afd02709cbfabab5e45b475b 100644 (file)
@@ -39,10 +39,8 @@ class BaseProfile extends BaseModule
         * @return string
         * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         */
-       public static function getTabsHTML(App $a, string $current, bool $is_owner, array $profile)
+       public static function getTabsHTML(App $a, string $current, bool $is_owner, string $nickname, bool $hide_friends)
        {
-               $nickname = $profile['nickname'];
-
                $baseProfileUrl = DI::baseUrl() . '/profile/' . $nickname;
 
                $tabs = [
@@ -123,7 +121,7 @@ class BaseProfile extends BaseModule
                        ];
                }
 
-               if (empty($profile['hide-friends'])) {
+               if (!$hide_friends) {
                        $tabs[] = [
                                'label' => DI::l10n()->t('Contacts'),
                                'url'   => $baseProfileUrl . '/contacts',
index fab9dbc6c59e56fcc243d6744bad021b78b99c4f..9db1cc1381ea2918facd523c056acdf6a7cfb4e9 100644 (file)
@@ -60,10 +60,10 @@ class Bookmarklet extends BaseModule
 
                        $x = [
                                'is_owner'         => true,
-                               'allow_location'   => $app->user['allow_location'],
-                               'default_location' => $app->user['default-location'],
-                               'nickname'         => $app->user['nickname'],
-                               'lockstate'        => ((is_array($app->user) && ((strlen($app->user['allow_cid'])) || (strlen($app->user['allow_gid'])) || (strlen($app->user['deny_cid'])) || (strlen($app->user['deny_gid'])))) ? 'lock' : 'unlock'),
+                               'allow_location'   => $app->getUserValue('allow_location'),
+                               'default_location' => $app->getUserValue('default-location'),
+                               'nickname'         => $app->getNickname(),
+                               'lockstate'        => ACL::getLockstateForUserId($app->getUserId()) ? 'lock' : 'unlock',
                                'default_perms'    => ACL::getDefaultUserPermissions($app->user),
                                'acl'              => ACL::getFullSelectorHTML(DI::page(), $app->user, true),
                                'bang'             => '',
index 955d4bab0e7cc2fa465c5bb6e078b8f6498b19ee..01d3ec138547a6b8f64dacd209f8d1c669913738 100644 (file)
@@ -55,10 +55,11 @@ class Poke extends BaseModule
 
                $private = !empty($_POST['private']) ? Model\Item::PRIVATE : Model\Item::PUBLIC;
 
-               $allow_cid     = ($private ? '<' . $contact['id']. '>' : $a->user['allow_cid']);
-               $allow_gid     = ($private ? '' : $a->user['allow_gid']);
-               $deny_cid      = ($private ? '' : $a->user['deny_cid']);
-               $deny_gid      = ($private ? '' : $a->user['deny_gid']);
+               $user = Model\User::getById($a->getUserId());
+               $allow_cid     = ($private ? '<' . $contact['id']. '>' : $user['allow_cid']);
+               $allow_gid     = ($private ? '' : $user['allow_gid']);
+               $deny_cid      = ($private ? '' : $user['deny_cid']);
+               $deny_gid      = ($private ? '' : $user['deny_gid']);
 
                $actor = Contact::getById($a->getContactId());
 
index 18332fe27e4cf1f5c4f20cee45e1aca654e74007..8482bd3c73b65abb68f93bc6a1960b3d8c168dad 100644 (file)
@@ -130,10 +130,10 @@ class Community extends BaseModule
                        if (Session::isAuthenticated()) {
                                $x = [
                                        'is_owner' => true,
-                                       'allow_location' => DI::app()->user['allow_location'],
-                                       'default_location' => DI::app()->user['default-location'],
-                                       'nickname' => DI::app()->user['nickname'],
-                                       'lockstate' => (is_array(DI::app()->user) && (strlen(DI::app()->user['allow_cid']) || strlen(DI::app()->user['allow_gid']) || strlen(DI::app()->user['deny_cid']) || strlen(DI::app()->user['deny_gid'])) ? 'lock' : 'unlock'),
+                                       'allow_location' => DI::app()->getUserValue('allow_location'),
+                                       'default_location' => DI::app()->getUserValue('default-location'),
+                                       'nickname' => DI::app()->getNickname(),
+                                       'lockstate' => ACL::getLockstateForUserId(DI::app()->getUserId()) ? 'lock' : 'unlock',
                                        'acl' => ACL::getFullSelectorHTML(DI::page(), DI::app()->user, true),
                                        'bang' => '',
                                        'visitor' => 'block',
index 046c6de8c3d6181cfc4d45fd220c7caccebd1545..6d758ca502dff3f3afeaed9bd8b18b0ef710a5d6 100644 (file)
@@ -140,12 +140,10 @@ class Network extends BaseModule
 
                        $x = [
                                'is_owner' => true,
-                               'allow_location' => $a->user['allow_location'],
-                               'default_location' => $a->user['default-location'],
-                               'nickname' => $a->user['nickname'],
-                               'lockstate' => (self::$groupId || self::$forumContactId || self::$network || (is_array($a->user) &&
-                                       (strlen($a->user['allow_cid']) || strlen($a->user['allow_gid']) ||
-                                               strlen($a->user['deny_cid']) || strlen($a->user['deny_gid']))) ? 'lock' : 'unlock'),
+                               'allow_location' => $a->getUserValue('allow_location'),
+                               'default_location' => $a->getUserValue('default-location'),
+                               'nickname' => $a->getNickname(),
+                               'lockstate' => self::$groupId || self::$forumContactId || self::$network || ACL::getLockstateForUserId($a->getUserId()) ? 'lock' : 'unlock',
                                'default_perms' => ACL::getDefaultUserPermissions($a->user),
                                'acl' => ACL::getFullSelectorHTML(DI::page(), $a->user, true, $default_permissions),
                                'bang' => ((self::$groupId || self::$forumContactId || self::$network) ? '!' : ''),
index abcc5679ee20893268306f1ad4f98fcbc3a20d39..788b402682028945e07f9c244fefa7a610b8dee7 100644 (file)
@@ -109,7 +109,7 @@ class Delegation extends BaseModule
                $ret = [];
                Hook::callAll('home_init', $ret);
 
-               DI::baseUrl()->redirect('profile/' . DI::app()->user['nickname']);
+               DI::baseUrl()->redirect('profile/' . DI::app()->getNickname());
                // NOTREACHED
        }
 
@@ -130,7 +130,7 @@ class Delegation extends BaseModule
 
                        $identities[$key]['thumb'] = Contact::getAvatarUrlForId($self['id'], Proxy::SIZE_THUMB, $self['updated']);
 
-                       $identities[$key]['selected'] = ($identity['nickname'] === DI::app()->user['nickname']);
+                       $identities[$key]['selected'] = ($identity['nickname'] === DI::app()->getNickname());
 
                        $condition = ["`uid` = ? AND `msg` != '' AND NOT (`type` IN (?, ?)) AND NOT `seen`", $identity['uid'], Notification\Type::INTRO, Notification\Type::MAIL];
                        $params = ['distinct' => true, 'expression' => 'parent'];
index b8df844367acccf66b7c3120e417a3effa59f31d..e5547188bb4c7f56b62fa393c52e8a5c5fa6dc1b 100644 (file)
@@ -40,7 +40,7 @@ class HCard extends BaseModule
 
                if ((local_user()) && ($parameters['action'] ?? '') === 'view') {
                        // A logged in user views a profile of a user
-                       $nickname = $a->user['nickname'];
+                       $nickname = $a->getNickname();
                } elseif (empty($parameters['action'])) {
                        // Show the profile hCard
                        $nickname = $parameters['profile'];
index 21d92676cc1c5704e457802bff731cbf12e68a78..38a881f29667672c99a61a1e92d99981dded6661 100644 (file)
@@ -42,7 +42,7 @@ class Home extends BaseModule
 
                Hook::callAll('home_init', $ret);
 
-               if (local_user() && ($app->user['nickname'])) {
+               if (local_user() && ($app->getNickname())) {
                        DI::baseUrl()->redirect('network');
                }
 
index 2c32963d5ec6bfebcbe12d88d5c1a0d7411d5c24..d68fd053cd77b604578af4ff76c0db473aeb69d9 100644 (file)
@@ -95,7 +95,7 @@ class Invite extends BaseModule
                                $nmessage = $message;
                        }
 
-                       $additional_headers = 'From: "' . $app->user['email'] . '" <' . DI::emailer()->getSiteEmailAddress() . ">\n"
+                       $additional_headers = 'From: "' . $app->getUserValue('email') . '" <' . DI::emailer()->getSiteEmailAddress() . ">\n"
                                . 'Content-type: text/plain; charset=UTF-8' . "\n"
                                . 'Content-transfer-encoding: 8bit';
 
@@ -168,7 +168,7 @@ class Invite extends BaseModule
                                DI::l10n()->t('You are cordially invited to join me and other close friends on Friendica - and help us to create a better social web.') . "\r\n" . "\r\n"
                                . $linkTxt
                                . "\r\n" . "\r\n" . (($inviteOnly) ? DI::l10n()->t('You will need to supply this invitation code: $invite_code') . "\r\n" . "\r\n" : '') . DI::l10n()->t('Once you have registered, please connect with me via my profile page at:')
-                               . "\r\n" . "\r\n" . DI::baseUrl()->get() . '/profile/' . $app->user['nickname']
+                               . "\r\n" . "\r\n" . DI::baseUrl()->get() . '/profile/' . $app->getNickname()
                                . "\r\n" . "\r\n" . DI::l10n()->t('For more information about the Friendica project and why we feel it is important, please visit http://friendi.ca') . "\r\n" . "\r\n",
                        ],
                        '$submit'              => DI::l10n()->t('Submit')
index 1b97d047f7c1a846722f22e4c3475f65f9055069..b308ae14c1db1cf9cd3bfe988d2fd7359c560d1b 100644 (file)
@@ -45,7 +45,7 @@ class NoScrape extends BaseModule
                        $which = $parameters['nick'];
                } elseif (local_user() && isset($parameters['profile']) && DI::args()->get(2) == 'view') {
                        // view infos about a known profile (needs a login)
-                       $which = $a->user['nickname'];
+                       $which = $a->getNickname();
                } else {
                        System::jsonError(403, 'Authentication required');
                }
index ad30ab4ac3fcb1c1c20e235a67c31671f0b1676e..7138ac73fdb5404075070b874f56ac082c7c2909 100644 (file)
@@ -62,7 +62,7 @@ class Common extends BaseProfile
                        $a->redirect('profile/' . $nickname . '/contacts');
                };
 
-               $o = self::getTabsHTML($a, 'contacts', false, $profile);
+               $o = self::getTabsHTML($a, 'contacts', false, $profile['nickname'], $profile['hide-friends']);
 
                $tabs = self::getContactFilterTabs('profile/' . $nickname, 'common', $displayCommonTab);
 
index 3307694e7f8fed52a0c4b86785a00db7b41091c4..8ccf1f73613dbe2fc091b9da17fd5636ffbcfafc 100644 (file)
@@ -59,7 +59,7 @@ class Contacts extends Module\BaseProfile
 
                Nav::setSelected('home');
 
-               $o = self::getTabsHTML($a, 'contacts', $is_owner, $profile);
+               $o = self::getTabsHTML($a, 'contacts', $is_owner, $profile['nickname'], $profile['hide-friends']);
 
                $tabs = self::getContactFilterTabs('profile/' . $nickname, $type, Session::isAuthenticated() && $profile['uid'] != local_user());
 
index a4fc696854dca5ad1ad843475f0006002a947698..9f056f8741f0552c53a539c653a1a77e4c726157 100644 (file)
@@ -104,7 +104,7 @@ class Profile extends BaseProfile
                Nav::setSelected('home');
 
                $is_owner = local_user() == $profile['uid'];
-               $o = self::getTabsHTML($a, 'profile', $is_owner, $profile);
+               $o = self::getTabsHTML($a, 'profile', $is_owner, $profile['nickname'], $profile['hide-friends']);
 
                if (!empty($profile['hidewall']) && !$is_owner && !$remote_contact_id) {
                        notice(DI::l10n()->t('Access to this profile has been restricted.'));
index b27da00c82577921518c82640767a47d52e2d78e..5c5581d57066c6acf470baaa9863d5f4b88be5b3 100644 (file)
@@ -58,7 +58,7 @@ class Schedule extends BaseProfile
 
                $a = DI::app();
 
-               $o = self::getTabsHTML($a, 'schedule', true, $a->user);
+               $o = self::getTabsHTML($a, 'schedule', true, $a->getNickname(), false);
 
                $schedule = [];
                $delayed = DBA::select('delayed-post', [], ['uid' => local_user()]);
index 30ac5f06ff5907cd90c42ca0a87faa4796955886..94e93209ea345299227c043e95ed7842311c8c69 100644 (file)
@@ -110,7 +110,7 @@ class Status extends BaseProfile
                        return '';
                }
 
-               $o .= self::getTabsHTML($a, 'status', $is_owner, $profile);
+               $o .= self::getTabsHTML($a, 'status', $is_owner, $profile['nickname'], $profile['hide-friends']);
 
                $o .= Widget::commonFriendsVisitor($profile['uid'], $profile['nickname']);
 
@@ -125,14 +125,9 @@ class Status extends BaseProfile
                        $x = [
                                'is_owner' => $is_owner,
                                'allow_location' => ($is_owner || $commvisitor) && $profile['allow_location'],
-                               'default_location' => $is_owner ? $a->user['default-location'] : '',
+                               'default_location' => $is_owner ? $a->getUserValue('default-location') : '',
                                'nickname' => $profile['nickname'],
-                               'lockstate' => is_array($a->user)
-                               && (strlen($a->user['allow_cid'])
-                                       || strlen($a->user['allow_gid'])
-                                       || strlen($a->user['deny_cid'])
-                                       || strlen($a->user['deny_gid'])
-                               ) ? 'lock' : 'unlock',
+                               'lockstate' => ACL::getLockstateForUserId($a->getUserId()) ? 'lock' : 'unlock',
                                'acl' => $is_owner ? ACL::getFullSelectorHTML(DI::page(), $a->user, true) : '',
                                'bang' => '',
                                'visitor' => $is_owner || $commvisitor ? 'block' : 'none',
index 745879ec5e1106d7bbef801aa985fda32ae06734..89bc78b32fd229054a846b8a0e79f36b6251bab8 100644 (file)
@@ -38,7 +38,7 @@ class Delegation extends BaseSettings
 {
        public static function post(array $parameters = [])
        {
-               if (!local_user() || !empty(DI::app()->user['uid']) && DI::app()->user['uid'] != local_user()) {
+               if (!local_user() || empty(DI::app()->getUserId()) || DI::app()->getUserId() != local_user()) {
                        throw new HTTPException\ForbiddenException(DI::l10n()->t('Permission denied.'));
                }
 
index 8d3bf77dbc6b64324dd28895c710924f3fa5b0c2..a82c992c447d331b42bace7b30f7182f8e35955d 100644 (file)
@@ -38,13 +38,13 @@ class Display extends BaseSettings
 {
        public static function post(array $parameters = [])
        {
-               if (!local_user() || !empty(DI::app()->user['uid']) && DI::app()->user['uid'] != local_user()) {
+               if (!local_user() || empty(DI::app()->getUserId()) || DI::app()->getUserId() != local_user()) {
                        throw new HTTPException\ForbiddenException(DI::l10n()->t('Permission denied.'));
                }
 
                self::checkFormSecurityTokenRedirectOnError('/settings/display', 'settings_display');
 
-               $theme              = !empty($_POST['theme'])              ? Strings::escapeTags(trim($_POST['theme']))        : DI::app()->user['theme'];
+               $theme              = !empty($_POST['theme'])              ? Strings::escapeTags(trim($_POST['theme'])) : DI::app()->getUserValue('theme');
                $mobile_theme       = !empty($_POST['mobile_theme'])       ? Strings::escapeTags(trim($_POST['mobile_theme'])) : '';
                $nosmile            = !empty($_POST['nosmile'])            ? intval($_POST['nosmile'])            : 0;
                $first_day_of_week  = !empty($_POST['first_day_of_week'])  ? intval($_POST['first_day_of_week'])  : 0;
@@ -92,7 +92,7 @@ class Display extends BaseSettings
                DI::pConfig()->set(local_user(), 'system', 'first_day_of_week'       , $first_day_of_week);
 
                if (in_array($theme, Theme::getAllowedList())) {
-                       if ($theme == DI::app()->user['theme']) {
+                       if ($theme == DI::app()->getUserValue('theme')) {
                                // call theme_post only if theme has not been changed
                                if (($themeconfigfile = Theme::getConfigFile($theme)) !== null) {
                                        require_once $themeconfigfile;
@@ -152,7 +152,7 @@ class Display extends BaseSettings
                        }
                }
 
-               $theme_selected        = DI::app()->user['theme'] ?: $default_theme;
+               $theme_selected        = DI::app()->getUserValue('theme') ?: $default_theme;
                $mobile_theme_selected = Session::get('mobile-theme', $default_mobile_theme);
 
                $itemspage_network = intval(DI::pConfig()->get(local_user(), 'system', 'itemspage_network'));
index 35740a0a7e0f375f806ecab3846b84ded471103d..86e23234d4871bc2a868f327348c9ee10273d103 100644 (file)
@@ -207,7 +207,7 @@ class Index extends BaseSettings
                        '$baseurl' => DI::baseUrl()->get(true),
                ]);
 
-               $personal_account = !in_array($a->user['page-flags'], [User::PAGE_FLAGS_COMMUNITY, User::PAGE_FLAGS_PRVGROUP]);
+               $personal_account = !in_array($profile['page-flags'], [User::PAGE_FLAGS_COMMUNITY, User::PAGE_FLAGS_PRVGROUP]);
 
                $tpl = Renderer::getMarkupTemplate('settings/profile/index.tpl');
                $o .= Renderer::replaceMacros($tpl, [
@@ -220,7 +220,7 @@ class Index extends BaseSettings
                        '$banner' => DI::l10n()->t('Edit Profile Details'),
                        '$submit' => DI::l10n()->t('Submit'),
                        '$profpic' => DI::l10n()->t('Change Profile Photo'),
-                       '$profpiclink' => '/photos/' . $a->user['nickname'],
+                       '$profpiclink' => '/photos/' . $profile['nickname'],
                        '$viewprof' => DI::l10n()->t('View Profile'),
 
                        '$lbl_personal_section' => DI::l10n()->t('Personal'),
@@ -232,16 +232,16 @@ class Index extends BaseSettings
                        '$lbl_profile_photo' => DI::l10n()->t('Upload Profile Photo'),
 
                        '$baseurl' => DI::baseUrl()->get(true),
-                       '$nickname' => $a->user['nickname'],
+                       '$nickname' => $profile['nickname'],
                        '$name' => ['name', DI::l10n()->t('Display name:'), $profile['name']],
                        '$about' => ['about', DI::l10n()->t('Description:'), $profile['about']],
-                       '$dob' => Temporal::getDateofBirthField($profile['dob'], $a->user['timezone']),
+                       '$dob' => Temporal::getDateofBirthField($profile['dob'], $profile['timezone']),
                        '$address' => ['address', DI::l10n()->t('Street Address:'), $profile['address']],
                        '$locality' => ['locality', DI::l10n()->t('Locality/City:'), $profile['locality']],
                        '$region' => ['region', DI::l10n()->t('Region/State:'), $profile['region']],
                        '$postal_code' => ['postal_code', DI::l10n()->t('Postal/Zip Code:'), $profile['postal-code']],
                        '$country_name' => ['country_name', DI::l10n()->t('Country:'), $profile['country-name']],
-                       '$age' => ((intval($profile['dob'])) ? '(' . DI::l10n()->t('Age: ') . DI::l10n()->tt('%d year old', '%d years old', Temporal::getAgeByTimezone($profile['dob'], $a->user['timezone'])) . ')' : ''),
+                       '$age' => ((intval($profile['dob'])) ? '(' . DI::l10n()->t('Age: ') . DI::l10n()->tt('%d year old', '%d years old', Temporal::getAgeByTimezone($profile['dob'], $profile['timezone'])) . ')' : ''),
                        '$xmpp' => ['xmpp', DI::l10n()->t('XMPP (Jabber) address:'), $profile['xmpp'], DI::l10n()->t('The XMPP address will be propagated to your contacts so that they can follow you.')],
                        '$homepage' => ['homepage', DI::l10n()->t('Homepage URL:'), $profile['homepage']],
                        '$pub_keywords' => ['pub_keywords', DI::l10n()->t('Public Keywords:'), $profile['pub_keywords'], DI::l10n()->t('(Used for suggesting potential friends, can be seen by others)')],
@@ -251,7 +251,7 @@ class Index extends BaseSettings
                                <p>Reorder by dragging the field title.</p>
                                <p>Empty the label field to remove a custom field.</p>
                                <p>Non-public fields can only be seen by the selected Friendica contacts or the Friendica contacts in the selected groups.</p>",
-                               'profile/' . $a->user['nickname']
+                               'profile/' . $profile['nickname']
                        ),
                        '$custom_fields' => $custom_fields,
                ]);
index adbf83311aabce90c50693bb8d150dd4a82fb2e2..0d78ae4c3487ec343d6cb1de28ce39d78d36cc5b 100644 (file)
@@ -57,7 +57,7 @@ class Crop extends BaseSettings
                $selectionW = intval($_POST['width']  ?? 0);
                $selectionH = intval($_POST['height'] ?? 0);
 
-               $path = 'profile/' . DI::app()->user['nickname'];
+               $path = 'profile/' . DI::app()->getNickname();
 
                $base_image = Photo::selectFirst([], ['resource-id' => $resource_id, 'uid' => local_user(), 'scale' => $scale]);
                if (DBA::isResult($base_image)) {
@@ -185,7 +185,7 @@ class Crop extends BaseSettings
 
                        info(DI::l10n()->t('Profile picture successfully updated.'));
 
-                       DI::baseUrl()->redirect('profile/' . DI::app()->user['nickname']);
+                       DI::baseUrl()->redirect('profile/' . DI::app()->getNickname());
                }
 
                $Image = Photo::getImageForPhoto($photos[0]);
index dee562e435840ae09c109c7baa23e030ceb3eefe..f53f3bd53e221ed61e01ab76d83fac0fc525dd07 100644 (file)
@@ -134,7 +134,7 @@ class Index extends BaseSettings
                                DI::l10n()->t('or'),
                                ($newuser) ?
                                        '<a href="' . DI::baseUrl() . '">' . DI::l10n()->t('skip this step') . '</a>'
-                                       : '<a href="' . DI::baseUrl() . '/photos/' . DI::app()->user['nickname'] . '">'
+                                       : '<a href="' . DI::baseUrl() . '/photos/' . DI::app()->getNickname() . '">'
                                                . DI::l10n()->t('select a photo from your photo albums') . '</a>'
                        ),
                ]);
index 740ec0ec045a233c46d341a12c4a1929564d2514..e9f999536ab15332ded778d74da7e3929aa55c49 100644 (file)
@@ -90,7 +90,7 @@ class UserExport extends BaseSettings
         */
        public static function rawContent(array $parameters = [])
        {
-               if (!local_user() || !empty(DI::app()->user['uid']) && DI::app()->user['uid'] != local_user()) {
+               if (!local_user() || empty(DI::app()->getUserId()) || DI::app()->getUserId() != local_user()) {
                        throw new HTTPException\ForbiddenException(DI::l10n()->t('Permission denied.'));
                }
 
index 467cd09abf6e053497db8747267f9587927c171d..7c3c3271a73ea7a11be963b47f614a8d819e7283 100644 (file)
@@ -36,20 +36,20 @@ class ItemCCEMail extends Email
 {
        public function __construct(App $a, L10n $l10n, BaseURL $baseUrl, array $item, string $toAddress, string $authorThumb)
        {
-               $disclaimer = '<hr />' . $l10n->t('This message was sent to you by %s, a member of the Friendica social network.', $a->user['username'])
+               $disclaimer = '<hr />' . $l10n->t('This message was sent to you by %s, a member of the Friendica social network.', $a->getUserValue('username'))
                              . '<br />';
-               $disclaimer .= $l10n->t('You may visit them online at %s', $baseUrl . '/profile/' . $a->user['nickname']) . EOL;
+               $disclaimer .= $l10n->t('You may visit them online at %s', $baseUrl . '/profile/' . $a->getNickname()) . EOL;
                $disclaimer .= $l10n->t('Please contact the sender by replying to this post if you do not wish to receive these messages.') . EOL;
                if (!$item['title'] == '') {
                        $subject = EmailProtocol::encodeHeader($item['title'], 'UTF-8');
                } else {
-                       $subject = EmailProtocol::encodeHeader('[Friendica]' . ' ' . $l10n->t('%s posted an update.', $a->user['username']), 'UTF-8');
+                       $subject = EmailProtocol::encodeHeader('[Friendica]' . ' ' . $l10n->t('%s posted an update.', $a->getUserValue('username')), 'UTF-8');
                }
-               $link    = '<a href="' . $baseUrl . '/profile/' . $a->user['nickname'] . '"><img src="' . $authorThumb . '" alt="' . $a->user['username'] . '" /></a><br /><br />';
+               $link    = '<a href="' . $baseUrl . '/profile/' . $a->getNickname() . '"><img src="' . $authorThumb . '" alt="' . $a->getUserValue('username') . '" /></a><br /><br />';
                $html    = Item::prepareBody($item);
                $message = '<html><body>' . $link . $html . $disclaimer . '</body></html>';;
 
-               parent::__construct($a->user['username'], $a->user['email'], $a->user['email'], $toAddress,
+               parent::__construct($a->getUserValue('username'), $a->getUserValue('email'), $a->getUserValue('email'), $toAddress,
                        $subject, $message, HTML::toPlaintext($html . $disclaimer));
        }
 }
index a7071ad794d298eaf7a3d0a0ef36f2176a3df8fe..8ffe4bbafdfa64690460aab6cc3f0416cfb2ba36 100644 (file)
@@ -870,7 +870,7 @@ class Post
                        return '';
                }
 
-               $owner = User::getOwnerDataById($a->user['uid']);
+               $owner = User::getOwnerDataById($a->getUserId());
 
                if (!Feature::isEnabled(local_user(), 'explicit_mentions')) {
                        return '';
index ebeadcc37b1f9b8021be5b94e401b2db6c783a40..a0b9270262c4e6c6bd3760dad7f2140d7476e16f 100644 (file)
@@ -353,10 +353,12 @@ class Authentication
                        }
                }
 
+               $a->setUserId($user_record['uid']);
+               $a->setNickname($user_record['nickname']);
                $a->user = $user_record;
 
                if ($login_initial) {
-                       Hook::callAll('logged_in', $a->user);
+                       Hook::callAll('logged_in', $user_record);
 
                        if (DI::module()->getName() !== 'home' && $this->session->exists('return_path')) {
                                $this->baseUrl->redirect($this->session->get('return_path'));
index 070c6500d3582a7104c66650193359e5ec34bb31..f2154ae8a4374da15fa121719a0f7af660eb442d 100644 (file)
@@ -184,7 +184,7 @@ class BasicAuth
 
                Session::set('allow_api', true);
 
-               Hook::callAll('logged_in', $a->user);
+               Hook::callAll('logged_in', $record);
 
                if (Session::get('allow_api')) {
                        self::$current_user_id = local_user();
index 2f6542d308238ec332e74e4bd7689dab02ec1459..bf0875e49f68292348ddb8beedf1f9dd3977aa01 100644 (file)
@@ -201,8 +201,8 @@ function frio_remote_nav(App $a, array &$nav_info)
        // since $userinfo isn't available for the hook we write it to the nav array
        // this isn't optimal because the contact query will be done now twice
        $fields = ['id', 'url', 'avatar', 'micro', 'name', 'nick', 'baseurl'];
-       if (local_user() && !empty($a->user['uid'])) {
-               $remoteUser = Contact::selectFirst($fields, ['uid' => $a->user['uid'], 'self' => true]);
+       if (local_user() && !empty($a->getUserId())) {
+               $remoteUser = Contact::selectFirst($fields, ['uid' => $a->getUserId(), 'self' => true]);
        } elseif (!local_user() && remote_user()) {
                $remoteUser = Contact::getById(remote_user(), $fields);
                $nav_info['nav']['remote'] = DI::l10n()->t('Guest');
index d28c8a325a278c364f17f935454cf7df6ca8b7c9..14a744d5a9a8b26f12c190c1e1a078b8538055af 100644 (file)
@@ -27,7 +27,7 @@ function vier_init(App $a)
 
        $args = DI::args();
 
-       if ($args->get(0) === 'profile' && $args->get(1) === ($a->user['nickname'] ?? '') || $args->get(0) === 'network' && local_user()
+       if ($args->get(0) === 'profile' && $args->get(1) === ($a->getNickname() ?? '') || $args->get(0) === 'network' && local_user()
        ) {
                vier_community_info();