From fc283ab92858238a5a55f24b1d1650bb72068b7d Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 8 Aug 2021 10:14:56 +0000 Subject: [PATCH 01/10] Remove direct calls to App->user --- boot.php | 2 +- include/api.php | 4 +- mod/api.php | 2 +- mod/cal.php | 2 +- mod/display.php | 10 +-- mod/editpost.php | 4 +- mod/events.php | 2 +- mod/fbrowser.php | 6 +- mod/message.php | 8 +- mod/notes.php | 8 +- mod/photos.php | 14 ++-- mod/ping.php | 2 +- mod/removeme.php | 2 +- mod/settings.php | 82 +++++++++++---------- mod/videos.php | 4 +- src/App.php | 62 ++++++++++++++++ src/App/Page.php | 4 +- src/BaseModule.php | 16 ++-- src/Content/Nav.php | 16 ++-- src/Core/ACL.php | 12 +++ src/Factory/Notification/Introduction.php | 2 +- src/Model/Mail.php | 2 +- src/Model/User.php | 2 + src/Module/BaseApi.php | 8 +- src/Module/BaseProfile.php | 6 +- src/Module/Bookmarklet.php | 8 +- src/Module/Contact/Poke.php | 9 ++- src/Module/Conversation/Community.php | 8 +- src/Module/Conversation/Network.php | 10 +-- src/Module/Delegation.php | 4 +- src/Module/HCard.php | 2 +- src/Module/Home.php | 2 +- src/Module/Invite.php | 4 +- src/Module/NoScrape.php | 2 +- src/Module/Profile/Common.php | 2 +- src/Module/Profile/Contacts.php | 2 +- src/Module/Profile/Profile.php | 2 +- src/Module/Profile/Schedule.php | 2 +- src/Module/Profile/Status.php | 11 +-- src/Module/Settings/Delegation.php | 2 +- src/Module/Settings/Display.php | 8 +- src/Module/Settings/Profile/Index.php | 12 +-- src/Module/Settings/Profile/Photo/Crop.php | 4 +- src/Module/Settings/Profile/Photo/Index.php | 2 +- src/Module/Settings/UserExport.php | 2 +- src/Object/EMail/ItemCCEMail.php | 10 +-- src/Object/Post.php | 2 +- src/Security/Authentication.php | 4 +- src/Security/BasicAuth.php | 2 +- view/theme/frio/theme.php | 4 +- view/theme/vier/theme.php | 2 +- 51 files changed, 238 insertions(+), 166 deletions(-) diff --git a/boot.php b/boot.php index ecf59eb2fc..1a28aa8ce5 100644 --- 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); } /** diff --git a/include/api.php b/include/api.php index c6f67109a3..e419e3ad27 100644 --- a/include/api.php +++ b/include/api.php @@ -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]); diff --git a/mod/api.php b/mod/api.php index decbe40e9b..0423dd4548 100644 --- a/mod/api.php +++ b/mod/api.php @@ -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; } diff --git a/mod/cal.php b/mod/cal.php index 20488842a4..ac12d69b91 100644 --- a/mod/cal.php +++ b/mod/cal.php @@ -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') { diff --git a/mod/display.php b/mod/display.php index befef97530..199c89488a 100644 --- a/mod/display.php +++ b/mod/display.php @@ -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', diff --git a/mod/editpost.php b/mod/editpost.php index 848e1ce862..9e70795430 100644 --- a/mod/editpost.php +++ b/mod/editpost.php @@ -65,7 +65,7 @@ function editpost_content(App $a) DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl, [ '$ispublic' => ' ', // DI::l10n()->t('Visible to everybody'), '$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'), diff --git a/mod/events.php b/mod/events.php index f20d173dc7..7409b83a7e 100644 --- a/mod/events.php +++ b/mod/events.php @@ -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'; diff --git a/mod/fbrowser.php b/mod/fbrowser.php index e8b356d08f..2f4b2eef53 100644 --- a/mod/fbrowser.php +++ b/mod/fbrowser.php @@ -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') ]); } diff --git a/mod/message.php b/mod/message.php index a18a5f9df3..e862a469bd 100644 --- a/mod/message.php +++ b/mod/message.php @@ -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']) { diff --git a/mod/notes.php b/mod/notes.php index 945d0c935d..eccbdcc892 100644 --- a/mod/notes.php +++ b/mod/notes.php @@ -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 .= '

' . DI::l10n()->t('Personal Notes') . '

'; $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' => '', diff --git a/mod/photos.php b/mod/photos.php index 9e1fa9cede..10b8167dbf 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -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 : ''), diff --git a/mod/ping.php b/mod/ping.php index 93c579e0a6..61a12a0128 100644 --- a/mod/ping.php +++ b/mod/ping.php @@ -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' ", diff --git a/mod/removeme.php b/mod/removeme.php index 3c53ba4204..b7d37734cd 100644 --- a/mod/removeme.php +++ b/mod/removeme.php @@ -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']); diff --git a/mod/settings.php b/mod/settings.php index 6d165cef04..87c56e0df4 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -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), diff --git a/mod/videos.php b/mod/videos.php index e025269693..2bd5eb8c91 100644 --- a/mod/videos.php +++ b/mod/videos.php @@ -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 diff --git a/src/App.php b/src/App.php index c9aafe14eb..993045ac5f 100644 --- a/src/App.php +++ b/src/App.php @@ -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 * diff --git a/src/App/Page.php b/src/App/Page.php index c6e3e723ce..97b70cf5c0 100644 --- a/src/App/Page.php +++ b/src/App/Page.php @@ -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)) { diff --git a/src/BaseModule.php b/src/BaseModule.php index cb8f8c790d..f6dbedfa73 100644 --- a/src/BaseModule.php +++ b/src/BaseModule.php @@ -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(); diff --git a/src/Content/Nav.php b/src/Content/Nav.php index 20b3a93258..dbc6d17a32 100644 --- a/src/Content/Nav.php +++ b/src/Content/Nav.php @@ -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) { diff --git a/src/Core/ACL.php b/src/Core/ACL.php index 297ea6e744..48f87b7beb 100644 --- a/src/Core/ACL.php +++ b/src/Core/ACL.php @@ -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 * diff --git a/src/Factory/Notification/Introduction.php b/src/Factory/Notification/Introduction.php index ff9c028af0..5bbdbd2eb8 100644 --- a/src/Factory/Notification/Introduction.php +++ b/src/Factory/Notification/Introduction.php @@ -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() ?? ''; } /** diff --git a/src/Model/Mail.php b/src/Model/Mail.php index 307724a262..7afd955474 100644 --- a/src/Model/Mail.php +++ b/src/Model/Mail.php @@ -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; diff --git a/src/Model/User.php b/src/Model/User.php index 55bbb8b841..49423ce9ef 100644 --- a/src/Model/User.php +++ b/src/Model/User.php @@ -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]); diff --git a/src/Module/BaseApi.php b/src/Module/BaseApi.php index 9d5c36f423..3e6f8a2a2a 100644 --- a/src/Module/BaseApi.php +++ b/src/Module/BaseApi.php @@ -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.')); } } diff --git a/src/Module/BaseProfile.php b/src/Module/BaseProfile.php index 832c8fd2f8..7ab7b8b7ce 100644 --- a/src/Module/BaseProfile.php +++ b/src/Module/BaseProfile.php @@ -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', diff --git a/src/Module/Bookmarklet.php b/src/Module/Bookmarklet.php index fab9dbc6c5..9db1cc1381 100644 --- a/src/Module/Bookmarklet.php +++ b/src/Module/Bookmarklet.php @@ -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' => '', diff --git a/src/Module/Contact/Poke.php b/src/Module/Contact/Poke.php index 955d4bab0e..01d3ec1385 100644 --- a/src/Module/Contact/Poke.php +++ b/src/Module/Contact/Poke.php @@ -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()); diff --git a/src/Module/Conversation/Community.php b/src/Module/Conversation/Community.php index 18332fe27e..8482bd3c73 100644 --- a/src/Module/Conversation/Community.php +++ b/src/Module/Conversation/Community.php @@ -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', diff --git a/src/Module/Conversation/Network.php b/src/Module/Conversation/Network.php index 046c6de8c3..6d758ca502 100644 --- a/src/Module/Conversation/Network.php +++ b/src/Module/Conversation/Network.php @@ -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) ? '!' : ''), diff --git a/src/Module/Delegation.php b/src/Module/Delegation.php index abcc5679ee..788b402682 100644 --- a/src/Module/Delegation.php +++ b/src/Module/Delegation.php @@ -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']; diff --git a/src/Module/HCard.php b/src/Module/HCard.php index b8df844367..e5547188bb 100644 --- a/src/Module/HCard.php +++ b/src/Module/HCard.php @@ -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']; diff --git a/src/Module/Home.php b/src/Module/Home.php index 21d92676cc..38a881f296 100644 --- a/src/Module/Home.php +++ b/src/Module/Home.php @@ -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'); } diff --git a/src/Module/Invite.php b/src/Module/Invite.php index 2c32963d5e..d68fd053cd 100644 --- a/src/Module/Invite.php +++ b/src/Module/Invite.php @@ -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') diff --git a/src/Module/NoScrape.php b/src/Module/NoScrape.php index 1b97d047f7..b308ae14c1 100644 --- a/src/Module/NoScrape.php +++ b/src/Module/NoScrape.php @@ -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'); } diff --git a/src/Module/Profile/Common.php b/src/Module/Profile/Common.php index ad30ab4ac3..7138ac73fd 100644 --- a/src/Module/Profile/Common.php +++ b/src/Module/Profile/Common.php @@ -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); diff --git a/src/Module/Profile/Contacts.php b/src/Module/Profile/Contacts.php index 3307694e7f..8ccf1f7361 100644 --- a/src/Module/Profile/Contacts.php +++ b/src/Module/Profile/Contacts.php @@ -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()); diff --git a/src/Module/Profile/Profile.php b/src/Module/Profile/Profile.php index a4fc696854..9f056f8741 100644 --- a/src/Module/Profile/Profile.php +++ b/src/Module/Profile/Profile.php @@ -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.')); diff --git a/src/Module/Profile/Schedule.php b/src/Module/Profile/Schedule.php index b27da00c82..5c5581d570 100644 --- a/src/Module/Profile/Schedule.php +++ b/src/Module/Profile/Schedule.php @@ -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()]); diff --git a/src/Module/Profile/Status.php b/src/Module/Profile/Status.php index 30ac5f06ff..94e93209ea 100644 --- a/src/Module/Profile/Status.php +++ b/src/Module/Profile/Status.php @@ -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', diff --git a/src/Module/Settings/Delegation.php b/src/Module/Settings/Delegation.php index 745879ec5e..89bc78b32f 100644 --- a/src/Module/Settings/Delegation.php +++ b/src/Module/Settings/Delegation.php @@ -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.')); } diff --git a/src/Module/Settings/Display.php b/src/Module/Settings/Display.php index 8d3bf77dbc..a82c992c44 100644 --- a/src/Module/Settings/Display.php +++ b/src/Module/Settings/Display.php @@ -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')); diff --git a/src/Module/Settings/Profile/Index.php b/src/Module/Settings/Profile/Index.php index 35740a0a7e..86e23234d4 100644 --- a/src/Module/Settings/Profile/Index.php +++ b/src/Module/Settings/Profile/Index.php @@ -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

Reorder by dragging the field title.

Empty the label field to remove a custom field.

Non-public fields can only be seen by the selected Friendica contacts or the Friendica contacts in the selected groups.

", - 'profile/' . $a->user['nickname'] + 'profile/' . $profile['nickname'] ), '$custom_fields' => $custom_fields, ]); diff --git a/src/Module/Settings/Profile/Photo/Crop.php b/src/Module/Settings/Profile/Photo/Crop.php index adbf83311a..0d78ae4c34 100644 --- a/src/Module/Settings/Profile/Photo/Crop.php +++ b/src/Module/Settings/Profile/Photo/Crop.php @@ -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]); diff --git a/src/Module/Settings/Profile/Photo/Index.php b/src/Module/Settings/Profile/Photo/Index.php index dee562e435..f53f3bd53e 100644 --- a/src/Module/Settings/Profile/Photo/Index.php +++ b/src/Module/Settings/Profile/Photo/Index.php @@ -134,7 +134,7 @@ class Index extends BaseSettings DI::l10n()->t('or'), ($newuser) ? '' . DI::l10n()->t('skip this step') . '' - : '' + : '' . DI::l10n()->t('select a photo from your photo albums') . '' ), ]); diff --git a/src/Module/Settings/UserExport.php b/src/Module/Settings/UserExport.php index 740ec0ec04..e9f999536a 100644 --- a/src/Module/Settings/UserExport.php +++ b/src/Module/Settings/UserExport.php @@ -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.')); } diff --git a/src/Object/EMail/ItemCCEMail.php b/src/Object/EMail/ItemCCEMail.php index 467cd09abf..7c3c3271a7 100644 --- a/src/Object/EMail/ItemCCEMail.php +++ b/src/Object/EMail/ItemCCEMail.php @@ -36,20 +36,20 @@ class ItemCCEMail extends Email { public function __construct(App $a, L10n $l10n, BaseURL $baseUrl, array $item, string $toAddress, string $authorThumb) { - $disclaimer = '
' . $l10n->t('This message was sent to you by %s, a member of the Friendica social network.', $a->user['username']) + $disclaimer = '
' . $l10n->t('This message was sent to you by %s, a member of the Friendica social network.', $a->getUserValue('username')) . '
'; - $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->user['username'] . '

'; + $link = '' . $a->getUserValue('username') . '

'; $html = Item::prepareBody($item); $message = '' . $link . $html . $disclaimer . '';; - 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)); } } diff --git a/src/Object/Post.php b/src/Object/Post.php index a7071ad794..8ffe4bbafd 100644 --- a/src/Object/Post.php +++ b/src/Object/Post.php @@ -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 ''; diff --git a/src/Security/Authentication.php b/src/Security/Authentication.php index ebeadcc37b..a0b9270262 100644 --- a/src/Security/Authentication.php +++ b/src/Security/Authentication.php @@ -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')); diff --git a/src/Security/BasicAuth.php b/src/Security/BasicAuth.php index 070c6500d3..f2154ae8a4 100644 --- a/src/Security/BasicAuth.php +++ b/src/Security/BasicAuth.php @@ -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(); diff --git a/view/theme/frio/theme.php b/view/theme/frio/theme.php index 2f6542d308..bf0875e49f 100644 --- a/view/theme/frio/theme.php +++ b/view/theme/frio/theme.php @@ -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'); diff --git a/view/theme/vier/theme.php b/view/theme/vier/theme.php index d28c8a325a..14a744d5a9 100644 --- a/view/theme/vier/theme.php +++ b/view/theme/vier/theme.php @@ -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(); From 28090bd79376f3a7c0708eeb4e36a25fd782c240 Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 8 Aug 2021 19:30:21 +0000 Subject: [PATCH 02/10] Get rid of App->user completely --- boot.php | 2 +- include/conversation.php | 17 ++++- mod/api.php | 7 +-- mod/display.php | 13 +--- mod/editpost.php | 5 +- mod/events.php | 2 +- mod/follow.php | 2 +- mod/notes.php | 7 --- mod/ostatus_subscribe.php | 2 +- mod/photos.php | 4 +- mod/removeme.php | 2 +- mod/repair_ostatus.php | 2 +- mod/settings.php | 10 +-- src/App.php | 26 ++------ src/Console/Contact.php | 2 +- src/Content/Nav.php | 35 +++++------ src/Core/ACL.php | 8 ++- src/Model/Contact.php | 30 ++++----- src/Module/BaseApi.php | 16 ++--- src/Module/Bookmarklet.php | 10 --- src/Module/Contact.php | 16 +---- src/Module/Conversation/Community.php | 13 +--- src/Module/Conversation/Network.php | 9 +-- src/Module/Delegation.php | 2 +- src/Module/Invite.php | 5 +- src/Module/Item/Compose.php | 2 +- src/Module/Magic.php | 73 +++++++++++----------- src/Module/Profile/Status.php | 6 +- src/Module/Security/TwoFactor/Recovery.php | 3 +- src/Module/Security/TwoFactor/Verify.php | 3 +- src/Module/Settings/Delegation.php | 2 +- src/Module/Settings/Display.php | 13 ++-- src/Module/Settings/Profile/Index.php | 4 +- src/Module/Settings/UserExport.php | 9 ++- src/Object/EMail/ItemCCEMail.php | 11 ++-- src/Security/Authentication.php | 1 - src/Worker/AddContact.php | 6 +- tests/legacy/ApiTest.php | 8 +-- view/theme/frio/theme.php | 4 +- 39 files changed, 158 insertions(+), 234 deletions(-) diff --git a/boot.php b/boot.php index 1a28aa8ce5..c71c16b354 100644 --- 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->getUserValue('email') ?? '', $adminlist); + return local_user() && $admin_email && DBA::exists('user', ['uid' => $a->getUserId(), 'email' => $adminlist]); } /** diff --git a/include/conversation.php b/include/conversation.php index db2d33b47d..b545445e4b 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -22,6 +22,7 @@ use Friendica\App; use Friendica\Content\ContactSelector; use Friendica\Content\Feature; +use Friendica\Core\ACL; use Friendica\Core\Hook; use Friendica\Core\Logger; use Friendica\Core\Protocol; @@ -34,6 +35,7 @@ use Friendica\Model\Contact; use Friendica\Model\Item; use Friendica\Model\Post; use Friendica\Model\Tag; +use Friendica\Model\User; use Friendica\Model\Verb; use Friendica\Object\Post as PostObject; use Friendica\Object\Thread; @@ -1064,11 +1066,24 @@ function format_activity(array $links, $verb, $id) { return $o; } -function status_editor(App $a, $x, $notes_cid = 0, $popup = false) +function status_editor(App $a, array $x = [], $notes_cid = 0, $popup = false) { DI::profiler()->startRecording('rendering'); $o = ''; + $user = User::getById($a->getUserId(), ['uid', 'nickname', 'allow_location', 'default-location']); + + $x['allow_location'] = $x['allow_location'] ?? $user['allow_location']; + $x['default_location'] = $x['default_location'] ?? $user['default-location']; + $x['nickname'] = $x['nickname'] ?? $user['nickname']; + $x['lockstate'] = $x['lockstate'] ?? ACL::getLockstateForUserId($user['uid']) ? 'lock' : 'unlock'; + $x['acl'] = $x['acl'] ?? ACL::getFullSelectorHTML(DI::page(), $user['uid'], true); + $x['bang'] = $x['bang'] ?? ''; + $x['visitor'] = $x['visitor'] ?? 'block'; + $x['is_owner'] = $x['is_owner'] ?? true; + $x['profile_uid'] = $x['profile_uid'] ?? local_user(); + + $geotag = !empty($x['allow_location']) ? Renderer::replaceMacros(Renderer::getMarkupTemplate('jot_geotag.tpl'), []) : ''; $tpl = Renderer::getMarkupTemplate('jot-header.tpl'); diff --git a/mod/api.php b/mod/api.php index 0423dd4548..0a801a8a1e 100644 --- a/mod/api.php +++ b/mod/api.php @@ -26,12 +26,7 @@ require_once __DIR__ . '/../include/api.php'; function api_post(App $a) { - if (!local_user()) { - notice(DI::l10n()->t('Permission denied.')); - return; - } - - if (empty($a->getUserId()) || $a->getUserId() != local_user()) { + if (!$a->isLoggedIn()) { notice(DI::l10n()->t('Permission denied.')); return; } diff --git a/mod/display.php b/mod/display.php index 199c89488a..7d7ea08a8f 100644 --- a/mod/display.php +++ b/mod/display.php @@ -273,18 +273,7 @@ function display_content(App $a, $update = false, $update_uid = 0) // We need the editor here to be able to reshare an item. if ($is_owner && !$update) { - $x = [ - 'is_owner' => true, - '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', - 'profile_uid' => local_user(), - ]; - $o .= status_editor($a, $x, 0, true); + $o .= status_editor($a, [], 0, true); } $sql_extra = Item::getPermissionsSQLByUserId($page_uid); diff --git a/mod/editpost.php b/mod/editpost.php index 9e70795430..5197708b4b 100644 --- a/mod/editpost.php +++ b/mod/editpost.php @@ -27,6 +27,7 @@ use Friendica\Database\DBA; use Friendica\DI; use Friendica\Model\Contact; use Friendica\Model\Post; +use Friendica\Model\User; use Friendica\Util\Crypto; function editpost_content(App $a) @@ -55,6 +56,8 @@ function editpost_content(App $a) return; } + $user = User::getById(local_user()); + $geotag = ''; $o .= Renderer::replaceMacros(Renderer::getMarkupTemplate("section_title.tpl"), [ @@ -107,7 +110,7 @@ function editpost_content(App $a) '$posttype' => $item['post-type'], '$content' => undo_post_tagging($item['body']), '$post_id' => $post_id, - '$defloc' => $a->getUserValue('default-location'), + '$defloc' => $user['default-location'], '$visitor' => 'none', '$pvisit' => 'none', '$emailcc' => DI::l10n()->t('CC: email addresses'), diff --git a/mod/events.php b/mod/events.php index 7409b83a7e..71e14fc862 100644 --- a/mod/events.php +++ b/mod/events.php @@ -513,7 +513,7 @@ function events_content(App $a) $fminute = !empty($orig_event) ? DateTimeFormat::convert($fdt, $tz, 'UTC', 'i') : '00'; if (!$cid && in_array($mode, ['new', 'copy'])) { - $acl = ACL::getFullSelectorHTML(DI::page(), $a->user, false, ACL::getDefaultUserPermissions($orig_event)); + $acl = ACL::getFullSelectorHTML(DI::page(), $a->getUserId(), false, ACL::getDefaultUserPermissions($orig_event)); } else { $acl = ''; } diff --git a/mod/follow.php b/mod/follow.php index 86f7267126..d655bc2bfe 100644 --- a/mod/follow.php +++ b/mod/follow.php @@ -175,7 +175,7 @@ function follow_process(App $a, string $url) { $return_path = 'follow?url=' . urlencode($url); - $result = Contact::createFromProbe($a->user, $url, true); + $result = Contact::createFromProbe($a->getUserId(), $url); if ($result['success'] == false) { // Possibly it is a remote item and not an account diff --git a/mod/notes.php b/mod/notes.php index eccbdcc892..fd8763b965 100644 --- a/mod/notes.php +++ b/mod/notes.php @@ -51,15 +51,8 @@ function notes_content(App $a, $update = false) $o .= '

' . DI::l10n()->t('Personal Notes') . '

'; $x = [ - 'is_owner' => true, - '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' => '', - 'visitor' => 'block', - 'profile_uid' => local_user(), 'button' => DI::l10n()->t('Save'), 'acl_data' => '', ]; diff --git a/mod/ostatus_subscribe.php b/mod/ostatus_subscribe.php index 9ff5c20521..fe8591b2fa 100644 --- a/mod/ostatus_subscribe.php +++ b/mod/ostatus_subscribe.php @@ -111,7 +111,7 @@ function ostatus_subscribe_content(App $a) $probed = Contact::getByURL($url); if (in_array($probed['network'], Protocol::FEDERATED)) { - $result = Contact::createFromProbe($a->user, $probed['url']); + $result = Contact::createFromProbe($a->getUserId(), $probed['url']); if ($result['success']) { $o .= ' - ' . DI::l10n()->t('success'); } else { diff --git a/mod/photos.php b/mod/photos.php index 10b8167dbf..583183ebb9 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -948,7 +948,7 @@ function photos_content(App $a) $tpl = Renderer::getMarkupTemplate('photos_upload.tpl'); - $aclselect_e = ($visitor ? '' : ACL::getFullSelectorHTML(DI::page(), $a->user)); + $aclselect_e = ($visitor ? '' : ACL::getFullSelectorHTML(DI::page(), $a->getUserId())); $o .= Renderer::replaceMacros($tpl,[ '$pagename' => DI::l10n()->t('Upload Photos'), @@ -1307,7 +1307,7 @@ function photos_content(App $a) $album_e = $ph[0]['album']; $caption_e = $ph[0]['desc']; - $aclselect_e = ACL::getFullSelectorHTML(DI::page(), $a->user, false, ACL::getDefaultUserPermissions($ph[0])); + $aclselect_e = ACL::getFullSelectorHTML(DI::page(), $a->getUserId(), false, ACL::getDefaultUserPermissions($ph[0])); $edit = Renderer::replaceMacros($edit_tpl, [ '$id' => $ph[0]['id'], diff --git a/mod/removeme.php b/mod/removeme.php index b7d37734cd..5df3360655 100644 --- a/mod/removeme.php +++ b/mod/removeme.php @@ -69,7 +69,7 @@ function removeme_post(App $a) DI::emailer()->send($email); } - if (User::getIdFromPasswordAuthentication($a->user, trim($_POST['qxz_password']))) { + if (User::getIdFromPasswordAuthentication($a->getUserId(), trim($_POST['qxz_password']))) { User::remove($a->getUserId()); unset($_SESSION['authenticated']); diff --git a/mod/repair_ostatus.php b/mod/repair_ostatus.php index 054a19640b..2437837798 100644 --- a/mod/repair_ostatus.php +++ b/mod/repair_ostatus.php @@ -70,7 +70,7 @@ function repair_ostatus_content(App $a) { $o .= "

".DI::l10n()->t("Keep this window open until done.")."

"; - Contact::createFromProbe($a->user, $r[0]["url"], true); + Contact::createFromProbe($a->getUserId(), $r[0]["url"]); DI::page()['htmlhead'] = ''; diff --git a/mod/settings.php b/mod/settings.php index 87c56e0df4..63ad55fa98 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -53,7 +53,8 @@ function settings_init(App $a) function settings_post(App $a) { - if (!local_user()) { + if (!$a->isLoggedIn()) { + notice(DI::l10n()->t('Permission denied.')); return; } @@ -61,11 +62,6 @@ function settings_post(App $a) return; } - if (empty($a->getUserId()) || $a->getUserId() != local_user()) { - notice(DI::l10n()->t('Permission denied.')); - return; - } - if ((DI::args()->getArgc() > 1) && (DI::args()->getArgv()[1] == 'addon')) { BaseModule::checkFormSecurityTokenRedirectOnError('/settings/addon', 'settings_addon'); @@ -752,7 +748,7 @@ function settings_content(App $a) '$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(), $user['def_gid']), '$permissions' => DI::l10n()->t('Default Post Permissions'), - '$aclselect' => ACL::getFullSelectorHTML(DI::page(), $a->user), + '$aclselect' => ACL::getFullSelectorHTML(DI::page(), $a->getUserId()), '$expire' => [ 'label' => DI::l10n()->t('Expiration settings'), diff --git a/src/App.php b/src/App.php index 993045ac5f..4342e57ece 100644 --- a/src/App.php +++ b/src/App.php @@ -57,8 +57,6 @@ use Psr\Log\LoggerInterface; */ class App { - public $user; - // Allow themes to control internal parameters // by changing App values in theme.php private $theme_info = [ @@ -151,6 +149,11 @@ class App $this->nickname = $nickname; } + public function isLoggedIn() + { + return local_user() && $this->user_id && ($this->user_id == local_user()); + } + /** * Fetch the user id * @return int @@ -169,25 +172,6 @@ class App 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 * diff --git a/src/Console/Contact.php b/src/Console/Contact.php index 55fd5024ca..7a4299c7bd 100644 --- a/src/Console/Contact.php +++ b/src/Console/Contact.php @@ -164,7 +164,7 @@ HELP; $network = CliPrompt::prompt(); } - $result = ContactModel::createFromProbe($user, $url, false, $network); + $result = ContactModel::createFromProbe($user['uid'], $url, $network); if ($result['success']) { $this->out('User ' . $user['nickname'] . ' now connected to ' . $url . ', contact ID ' . $result['cid']); diff --git a/src/Content/Nav.php b/src/Content/Nav.php index dbc6d17a32..2263b1cae3 100644 --- a/src/Content/Nav.php +++ b/src/Content/Nav.php @@ -23,6 +23,7 @@ namespace Friendica\Content; use Friendica\App; use Friendica\Core\Hook; +use Friendica\Core\Logger; use Friendica\Core\Renderer; use Friendica\Core\Session; use Friendica\Database\DBA; @@ -185,25 +186,21 @@ class Nav $nav['login'] = ['login', DI::l10n()->t('Login'), (DI::module()->getName() == 'login' ? 'selected' : ''), DI::l10n()->t('Sign in')]; } - if (local_user()) { - if (!empty($a->user)) { - // user menu - $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')]; + if ($a->isLoggedIn()) { + // user menu + $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->getUserId(), 'self' => true]); - $userinfo = [ - 'icon' => (DBA::isResult($contact) ? DI::baseUrl()->remove($contact['micro']) : Contact::DEFAULT_AVATAR_MICRO), - 'name' => $a->getUserValue('username'), - ]; - } else { - DI::logger()->warning('Empty $a->user for local user', ['local_user' => local_user(), '$a' => $a]); - } + // user info + $contact = DBA::selectFirst('contact', ['id', 'url', 'avatar', 'micro', 'name', 'nick', 'baseurl', 'updated'], ['uid' => $a->getUserId(), 'self' => true]); + $userinfo = [ + 'icon' => Contact::getMicro($contact), + 'name' => $contact['name'], + ]; } // "Home" should also take you home from an authenticated remote profile connection @@ -271,7 +268,7 @@ class Nav } // The following nav links are only show to logged in users - if (local_user() && !empty($a->user)) { + if (local_user() && !empty($a->getNickname())) { $nav['network'] = ['network', DI::l10n()->t('Network'), '', DI::l10n()->t('Conversations from your friends')]; $nav['home'] = ['profile/' . $a->getNickname(), DI::l10n()->t('Home'), '', DI::l10n()->t('Your posts and conversations')]; diff --git a/src/Core/ACL.php b/src/Core/ACL.php index 48f87b7beb..9453dc6590 100644 --- a/src/Core/ACL.php +++ b/src/Core/ACL.php @@ -222,7 +222,7 @@ class ACL * Return the full jot ACL selector HTML * * @param Page $page - * @param array $user User array + * @param int $uid User ID * @param bool $for_federation * @param array $default_permissions Static defaults permission array: * [ @@ -238,18 +238,20 @@ class ACL */ public static function getFullSelectorHTML( Page $page, - array $user = null, + int $uid = null, bool $for_federation = false, array $default_permissions = [], array $condition = [], $form_prefix = '' ) { - if (empty($user['uid'])) { + if (empty($uid)) { return ''; } static $input_group_id = 0; + $user = User::getById($uid); + $input_group_id++; $page->registerFooterScript(Theme::getPathForFile('asset/typeahead.js/dist/typeahead.bundle.js')); diff --git a/src/Model/Contact.php b/src/Model/Contact.php index 45a3d424ea..9e870d5054 100644 --- a/src/Model/Contact.php +++ b/src/Model/Contact.php @@ -2311,16 +2311,15 @@ class Contact * * Takes a $uid and a url/handle and adds a new contact * - * @param array $user The user the contact should be created for + * @param int $uid The user id the contact should be created for * @param string $url The profile URL of the contact - * @param bool $interactive * @param string $network * @return array * @throws HTTPException\InternalServerErrorException * @throws HTTPException\NotFoundException * @throws \ImagickException */ - public static function createFromProbe(array $user, $url, $interactive = false, $network = '') + public static function createFromProbe(int $uid, $url, $network = '') { $result = ['cid' => -1, 'success' => false, 'message' => '']; @@ -2356,7 +2355,7 @@ class Contact $ret = $arr['contact']; } else { $probed = true; - $ret = Probe::uri($url, $network, $user['uid']); + $ret = Probe::uri($url, $network, $uid); } if (($network != '') && ($ret['network'] != $network)) { @@ -2368,10 +2367,10 @@ class Contact // the poll url is more reliable than the profile url, as we may have // indirect links or webfinger links - $condition = ['uid' => $user['uid'], 'poll' => [$ret['poll'], Strings::normaliseLink($ret['poll'])], 'network' => $ret['network'], 'pending' => false]; + $condition = ['uid' => $uid, 'poll' => [$ret['poll'], Strings::normaliseLink($ret['poll'])], 'network' => $ret['network'], 'pending' => false]; $contact = DBA::selectFirst('contact', ['id', 'rel'], $condition); if (!DBA::isResult($contact)) { - $condition = ['uid' => $user['uid'], 'nurl' => Strings::normaliseLink($ret['url']), 'network' => $ret['network'], 'pending' => false]; + $condition = ['uid' => $uid, 'nurl' => Strings::normaliseLink($ret['url']), 'network' => $ret['network'], 'pending' => false]; $contact = DBA::selectFirst('contact', ['id', 'rel'], $condition); } @@ -2436,7 +2435,7 @@ class Contact // create contact record self::insert([ - 'uid' => $user['uid'], + 'uid' => $uid, 'created' => DateTimeFormat::utcNow(), 'url' => $ret['url'], 'nurl' => Strings::normaliseLink($ret['url']), @@ -2464,7 +2463,7 @@ class Contact ]); } - $contact = DBA::selectFirst('contact', [], ['url' => $ret['url'], 'network' => $ret['network'], 'uid' => $user['uid']]); + $contact = DBA::selectFirst('contact', [], ['url' => $ret['url'], 'network' => $ret['network'], 'uid' => $uid]); if (!DBA::isResult($contact)) { $result['message'] .= DI::l10n()->t('Unable to retrieve contact information.') . EOL; return $result; @@ -2473,7 +2472,7 @@ class Contact $contact_id = $contact['id']; $result['cid'] = $contact_id; - Group::addMember(User::getDefaultGroup($user['uid'], $contact["network"]), $contact_id); + Group::addMember(User::getDefaultGroup($uid, $contact["network"]), $contact_id); // Update the avatar self::updateAvatar($contact_id, $ret['photo']); @@ -2489,7 +2488,7 @@ class Contact Worker::add(PRIORITY_HIGH, 'UpdateContact', $contact_id); } - $owner = User::getOwnerDataById($user['uid']); + $owner = User::getOwnerDataById($uid); if (DBA::isResult($owner)) { if (in_array($protocol, [Protocol::OSTATUS, Protocol::DFRN])) { @@ -2518,7 +2517,7 @@ class Contact return false; } - $ret = ActivityPub\Transmitter::sendActivity('Follow', $contact['url'], $user['uid'], $activity_id); + $ret = ActivityPub\Transmitter::sendActivity('Follow', $contact['url'], $uid, $activity_id); Logger::log('Follow returns: ' . $ret); } } @@ -2579,14 +2578,9 @@ class Contact */ public static function follow(int $cid, int $uid) { - $user = User::getById($uid); - if (empty($user)) { - return false; - } - $contact = self::getById($cid, ['url']); - $result = self::createFromProbe($user, $contact['url'], false); + $result = self::createFromProbe($uid, $contact['url']); return $result['cid']; } @@ -2744,7 +2738,7 @@ class Contact } } elseif (DBA::isResult($user) && in_array($user['page-flags'], [User::PAGE_FLAGS_SOAPBOX, User::PAGE_FLAGS_FREELOVE, User::PAGE_FLAGS_COMMUNITY])) { if (($user['page-flags'] == User::PAGE_FLAGS_FREELOVE) && ($network != Protocol::DIASPORA)) { - self::createFromProbe($importer, $url, false, $network); + self::createFromProbe($importer['uid'], $url, $network); } $condition = ['uid' => $importer['uid'], 'url' => $url, 'pending' => true]; diff --git a/src/Module/BaseApi.php b/src/Module/BaseApi.php index 3e6f8a2a2a..5b44073f3f 100644 --- a/src/Module/BaseApi.php +++ b/src/Module/BaseApi.php @@ -75,9 +75,7 @@ class BaseApi extends BaseModule { self::checkAllowedScope(self::SCOPE_WRITE); - $a = DI::app(); - - if (empty($a->getUserId()) || $a->getUserId() != self::getCurrentUserID()) { + if (!DI::app()->isLoggedIn()) { throw new HTTPException\ForbiddenException(DI::l10n()->t('Permission denied.')); } } @@ -86,9 +84,7 @@ class BaseApi extends BaseModule { self::checkAllowedScope(self::SCOPE_WRITE); - $a = DI::app(); - - if (empty($a->getUserId()) || $a->getUserId() != self::getCurrentUserID()) { + if (!DI::app()->isLoggedIn()) { throw new HTTPException\ForbiddenException(DI::l10n()->t('Permission denied.')); } } @@ -97,9 +93,7 @@ class BaseApi extends BaseModule { self::checkAllowedScope(self::SCOPE_WRITE); - $a = DI::app(); - - if (empty($a->getUserId()) || $a->getUserId() != self::getCurrentUserID()) { + if (!DI::app()->isLoggedIn()) { throw new HTTPException\ForbiddenException(DI::l10n()->t('Permission denied.')); } } @@ -108,9 +102,7 @@ class BaseApi extends BaseModule { self::checkAllowedScope(self::SCOPE_WRITE); - $a = DI::app(); - - if (empty($a->getUserId()) || $a->getUserId() != self::getCurrentUserID()) { + if (!DI::app()->isLoggedIn()) { throw new HTTPException\ForbiddenException(DI::l10n()->t('Permission denied.')); } } diff --git a/src/Module/Bookmarklet.php b/src/Module/Bookmarklet.php index 9db1cc1381..2d882e0fa5 100644 --- a/src/Module/Bookmarklet.php +++ b/src/Module/Bookmarklet.php @@ -59,16 +59,6 @@ class Bookmarklet extends BaseModule $content = "\n" . PageInfo::getFooterFromUrl($_REQUEST['url']); $x = [ - 'is_owner' => true, - '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' => '', - 'visitor' => 'block', - 'profile_uid' => local_user(), 'title' => trim($_REQUEST['title'] ?? '', '*'), 'content' => $content ]; diff --git a/src/Module/Contact.php b/src/Module/Contact.php index 1ca681a1eb..2a68262a5e 100644 --- a/src/Module/Contact.php +++ b/src/Module/Contact.php @@ -169,8 +169,7 @@ class Contact extends BaseModule } if ($contact['network'] == Protocol::OSTATUS) { - $user = Model\User::getById($contact['uid']); - $result = Model\Contact::createFromProbe($user, $contact['url'], false, $contact['network']); + $result = Model\Contact::createFromProbe($contact['uid'], $contact['url'], $contact['network']); if ($result['success']) { DBA::update('contact', ['subhub' => 1], ['id' => $contact_id]); @@ -935,18 +934,7 @@ class Contact extends BaseModule if (!$update) { // We need the editor here to be able to reshare an item. if (local_user()) { - $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'), - 'acl' => ACL::getFullSelectorHTML(DI::page(), $a->user, true), - 'bang' => '', - 'visitor' => 'block', - 'profile_uid' => local_user(), - ]; - $o = status_editor($a, $x, 0, true); + $o = status_editor($a, [], 0, true); } } diff --git a/src/Module/Conversation/Community.php b/src/Module/Conversation/Community.php index 8482bd3c73..c236778cb4 100644 --- a/src/Module/Conversation/Community.php +++ b/src/Module/Conversation/Community.php @@ -128,18 +128,7 @@ class Community extends BaseModule // We need the editor here to be able to reshare an item. if (Session::isAuthenticated()) { - $x = [ - 'is_owner' => true, - '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', - 'profile_uid' => local_user(), - ]; - $o .= status_editor(DI::app(), $x, 0, true); + $o .= status_editor(DI::app(), [], 0, true); } } diff --git a/src/Module/Conversation/Network.php b/src/Module/Conversation/Network.php index 6d758ca502..1e97894cb8 100644 --- a/src/Module/Conversation/Network.php +++ b/src/Module/Conversation/Network.php @@ -139,16 +139,9 @@ class Network extends BaseModule } $x = [ - 'is_owner' => true, - '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), + 'acl' => ACL::getFullSelectorHTML(DI::page(), $a->getUserId(), true, $default_permissions), 'bang' => ((self::$groupId || self::$forumContactId || self::$network) ? '!' : ''), - 'visitor' => 'block', - 'profile_uid' => local_user(), 'content' => $content, ]; diff --git a/src/Module/Delegation.php b/src/Module/Delegation.php index 788b402682..7ee9b49728 100644 --- a/src/Module/Delegation.php +++ b/src/Module/Delegation.php @@ -45,7 +45,7 @@ class Delegation extends BaseModule } $uid = local_user(); - $orig_record = DI::app()->user; + $orig_record = User::getById(DI::app()->getUserId()); if (Session::get('submanage')) { $user = User::getById(Session::get('submanage')); diff --git a/src/Module/Invite.php b/src/Module/Invite.php index d68fd053cd..3b3e56eb45 100644 --- a/src/Module/Invite.php +++ b/src/Module/Invite.php @@ -25,6 +25,7 @@ use Friendica\BaseModule; use Friendica\Core\Renderer; use Friendica\DI; use Friendica\Model; +use Friendica\Model\User; use Friendica\Network\HTTPException; use Friendica\Protocol\Email; use Friendica\Util\Strings; @@ -71,6 +72,8 @@ class Invite extends BaseModule } } + $user = User::getById(local_user()); + foreach ($recipients as $recipient) { $recipient = trim($recipient); @@ -95,7 +98,7 @@ class Invite extends BaseModule $nmessage = $message; } - $additional_headers = 'From: "' . $app->getUserValue('email') . '" <' . DI::emailer()->getSiteEmailAddress() . ">\n" + $additional_headers = 'From: "' . $user['email'] . '" <' . DI::emailer()->getSiteEmailAddress() . ">\n" . 'Content-type: text/plain; charset=UTF-8' . "\n" . 'Content-transfer-encoding: 8bit'; diff --git a/src/Module/Item/Compose.php b/src/Module/Item/Compose.php index db59bfb480..b7e6bce7de 100644 --- a/src/Module/Item/Compose.php +++ b/src/Module/Item/Compose.php @@ -186,7 +186,7 @@ class Compose extends BaseModule '$jotplugins' => $jotplugins, '$rand_num' => Crypto::randomDigits(12), - '$acl_selector' => ACL::getFullSelectorHTML(DI::page(), $a->user, $doesFederate, [ + '$acl_selector' => ACL::getFullSelectorHTML(DI::page(), $a->getUserId(), $doesFederate, [ 'allow_cid' => $contact_allow_list, 'allow_gid' => $group_allow_list, 'deny_cid' => $contact_deny_list, diff --git a/src/Module/Magic.php b/src/Module/Magic.php index cbd629fd3c..45fde43f64 100644 --- a/src/Module/Magic.php +++ b/src/Module/Magic.php @@ -27,6 +27,7 @@ use Friendica\Core\System; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Model\Contact; +use Friendica\Model\User; use Friendica\Util\HTTPSignature; use Friendica\Util\Strings; @@ -76,52 +77,50 @@ class Magic extends BaseModule System::externalRedirect($dest); } - if (local_user()) { - $user = $a->user; + // OpenWebAuth + if (local_user() && $owa) { + $user = User::getById(local_user()); - // OpenWebAuth - if ($owa) { - // Extract the basepath - // NOTE: we need another solution because this does only work - // for friendica contacts :-/ . We should have the basepath - // of a contact also in the contact table. - $exp = explode('/profile/', $contact['url']); - $basepath = $exp[0]; + // Extract the basepath + // NOTE: we need another solution because this does only work + // for friendica contacts :-/ . We should have the basepath + // of a contact also in the contact table. + $exp = explode('/profile/', $contact['url']); + $basepath = $exp[0]; - $header = []; - $header['Accept'] = 'application/x-dfrn+json, application/x-zot+json'; - $header['X-Open-Web-Auth'] = Strings::getRandomHex(); + $header = []; + $header['Accept'] = 'application/x-dfrn+json, application/x-zot+json'; + $header['X-Open-Web-Auth'] = Strings::getRandomHex(); - // Create a header that is signed with the local users private key. - $header = HTTPSignature::createSig( - $header, - $user['prvkey'], - 'acct:' . $user['nickname'] . '@' . DI::baseUrl()->getHostname() . (DI::baseUrl()->getUrlPath() ? '/' . DI::baseUrl()->getUrlPath() : '') - ); + // Create a header that is signed with the local users private key. + $header = HTTPSignature::createSig( + $header, + $user['prvkey'], + 'acct:' . $user['nickname'] . '@' . DI::baseUrl()->getHostname() . (DI::baseUrl()->getUrlPath() ? '/' . DI::baseUrl()->getUrlPath() : '') + ); - // Try to get an authentication token from the other instance. - $curlResult = DI::httpRequest()->get($basepath . '/owa', ['header' => $header]); + // Try to get an authentication token from the other instance. + $curlResult = DI::httpRequest()->get($basepath . '/owa', ['header' => $header]); - if ($curlResult->isSuccess()) { - $j = json_decode($curlResult->getBody(), true); + if ($curlResult->isSuccess()) { + $j = json_decode($curlResult->getBody(), true); - if ($j['success']) { - $token = ''; - if ($j['encrypted_token']) { - // The token is encrypted. If the local user is really the one the other instance - // thinks he/she is, the token can be decrypted with the local users public key. - openssl_private_decrypt(Strings::base64UrlDecode($j['encrypted_token']), $token, $user['prvkey']); - } else { - $token = $j['token']; - } - $args = (strpbrk($dest, '?&') ? '&' : '?') . 'owt=' . $token; - - Logger::info('Redirecting', ['path' => $dest . $args]); - System::externalRedirect($dest . $args); + if ($j['success']) { + $token = ''; + if ($j['encrypted_token']) { + // The token is encrypted. If the local user is really the one the other instance + // thinks he/she is, the token can be decrypted with the local users public key. + openssl_private_decrypt(Strings::base64UrlDecode($j['encrypted_token']), $token, $user['prvkey']); + } else { + $token = $j['token']; } + $args = (strpbrk($dest, '?&') ? '&' : '?') . 'owt=' . $token; + + Logger::info('Redirecting', ['path' => $dest . $args]); + System::externalRedirect($dest . $args); } - System::externalRedirect($dest); } + System::externalRedirect($dest); } if ($test) { diff --git a/src/Module/Profile/Status.php b/src/Module/Profile/Status.php index 94e93209ea..b60fb2cdb6 100644 --- a/src/Module/Profile/Status.php +++ b/src/Module/Profile/Status.php @@ -125,11 +125,9 @@ class Status extends BaseProfile $x = [ 'is_owner' => $is_owner, 'allow_location' => ($is_owner || $commvisitor) && $profile['allow_location'], - 'default_location' => $is_owner ? $a->getUserValue('default-location') : '', + 'default_location' => $is_owner ? $profile['default-location'] : '', 'nickname' => $profile['nickname'], - 'lockstate' => ACL::getLockstateForUserId($a->getUserId()) ? 'lock' : 'unlock', - 'acl' => $is_owner ? ACL::getFullSelectorHTML(DI::page(), $a->user, true) : '', - 'bang' => '', + 'acl' => $is_owner ? ACL::getFullSelectorHTML(DI::page(), $a->getUserId(), true) : '', 'visitor' => $is_owner || $commvisitor ? 'block' : 'none', 'profile_uid' => $profile['uid'], ]; diff --git a/src/Module/Security/TwoFactor/Recovery.php b/src/Module/Security/TwoFactor/Recovery.php index 46eb383b2d..9faab40705 100644 --- a/src/Module/Security/TwoFactor/Recovery.php +++ b/src/Module/Security/TwoFactor/Recovery.php @@ -25,6 +25,7 @@ use Friendica\BaseModule; use Friendica\Core\Renderer; use Friendica\Core\Session; use Friendica\DI; +use Friendica\Model\User; use Friendica\Security\TwoFactor\Model\RecoveryCode; /** @@ -59,7 +60,7 @@ class Recovery extends BaseModule Session::set('2fa', true); info(DI::l10n()->t('Remaining recovery codes: %d', RecoveryCode::countValidForUser(local_user()))); - DI::auth()->setForUser($a, $a->user, true, true); + DI::auth()->setForUser($a, User::getById($a->getUserId()), true, true); } else { notice(DI::l10n()->t('Invalid code, please retry.')); } diff --git a/src/Module/Security/TwoFactor/Verify.php b/src/Module/Security/TwoFactor/Verify.php index 645aae9e29..bb3e444a93 100644 --- a/src/Module/Security/TwoFactor/Verify.php +++ b/src/Module/Security/TwoFactor/Verify.php @@ -25,6 +25,7 @@ use Friendica\BaseModule; use Friendica\Core\Renderer; use Friendica\Core\Session; use Friendica\DI; +use Friendica\Model\User; use PragmaRX\Google2FA\Google2FA; use Friendica\Security\TwoFactor; @@ -70,7 +71,7 @@ class Verify extends BaseModule } // Resume normal login workflow - DI::auth()->setForUser($a, $a->user, true, true); + DI::auth()->setForUser($a, User::getById($a->getUserId()), true, true); } else { self::$errors[] = DI::l10n()->t('Invalid code, please retry.'); } diff --git a/src/Module/Settings/Delegation.php b/src/Module/Settings/Delegation.php index 89bc78b32f..067304ee8a 100644 --- a/src/Module/Settings/Delegation.php +++ b/src/Module/Settings/Delegation.php @@ -38,7 +38,7 @@ class Delegation extends BaseSettings { public static function post(array $parameters = []) { - if (!local_user() || empty(DI::app()->getUserId()) || DI::app()->getUserId() != local_user()) { + if (!DI::app()->isLoggedIn()) { throw new HTTPException\ForbiddenException(DI::l10n()->t('Permission denied.')); } diff --git a/src/Module/Settings/Display.php b/src/Module/Settings/Display.php index a82c992c44..dd97ffc90d 100644 --- a/src/Module/Settings/Display.php +++ b/src/Module/Settings/Display.php @@ -27,6 +27,7 @@ use Friendica\Core\Session; use Friendica\Core\Theme; use Friendica\Database\DBA; use Friendica\DI; +use Friendica\Model\User; use Friendica\Module\BaseSettings; use Friendica\Network\HTTPException; use Friendica\Util\Strings; @@ -38,13 +39,15 @@ class Display extends BaseSettings { public static function post(array $parameters = []) { - if (!local_user() || empty(DI::app()->getUserId()) || DI::app()->getUserId() != local_user()) { + if (!DI::app()->isLoggedIn()) { 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()->getUserValue('theme'); + $user = User::getById(local_user()); + + $theme = !empty($_POST['theme']) ? Strings::escapeTags(trim($_POST['theme'])) : $user['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 +95,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()->getUserValue('theme')) { + if ($theme == $user['theme']) { // call theme_post only if theme has not been changed if (($themeconfigfile = Theme::getConfigFile($theme)) !== null) { require_once $themeconfigfile; @@ -128,6 +131,8 @@ class Display extends BaseSettings $default_mobile_theme = 'none'; } + $user = User::getById(local_user()); + $allowed_themes = Theme::getAllowedList(); $themes = []; @@ -152,7 +157,7 @@ class Display extends BaseSettings } } - $theme_selected = DI::app()->getUserValue('theme') ?: $default_theme; + $theme_selected = $user['theme'] ?: $default_theme; $mobile_theme_selected = Session::get('mobile-theme', $default_mobile_theme); $itemspage_network = intval(DI::pConfig()->get(local_user(), 'system', 'itemspage_network')); diff --git a/src/Module/Settings/Profile/Index.php b/src/Module/Settings/Profile/Index.php index 86e23234d4..6faa899bad 100644 --- a/src/Module/Settings/Profile/Index.php +++ b/src/Module/Settings/Profile/Index.php @@ -172,7 +172,7 @@ class Index extends BaseSettings 'value' => ['profile_field[' . $profileField->id . '][value]', DI::l10n()->t('Value:'), $profileField->value], 'acl' => ACL::getFullSelectorHTML( DI::page(), - $a->user, + $a->getUserId(), false, $defaultPermissions, ['network' => Protocol::DFRN], @@ -192,7 +192,7 @@ class Index extends BaseSettings 'value' => ['profile_field[new][value]', DI::l10n()->t('Value:')], 'acl' => ACL::getFullSelectorHTML( DI::page(), - $a->user, + $a->getUserId(), false, ['allow_cid' => []], ['network' => Protocol::DFRN], diff --git a/src/Module/Settings/UserExport.php b/src/Module/Settings/UserExport.php index e9f999536a..cffa3b99ec 100644 --- a/src/Module/Settings/UserExport.php +++ b/src/Module/Settings/UserExport.php @@ -90,7 +90,7 @@ class UserExport extends BaseSettings */ public static function rawContent(array $parameters = []) { - if (!local_user() || empty(DI::app()->getUserId()) || DI::app()->getUserId() != local_user()) { + if (!DI::app()->isLoggedIn()) { throw new HTTPException\ForbiddenException(DI::l10n()->t('Permission denied.')); } @@ -98,21 +98,20 @@ class UserExport extends BaseSettings if ($args->getArgc() == 3) { // @TODO Replace with router-provided arguments $action = $args->get(2); - $user = DI::app()->user; switch ($action) { case "backup": header("Content-type: application/json"); - header('Content-Disposition: attachment; filename="' . $user['nickname'] . '.' . $action . '"'); + header('Content-Disposition: attachment; filename="' . DI::app()->getNickname() . '.' . $action . '"'); self::exportAll(local_user()); break; case "account": header("Content-type: application/json"); - header('Content-Disposition: attachment; filename="' . $user['nickname'] . '.' . $action . '"'); + header('Content-Disposition: attachment; filename="' . DI::app()->getNickname() . '.' . $action . '"'); self::exportAccount(local_user()); break; case "contact": header("Content-type: application/csv"); - header('Content-Disposition: attachment; filename="' . $user['nickname'] . '-contacts.csv' . '"'); + header('Content-Disposition: attachment; filename="' . DI::app()->getNickname() . '-contacts.csv' . '"'); self::exportContactsAsCSV(local_user()); break; } diff --git a/src/Object/EMail/ItemCCEMail.php b/src/Object/EMail/ItemCCEMail.php index 7c3c3271a7..e70625bb96 100644 --- a/src/Object/EMail/ItemCCEMail.php +++ b/src/Object/EMail/ItemCCEMail.php @@ -26,6 +26,7 @@ use Friendica\App\BaseURL; use Friendica\Content\Text\HTML; use Friendica\Core\L10n; use Friendica\Model\Item; +use Friendica\Model\User; use Friendica\Object\Email; use Friendica\Protocol\Email as EmailProtocol; @@ -36,20 +37,22 @@ class ItemCCEMail extends Email { public function __construct(App $a, L10n $l10n, BaseURL $baseUrl, array $item, string $toAddress, string $authorThumb) { - $disclaimer = '
' . $l10n->t('This message was sent to you by %s, a member of the Friendica social network.', $a->getUserValue('username')) + $user = User::getById($a->getUserId()); + + $disclaimer = '
' . $l10n->t('This message was sent to you by %s, a member of the Friendica social network.', $user['username']) . '
'; $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->getUserValue('username')), 'UTF-8'); + $subject = EmailProtocol::encodeHeader('[Friendica]' . ' ' . $l10n->t('%s posted an update.', $user['username']), 'UTF-8'); } - $link = '' . $a->getUserValue('username') . '

'; + $link = '' . $user['username'] . '

'; $html = Item::prepareBody($item); $message = '' . $link . $html . $disclaimer . '';; - parent::__construct($a->getUserValue('username'), $a->getUserValue('email'), $a->getUserValue('email'), $toAddress, + parent::__construct($user['username'], $user['email'], $user['email'], $toAddress, $subject, $message, HTML::toPlaintext($html . $disclaimer)); } } diff --git a/src/Security/Authentication.php b/src/Security/Authentication.php index a0b9270262..c7a7439572 100644 --- a/src/Security/Authentication.php +++ b/src/Security/Authentication.php @@ -355,7 +355,6 @@ class Authentication $a->setUserId($user_record['uid']); $a->setNickname($user_record['nickname']); - $a->user = $user_record; if ($login_initial) { Hook::callAll('logged_in', $user_record); diff --git a/src/Worker/AddContact.php b/src/Worker/AddContact.php index e61124d777..9132f3ba12 100644 --- a/src/Worker/AddContact.php +++ b/src/Worker/AddContact.php @@ -41,11 +41,7 @@ class AddContact return; } - $user = User::getById($uid); - if (empty($user)) { - return; - } - $result = Contact::createFromProbe($user, $url, '', false); + $result = Contact::createFromProbe($uid, $url); Logger::info('Added contact', ['uid' => $uid, 'url' => $url, 'result' => $result]); } } diff --git a/tests/legacy/ApiTest.php b/tests/legacy/ApiTest.php index 1f761de203..2e6d49ebf2 100644 --- a/tests/legacy/ApiTest.php +++ b/tests/legacy/ApiTest.php @@ -1949,7 +1949,7 @@ class ApiTest extends FixtureTest */ public function testApiStatusesMentions() { - $this->app->user = ['nickname' => $this->selfUser['nick']]; + $this->app->setNickname($this->selfUser['nick']); $_REQUEST['max_id'] = 10; $result = api_statuses_mentions('json'); self::assertEmpty($result['status']); @@ -2865,7 +2865,7 @@ class ApiTest extends FixtureTest */ public function testApiDirectMessagesNewWithScreenName() { - $this->app->user = ['nickname' => $this->selfUser['nick']]; + $this->app->setNickname($this->selfUser['nick']); $_POST['text'] = 'message_text'; $_POST['screen_name'] = $this->friendUser['nick']; $result = api_direct_messages_new('json'); @@ -2881,7 +2881,7 @@ class ApiTest extends FixtureTest */ public function testApiDirectMessagesNewWithTitle() { - $this->app->user = ['nickname' => $this->selfUser['nick']]; + $this->app->setNickname($this->selfUser['nick']); $_POST['text'] = 'message_text'; $_POST['screen_name'] = $this->friendUser['nick']; $_REQUEST['title'] = 'message_title'; @@ -2899,7 +2899,7 @@ class ApiTest extends FixtureTest */ public function testApiDirectMessagesNewWithRss() { - $this->app->user = ['nickname' => $this->selfUser['nick']]; + $this->app->setNickname($this->selfUser['nick']); $_POST['text'] = 'message_text'; $_POST['screen_name'] = $this->friendUser['nick']; $result = api_direct_messages_new('rss'); diff --git a/view/theme/frio/theme.php b/view/theme/frio/theme.php index bf0875e49f..446aa6acdc 100644 --- a/view/theme/frio/theme.php +++ b/view/theme/frio/theme.php @@ -200,8 +200,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->getUserId())) { + $fields = ['id', 'url', 'avatar', 'micro', 'name', 'nick', 'baseurl', 'updated']; + if ($a->isLoggedIn()) { $remoteUser = Contact::selectFirst($fields, ['uid' => $a->getUserId(), 'self' => true]); } elseif (!local_user() && remote_user()) { $remoteUser = Contact::getById(remote_user(), $fields); From a9d7e5b29e84190493ab98c1a5b011603753d8f5 Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 8 Aug 2021 19:43:15 +0000 Subject: [PATCH 03/10] Removed unused use --- src/Module/Settings/Profile/Index.php | 3 --- src/Module/Settings/Profile/Photo/Index.php | 1 - 2 files changed, 4 deletions(-) diff --git a/src/Module/Settings/Profile/Index.php b/src/Module/Settings/Profile/Index.php index 6faa899bad..dbcb7fb06a 100644 --- a/src/Module/Settings/Profile/Index.php +++ b/src/Module/Settings/Profile/Index.php @@ -25,12 +25,9 @@ use Friendica\Core\ACL; use Friendica\Core\Hook; use Friendica\Core\Protocol; use Friendica\Core\Renderer; -use Friendica\Core\Session; use Friendica\Core\Theme; -use Friendica\Core\Worker; use Friendica\Database\DBA; use Friendica\DI; -use Friendica\Model\Contact; use Friendica\Model\Profile; use Friendica\Model\ProfileField; use Friendica\Model\User; diff --git a/src/Module/Settings/Profile/Photo/Index.php b/src/Module/Settings/Profile/Photo/Index.php index f53f3bd53e..5a7bae168e 100644 --- a/src/Module/Settings/Profile/Photo/Index.php +++ b/src/Module/Settings/Profile/Photo/Index.php @@ -21,7 +21,6 @@ namespace Friendica\Module\Settings\Profile\Photo; -use Friendica\App\Arguments; use Friendica\Core\Renderer; use Friendica\Core\Session; use Friendica\DI; From 9f01052dd252828df1e033684acb8ed72ef58ae9 Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 8 Aug 2021 20:03:28 +0000 Subject: [PATCH 04/10] Removed some more unused "use" --- mod/display.php | 1 - mod/item.php | 1 - src/App.php | 1 - src/Content/Nav.php | 1 - src/Module/Bookmarklet.php | 1 - src/Module/Contact.php | 1 - src/Module/Conversation/Community.php | 1 - src/Module/Profile/Contacts.php | 1 - src/Module/Profile/Profile.php | 1 - src/Module/Settings/Profile/Photo/Crop.php | 1 - src/Module/Settings/UserExport.php | 1 - src/Security/Authentication.php | 1 - src/Worker/AddContact.php | 1 - 13 files changed, 13 deletions(-) diff --git a/mod/display.php b/mod/display.php index 7d7ea08a8f..ad61134e5f 100644 --- a/mod/display.php +++ b/mod/display.php @@ -22,7 +22,6 @@ use Friendica\App; use Friendica\Content\Text\BBCode; use Friendica\Content\Widget; -use Friendica\Core\ACL; use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\Renderer; diff --git a/mod/item.php b/mod/item.php index 2a365f3da2..73b6ad1891 100644 --- a/mod/item.php +++ b/mod/item.php @@ -55,7 +55,6 @@ use Friendica\Model\User; use Friendica\Network\HTTPException; use Friendica\Object\EMail\ItemCCEMail; use Friendica\Protocol\Activity; -use Friendica\Protocol\Diaspora; use Friendica\Security\Security; use Friendica\Util\DateTimeFormat; use Friendica\Util\ParseUrl; diff --git a/src/App.php b/src/App.php index 4342e57ece..d779a48d6e 100644 --- a/src/App.php +++ b/src/App.php @@ -36,7 +36,6 @@ 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; diff --git a/src/Content/Nav.php b/src/Content/Nav.php index 2263b1cae3..3504b9e5a3 100644 --- a/src/Content/Nav.php +++ b/src/Content/Nav.php @@ -23,7 +23,6 @@ namespace Friendica\Content; use Friendica\App; use Friendica\Core\Hook; -use Friendica\Core\Logger; use Friendica\Core\Renderer; use Friendica\Core\Session; use Friendica\Database\DBA; diff --git a/src/Module/Bookmarklet.php b/src/Module/Bookmarklet.php index 2d882e0fa5..d581b81e85 100644 --- a/src/Module/Bookmarklet.php +++ b/src/Module/Bookmarklet.php @@ -23,7 +23,6 @@ namespace Friendica\Module; use Friendica\BaseModule; use Friendica\Content\PageInfo; -use Friendica\Core\ACL; use Friendica\DI; use Friendica\Module\Security\Login; use Friendica\Network\HTTPException; diff --git a/src/Module/Contact.php b/src/Module/Contact.php index 2a68262a5e..9685d090e7 100644 --- a/src/Module/Contact.php +++ b/src/Module/Contact.php @@ -27,7 +27,6 @@ use Friendica\Content\Nav; use Friendica\Content\Pager; use Friendica\Content\Text\BBCode; use Friendica\Content\Widget; -use Friendica\Core\ACL; use Friendica\Core\Hook; use Friendica\Core\Protocol; use Friendica\Core\Renderer; diff --git a/src/Module/Conversation/Community.php b/src/Module/Conversation/Community.php index c236778cb4..d80c4aae23 100644 --- a/src/Module/Conversation/Community.php +++ b/src/Module/Conversation/Community.php @@ -29,7 +29,6 @@ use Friendica\Content\Nav; use Friendica\Content\Text\HTML; use Friendica\Content\Widget; use Friendica\Content\Widget\TrendingTags; -use Friendica\Core\ACL; use Friendica\Core\Renderer; use Friendica\Core\Session; use Friendica\Database\DBA; diff --git a/src/Module/Profile/Contacts.php b/src/Module/Profile/Contacts.php index 8ccf1f7361..19dbe4cddb 100644 --- a/src/Module/Profile/Contacts.php +++ b/src/Module/Profile/Contacts.php @@ -23,7 +23,6 @@ namespace Friendica\Module\Profile; use Friendica\Content\Nav; use Friendica\Content\Pager; -use Friendica\Content\Widget; use Friendica\Core\Protocol; use Friendica\Core\Renderer; use Friendica\Core\Session; diff --git a/src/Module/Profile/Profile.php b/src/Module/Profile/Profile.php index 9f056f8741..7e35fec8b7 100644 --- a/src/Module/Profile/Profile.php +++ b/src/Module/Profile/Profile.php @@ -26,7 +26,6 @@ use Friendica\Content\ForumManager; use Friendica\Content\Nav; use Friendica\Content\Text\BBCode; use Friendica\Content\Text\HTML; -use Friendica\Content\Widget; use Friendica\Core\Hook; use Friendica\Core\Protocol; use Friendica\Core\Renderer; diff --git a/src/Module/Settings/Profile/Photo/Crop.php b/src/Module/Settings/Profile/Photo/Crop.php index 0d78ae4c34..f90b16f0e9 100644 --- a/src/Module/Settings/Profile/Photo/Crop.php +++ b/src/Module/Settings/Profile/Photo/Crop.php @@ -23,7 +23,6 @@ namespace Friendica\Module\Settings\Profile\Photo; use Friendica\Core\Renderer; use Friendica\Core\Session; -use Friendica\Core\Worker; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Model\Contact; diff --git a/src/Module/Settings/UserExport.php b/src/Module/Settings/UserExport.php index cffa3b99ec..a2a6dc2d2a 100644 --- a/src/Module/Settings/UserExport.php +++ b/src/Module/Settings/UserExport.php @@ -21,7 +21,6 @@ namespace Friendica\Module\Settings; -use Friendica\App; use Friendica\Core\Hook; use Friendica\Core\Renderer; use Friendica\Database\DBA; diff --git a/src/Security/Authentication.php b/src/Security/Authentication.php index c7a7439572..074cfc2bae 100644 --- a/src/Security/Authentication.php +++ b/src/Security/Authentication.php @@ -39,7 +39,6 @@ use Friendica\Util\Network; use Friendica\Util\Strings; use LightOpenID; use Friendica\Core\L10n; -use Friendica\Core\Logger; use Psr\Log\LoggerInterface; /** diff --git a/src/Worker/AddContact.php b/src/Worker/AddContact.php index 9132f3ba12..755373fcd0 100644 --- a/src/Worker/AddContact.php +++ b/src/Worker/AddContact.php @@ -23,7 +23,6 @@ namespace Friendica\Worker; use Friendica\Core\Logger; use Friendica\Model\Contact; -use Friendica\Model\User; class AddContact { From b8fa75b2dd70c3bdc7a4ba2f74d40fd290eaf0e8 Mon Sep 17 00:00:00 2001 From: Michael Date: Mon, 9 Aug 2021 15:29:07 +0000 Subject: [PATCH 05/10] Changed function name --- include/api.php | 2 +- mod/display.php | 2 +- mod/editpost.php | 2 +- mod/events.php | 2 +- mod/fbrowser.php | 6 +++--- mod/follow.php | 2 +- mod/message.php | 8 ++++---- mod/notes.php | 2 +- mod/ostatus_subscribe.php | 2 +- mod/photos.php | 2 +- mod/ping.php | 2 +- mod/repair_ostatus.php | 2 +- mod/settings.php | 2 +- src/App.php | 2 +- src/App/Page.php | 4 ++-- src/BaseModule.php | 4 ++-- src/Console/Contact.php | 2 +- src/Content/Nav.php | 14 +++++++------- src/Factory/Notification/Introduction.php | 2 +- src/Model/Contact.php | 6 +++--- src/Model/Mail.php | 2 +- src/Module/Contact.php | 2 +- src/Module/Delegation.php | 4 ++-- src/Module/HCard.php | 2 +- src/Module/Home.php | 2 +- src/Module/Invite.php | 2 +- src/Module/NoScrape.php | 2 +- src/Module/Profile/Schedule.php | 2 +- src/Module/Settings/Profile/Photo/Crop.php | 4 ++-- src/Module/Settings/Profile/Photo/Index.php | 2 +- src/Module/Settings/UserExport.php | 6 +++--- src/Object/EMail/ItemCCEMail.php | 4 ++-- src/Worker/AddContact.php | 2 +- view/theme/vier/theme.php | 2 +- 34 files changed, 54 insertions(+), 54 deletions(-) diff --git a/include/api.php b/include/api.php index e419e3ad27..7b649da7df 100644 --- a/include/api.php +++ b/include/api.php @@ -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 . 'nickname {nickname}', ['module' => 'api', 'action' => 'call', 'nickname' => $a->getNickname()]); + Logger::info(API_LOG_PREFIX . 'nickname {nickname}', ['module' => 'api', 'action' => 'call', 'nickname' => $a->getUserNickname()]); } Logger::debug(API_LOG_PREFIX . 'parameters', ['module' => 'api', 'action' => 'call', 'parameters' => $_REQUEST]); diff --git a/mod/display.php b/mod/display.php index ad61134e5f..7ac4f38ce8 100644 --- a/mod/display.php +++ b/mod/display.php @@ -62,7 +62,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->getNickname(); + $nick = $a->getUserNickname(); } } diff --git a/mod/editpost.php b/mod/editpost.php index 5197708b4b..e522522e3d 100644 --- a/mod/editpost.php +++ b/mod/editpost.php @@ -68,7 +68,7 @@ function editpost_content(App $a) DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl, [ '$ispublic' => ' ', // DI::l10n()->t('Visible to everybody'), '$geotag' => $geotag, - '$nickname' => $a->getNickname(), + '$nickname' => $a->getUserNickname(), '$is_mobile' => DI::mode()->isMobile(), ]); diff --git a/mod/events.php b/mod/events.php index 71e14fc862..25a9376325 100644 --- a/mod/events.php +++ b/mod/events.php @@ -280,7 +280,7 @@ function events_content(App $a) $tabs = ''; // tabs if ($a->getThemeInfoValue('events_in_profile')) { - $tabs = BaseProfile::getTabsHTML($a, 'events', true, $a->getNickname(), false); + $tabs = BaseProfile::getTabsHTML($a, 'events', true, $a->getUserNickname(), false); } $mode = 'view'; diff --git a/mod/fbrowser.php b/mod/fbrowser.php index 2f4b2eef53..5d086e0bf8 100644 --- a/mod/fbrowser.php +++ b/mod/fbrowser.php @@ -88,7 +88,7 @@ function fbrowser_content(App $a) } return [ - DI::baseUrl() . '/photos/' . $a->getNickname() . '/image/' . $rr['resource-id'], + DI::baseUrl() . '/photos/' . $a->getUserNickname() . '/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->getNickname(), + '$nickname' => $a->getUserNickname(), '$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->getNickname(), + '$nickname' => $a->getUserNickname(), '$upload' => DI::l10n()->t('Upload') ]); } diff --git a/mod/follow.php b/mod/follow.php index d655bc2bfe..d7b01e6192 100644 --- a/mod/follow.php +++ b/mod/follow.php @@ -175,7 +175,7 @@ function follow_process(App $a, string $url) { $return_path = 'follow?url=' . urlencode($url); - $result = Contact::createFromProbe($a->getUserId(), $url); + $result = Contact::createFromProbeForUser($a->getUserId(), $url); if ($result['success'] == false) { // Possibly it is a remote item and not an account diff --git a/mod/message.php b/mod/message.php index e862a469bd..c8e5f42904 100644 --- a/mod/message.php +++ b/mod/message.php @@ -112,7 +112,7 @@ function message_content(App $a) return Login::form(); } - $myprofile = DI::baseUrl() . '/profile/' . $a->getNickname(); + $myprofile = DI::baseUrl() . '/profile/' . $a->getUserNickname(); $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->getNickname(), + '$nickname' => $a->getUserNickname(), '$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->getNickname(), + '$nickname' => $a->getUserNickname(), '$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->getNickname(); + $myprofile = DI::baseUrl() . '/profile/' . $a->getUserNickname(); foreach ($msg as $rr) { if ($rr['unknown']) { diff --git a/mod/notes.php b/mod/notes.php index fd8763b965..1c160a2f2e 100644 --- a/mod/notes.php +++ b/mod/notes.php @@ -45,7 +45,7 @@ function notes_content(App $a, $update = false) return; } - $o = BaseProfile::getTabsHTML($a, 'notes', true, $a->getNickname(), false); + $o = BaseProfile::getTabsHTML($a, 'notes', true, $a->getUserNickname(), false); if (!$update) { $o .= '

' . DI::l10n()->t('Personal Notes') . '

'; diff --git a/mod/ostatus_subscribe.php b/mod/ostatus_subscribe.php index fe8591b2fa..9de27f52ed 100644 --- a/mod/ostatus_subscribe.php +++ b/mod/ostatus_subscribe.php @@ -111,7 +111,7 @@ function ostatus_subscribe_content(App $a) $probed = Contact::getByURL($url); if (in_array($probed['network'], Protocol::FEDERATED)) { - $result = Contact::createFromProbe($a->getUserId(), $probed['url']); + $result = Contact::createFromProbeForUser($a->getUserId(), $probed['url']); if ($result['success']) { $o .= ' - ' . DI::l10n()->t('success'); } else { diff --git a/mod/photos.php b/mod/photos.php index 583183ebb9..f90a9f3bfc 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -224,7 +224,7 @@ function photos_post(App $a) // Update the photo albums cache Photo::clearAlbumCache($page_owner_uid); - DI::baseUrl()->redirect('photos/' . $a->getNickname() . '/album/' . bin2hex($newalbum)); + DI::baseUrl()->redirect('photos/' . $a->getUserNickname() . '/album/' . bin2hex($newalbum)); return; // NOTREACHED } diff --git a/mod/ping.php b/mod/ping.php index 61a12a0128..14331b2e77 100644 --- a/mod/ping.php +++ b/mod/ping.php @@ -193,7 +193,7 @@ function ping_init(App $a) $intro_count = count($intros1) + count($intros2); $intros = $intros1 + $intros2; - $myurl = DI::baseUrl() . '/profile/' . $a->getNickname(); + $myurl = DI::baseUrl() . '/profile/' . $a->getUserNickname(); $mails = q( "SELECT `id`, `from-name`, `from-url`, `from-photo`, `created` FROM `mail` WHERE `uid` = %d AND `seen` = 0 AND `from-url` != '%s' ", diff --git a/mod/repair_ostatus.php b/mod/repair_ostatus.php index 2437837798..e201e60a4a 100644 --- a/mod/repair_ostatus.php +++ b/mod/repair_ostatus.php @@ -70,7 +70,7 @@ function repair_ostatus_content(App $a) { $o .= "

".DI::l10n()->t("Keep this window open until done.")."

"; - Contact::createFromProbe($a->getUserId(), $r[0]["url"]); + Contact::createFromProbeForUser($a->getUserId(), $r[0]["url"]); DI::page()['htmlhead'] = ''; diff --git a/mod/settings.php b/mod/settings.php index 63ad55fa98..5ad884e883 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -594,7 +594,7 @@ function settings_content(App $a) $username = $user['username']; $email = $user['email']; - $nickname = $a->getNickname(); + $nickname = $a->getUserNickname(); $timezone = $user['timezone']; $language = $user['language']; $notify = $user['notify-flags']; diff --git a/src/App.php b/src/App.php index d779a48d6e..ff8c059dec 100644 --- a/src/App.php +++ b/src/App.php @@ -166,7 +166,7 @@ class App * Fetch the user nick name * @return string */ - public function getNickname() + public function getUserNickname() { return $this->nickname; } diff --git a/src/App/Page.php b/src/App/Page.php index 97b70cf5c0..75107df6da 100644 --- a/src/App/Page.php +++ b/src/App/Page.php @@ -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->getNickname())) { - $homebase = 'profile/' . $app->getNickname(); + } elseif (!empty($app->getUserNickname())) { + $homebase = 'profile/' . $app->getUserNickname(); } if (isset($homebase)) { diff --git a/src/BaseModule.php b/src/BaseModule.php index f6dbedfa73..28cce09e07 100644 --- a/src/BaseModule.php +++ b/src/BaseModule.php @@ -183,7 +183,7 @@ abstract class BaseModule public static function checkFormSecurityTokenRedirectOnError($err_redirect, $typename = '', $formname = 'form_security_token') { if (!self::checkFormSecurityToken($typename, $formname)) { - Logger::log('checkFormSecurityToken failed: user ' . DI::app()->getNickname() . ' - form element ' . $typename); + Logger::log('checkFormSecurityToken failed: user ' . DI::app()->getUserNickname() . ' - form element ' . $typename); Logger::log('checkFormSecurityToken failed: _REQUEST data: ' . print_r($_REQUEST, true), Logger::DATA); notice(self::getFormSecurityStandardErrorMessage()); DI::baseUrl()->redirect($err_redirect); @@ -193,7 +193,7 @@ abstract class BaseModule public static function checkFormSecurityTokenForbiddenOnError($typename = '', $formname = 'form_security_token') { if (!self::checkFormSecurityToken($typename, $formname)) { - Logger::log('checkFormSecurityToken failed: user ' . DI::app()->getNickname() . ' - form element ' . $typename); + Logger::log('checkFormSecurityToken failed: user ' . DI::app()->getUserNickname() . ' - form element ' . $typename); Logger::log('checkFormSecurityToken failed: _REQUEST data: ' . print_r($_REQUEST, true), Logger::DATA); throw new \Friendica\Network\HTTPException\ForbiddenException(); diff --git a/src/Console/Contact.php b/src/Console/Contact.php index 7a4299c7bd..ba65c00251 100644 --- a/src/Console/Contact.php +++ b/src/Console/Contact.php @@ -164,7 +164,7 @@ HELP; $network = CliPrompt::prompt(); } - $result = ContactModel::createFromProbe($user['uid'], $url, $network); + $result = ContactModel::createFromProbeForUser($user['uid'], $url, $network); if ($result['success']) { $this->out('User ' . $user['nickname'] . ' now connected to ' . $url . ', contact ID ' . $result['cid']); diff --git a/src/Content/Nav.php b/src/Content/Nav.php index 3504b9e5a3..4ed25cdad5 100644 --- a/src/Content/Nav.php +++ b/src/Content/Nav.php @@ -154,7 +154,7 @@ class Nav * Display the current site location as a navigation aid. */ - $myident = !empty($a->getNickname() ? $a->getNickname() . '@' : ''); + $myident = !empty($a->getUserNickname()) ? $a->getUserNickname() . '@' : ''; $sitelocation = $myident . substr(DI::baseUrl()->get($ssl_state), strpos(DI::baseUrl()->get($ssl_state), '//') + 2); @@ -187,10 +187,10 @@ class Nav if ($a->isLoggedIn()) { // user menu - $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'][] = ['profile/' . $a->getUserNickname(), DI::l10n()->t('Status'), '', DI::l10n()->t('Your posts and conversations')]; + $nav['usermenu'][] = ['profile/' . $a->getUserNickname() . '/profile', DI::l10n()->t('Profile'), '', DI::l10n()->t('Your profile page')]; + $nav['usermenu'][] = ['photos/' . $a->getUserNickname(), DI::l10n()->t('Photos'), '', DI::l10n()->t('Your photos')]; + $nav['usermenu'][] = ['videos/' . $a->getUserNickname(), 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')]; @@ -267,10 +267,10 @@ class Nav } // The following nav links are only show to logged in users - if (local_user() && !empty($a->getNickname())) { + if (local_user() && !empty($a->getUserNickname())) { $nav['network'] = ['network', DI::l10n()->t('Network'), '', DI::l10n()->t('Conversations from your friends')]; - $nav['home'] = ['profile/' . $a->getNickname(), DI::l10n()->t('Home'), '', DI::l10n()->t('Your posts and conversations')]; + $nav['home'] = ['profile/' . $a->getUserNickname(), 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) { diff --git a/src/Factory/Notification/Introduction.php b/src/Factory/Notification/Introduction.php index 5bbdbd2eb8..a153e5a566 100644 --- a/src/Factory/Notification/Introduction.php +++ b/src/Factory/Notification/Introduction.php @@ -68,7 +68,7 @@ class Introduction extends BaseFactory $this->l10n = $l10n; $this->pConfig = $pConfig; $this->session = $session; - $this->nick = $app->getNickname() ?? ''; + $this->nick = $app->getUserNickname() ?? ''; } /** diff --git a/src/Model/Contact.php b/src/Model/Contact.php index 9e870d5054..c5b10dd8e8 100644 --- a/src/Model/Contact.php +++ b/src/Model/Contact.php @@ -2319,7 +2319,7 @@ class Contact * @throws HTTPException\NotFoundException * @throws \ImagickException */ - public static function createFromProbe(int $uid, $url, $network = '') + public static function createFromProbeForUser(int $uid, $url, $network = '') { $result = ['cid' => -1, 'success' => false, 'message' => '']; @@ -2580,7 +2580,7 @@ class Contact { $contact = self::getById($cid, ['url']); - $result = self::createFromProbe($uid, $contact['url']); + $result = self::createFromProbeForUser($uid, $contact['url']); return $result['cid']; } @@ -2738,7 +2738,7 @@ class Contact } } elseif (DBA::isResult($user) && in_array($user['page-flags'], [User::PAGE_FLAGS_SOAPBOX, User::PAGE_FLAGS_FREELOVE, User::PAGE_FLAGS_COMMUNITY])) { if (($user['page-flags'] == User::PAGE_FLAGS_FREELOVE) && ($network != Protocol::DIASPORA)) { - self::createFromProbe($importer['uid'], $url, $network); + self::createFromProbeForUser($importer['uid'], $url, $network); } $condition = ['uid' => $importer['uid'], 'url' => $url, 'pending' => true]; diff --git a/src/Model/Mail.php b/src/Model/Mail.php index 7afd955474..7b18ac3c31 100644 --- a/src/Model/Mail.php +++ b/src/Model/Mail.php @@ -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->getNickname() . '@' . substr(DI::baseUrl(), strpos(DI::baseUrl(), '://') + 3); + $sender_handle = $a->getUserNickname() . '@' . substr(DI::baseUrl(), strpos(DI::baseUrl(), '://') + 3); $conv_guid = System::createUUID(); $convuri = $recip_handle . ':' . $conv_guid; diff --git a/src/Module/Contact.php b/src/Module/Contact.php index 9685d090e7..4863e71018 100644 --- a/src/Module/Contact.php +++ b/src/Module/Contact.php @@ -168,7 +168,7 @@ class Contact extends BaseModule } if ($contact['network'] == Protocol::OSTATUS) { - $result = Model\Contact::createFromProbe($contact['uid'], $contact['url'], $contact['network']); + $result = Model\Contact::createFromProbeForUser($contact['uid'], $contact['url'], $contact['network']); if ($result['success']) { DBA::update('contact', ['subhub' => 1], ['id' => $contact_id]); diff --git a/src/Module/Delegation.php b/src/Module/Delegation.php index 7ee9b49728..ac662ecbd0 100644 --- a/src/Module/Delegation.php +++ b/src/Module/Delegation.php @@ -109,7 +109,7 @@ class Delegation extends BaseModule $ret = []; Hook::callAll('home_init', $ret); - DI::baseUrl()->redirect('profile/' . DI::app()->getNickname()); + DI::baseUrl()->redirect('profile/' . DI::app()->getUserNickname()); // 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()->getNickname()); + $identities[$key]['selected'] = ($identity['nickname'] === DI::app()->getUserNickname()); $condition = ["`uid` = ? AND `msg` != '' AND NOT (`type` IN (?, ?)) AND NOT `seen`", $identity['uid'], Notification\Type::INTRO, Notification\Type::MAIL]; $params = ['distinct' => true, 'expression' => 'parent']; diff --git a/src/Module/HCard.php b/src/Module/HCard.php index e5547188bb..c43e3975c3 100644 --- a/src/Module/HCard.php +++ b/src/Module/HCard.php @@ -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->getNickname(); + $nickname = $a->getUserNickname(); } elseif (empty($parameters['action'])) { // Show the profile hCard $nickname = $parameters['profile']; diff --git a/src/Module/Home.php b/src/Module/Home.php index 38a881f296..76c4736cf1 100644 --- a/src/Module/Home.php +++ b/src/Module/Home.php @@ -42,7 +42,7 @@ class Home extends BaseModule Hook::callAll('home_init', $ret); - if (local_user() && ($app->getNickname())) { + if (local_user() && ($app->getUserNickname())) { DI::baseUrl()->redirect('network'); } diff --git a/src/Module/Invite.php b/src/Module/Invite.php index 3b3e56eb45..48926a1fbf 100644 --- a/src/Module/Invite.php +++ b/src/Module/Invite.php @@ -171,7 +171,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->getNickname() + . "\r\n" . "\r\n" . DI::baseUrl()->get() . '/profile/' . $app->getUserNickname() . "\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') diff --git a/src/Module/NoScrape.php b/src/Module/NoScrape.php index b308ae14c1..9c7b9ec8bd 100644 --- a/src/Module/NoScrape.php +++ b/src/Module/NoScrape.php @@ -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->getNickname(); + $which = $a->getUserNickname(); } else { System::jsonError(403, 'Authentication required'); } diff --git a/src/Module/Profile/Schedule.php b/src/Module/Profile/Schedule.php index 5c5581d570..ee468f8157 100644 --- a/src/Module/Profile/Schedule.php +++ b/src/Module/Profile/Schedule.php @@ -58,7 +58,7 @@ class Schedule extends BaseProfile $a = DI::app(); - $o = self::getTabsHTML($a, 'schedule', true, $a->getNickname(), false); + $o = self::getTabsHTML($a, 'schedule', true, $a->getUserNickname(), false); $schedule = []; $delayed = DBA::select('delayed-post', [], ['uid' => local_user()]); diff --git a/src/Module/Settings/Profile/Photo/Crop.php b/src/Module/Settings/Profile/Photo/Crop.php index f90b16f0e9..d6c89e237b 100644 --- a/src/Module/Settings/Profile/Photo/Crop.php +++ b/src/Module/Settings/Profile/Photo/Crop.php @@ -56,7 +56,7 @@ class Crop extends BaseSettings $selectionW = intval($_POST['width'] ?? 0); $selectionH = intval($_POST['height'] ?? 0); - $path = 'profile/' . DI::app()->getNickname(); + $path = 'profile/' . DI::app()->getUserNickname(); $base_image = Photo::selectFirst([], ['resource-id' => $resource_id, 'uid' => local_user(), 'scale' => $scale]); if (DBA::isResult($base_image)) { @@ -184,7 +184,7 @@ class Crop extends BaseSettings info(DI::l10n()->t('Profile picture successfully updated.')); - DI::baseUrl()->redirect('profile/' . DI::app()->getNickname()); + DI::baseUrl()->redirect('profile/' . DI::app()->getUserNickname()); } $Image = Photo::getImageForPhoto($photos[0]); diff --git a/src/Module/Settings/Profile/Photo/Index.php b/src/Module/Settings/Profile/Photo/Index.php index 5a7bae168e..3b4d33a01b 100644 --- a/src/Module/Settings/Profile/Photo/Index.php +++ b/src/Module/Settings/Profile/Photo/Index.php @@ -133,7 +133,7 @@ class Index extends BaseSettings DI::l10n()->t('or'), ($newuser) ? '' . DI::l10n()->t('skip this step') . '' - : '' + : '' . DI::l10n()->t('select a photo from your photo albums') . '' ), ]); diff --git a/src/Module/Settings/UserExport.php b/src/Module/Settings/UserExport.php index a2a6dc2d2a..fe3dd26905 100644 --- a/src/Module/Settings/UserExport.php +++ b/src/Module/Settings/UserExport.php @@ -100,17 +100,17 @@ class UserExport extends BaseSettings switch ($action) { case "backup": header("Content-type: application/json"); - header('Content-Disposition: attachment; filename="' . DI::app()->getNickname() . '.' . $action . '"'); + header('Content-Disposition: attachment; filename="' . DI::app()->getUserNickname() . '.' . $action . '"'); self::exportAll(local_user()); break; case "account": header("Content-type: application/json"); - header('Content-Disposition: attachment; filename="' . DI::app()->getNickname() . '.' . $action . '"'); + header('Content-Disposition: attachment; filename="' . DI::app()->getUserNickname() . '.' . $action . '"'); self::exportAccount(local_user()); break; case "contact": header("Content-type: application/csv"); - header('Content-Disposition: attachment; filename="' . DI::app()->getNickname() . '-contacts.csv' . '"'); + header('Content-Disposition: attachment; filename="' . DI::app()->getUserNickname() . '-contacts.csv' . '"'); self::exportContactsAsCSV(local_user()); break; } diff --git a/src/Object/EMail/ItemCCEMail.php b/src/Object/EMail/ItemCCEMail.php index e70625bb96..ddaf766080 100644 --- a/src/Object/EMail/ItemCCEMail.php +++ b/src/Object/EMail/ItemCCEMail.php @@ -41,14 +41,14 @@ class ItemCCEMail extends Email $disclaimer = '
' . $l10n->t('This message was sent to you by %s, a member of the Friendica social network.', $user['username']) . '
'; - $disclaimer .= $l10n->t('You may visit them online at %s', $baseUrl . '/profile/' . $a->getNickname()) . EOL; + $disclaimer .= $l10n->t('You may visit them online at %s', $baseUrl . '/profile/' . $a->getUserNickname()) . 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.', $user['username']), 'UTF-8'); } - $link = '' . $user['username'] . '

'; + $link = '' . $user['username'] . '

'; $html = Item::prepareBody($item); $message = '' . $link . $html . $disclaimer . '';; diff --git a/src/Worker/AddContact.php b/src/Worker/AddContact.php index 755373fcd0..be9ee34663 100644 --- a/src/Worker/AddContact.php +++ b/src/Worker/AddContact.php @@ -40,7 +40,7 @@ class AddContact return; } - $result = Contact::createFromProbe($uid, $url); + $result = Contact::createFromProbeForUser($uid, $url); Logger::info('Added contact', ['uid' => $uid, 'url' => $url, 'result' => $result]); } } diff --git a/view/theme/vier/theme.php b/view/theme/vier/theme.php index 14a744d5a9..c810aff1cb 100644 --- a/view/theme/vier/theme.php +++ b/view/theme/vier/theme.php @@ -27,7 +27,7 @@ function vier_init(App $a) $args = DI::args(); - if ($args->get(0) === 'profile' && $args->get(1) === ($a->getNickname() ?? '') || $args->get(0) === 'network' && local_user() + if ($args->get(0) === 'profile' && $args->get(1) === ($a->getUserNickname() ?? '') || $args->get(0) === 'network' && local_user() ) { vier_community_info(); From f5e84c1ff00ee5de096ffa019fac60c64241e726 Mon Sep 17 00:00:00 2001 From: Michael Date: Mon, 9 Aug 2021 15:38:22 +0000 Subject: [PATCH 06/10] Use owner not profile --- src/Module/Settings/Profile/Index.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Module/Settings/Profile/Index.php b/src/Module/Settings/Profile/Index.php index 042ff66c2b..adf6fff974 100644 --- a/src/Module/Settings/Profile/Index.php +++ b/src/Module/Settings/Profile/Index.php @@ -146,7 +146,7 @@ class Index extends BaseSettings $o = ''; - $profile = Profile::getByUID(local_user()); + $profile = User::getOwnerDataById(local_user()); if (!DBA::isResult($profile)) { throw new HTTPException\NotFoundException(); } From 27177f19c92b4ff112a0131b701cf6c43d001bd2 Mon Sep 17 00:00:00 2001 From: Michael Date: Mon, 9 Aug 2021 15:40:37 +0000 Subject: [PATCH 07/10] Updated messages.po --- view/lang/C/messages.po | 1538 ++++++++++++++++++++------------------- 1 file changed, 770 insertions(+), 768 deletions(-) diff --git a/view/lang/C/messages.po b/view/lang/C/messages.po index 1e02c34ff1..44210ae3d6 100644 --- a/view/lang/C/messages.po +++ b/view/lang/C/messages.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: 2021.09-dev\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-08-09 01:36+0000\n" +"POT-Creation-Date: 2021-08-09 15:40+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,486 +18,486 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" -#: include/api.php:1114 src/Module/BaseApi.php:302 +#: include/api.php:1114 src/Module/BaseApi.php:294 #, php-format msgid "Daily posting limit of %d post reached. The post was rejected." msgid_plural "Daily posting limit of %d posts reached. The post was rejected." msgstr[0] "" msgstr[1] "" -#: include/api.php:1128 src/Module/BaseApi.php:318 +#: include/api.php:1128 src/Module/BaseApi.php:310 #, php-format msgid "Weekly posting limit of %d post reached. The post was rejected." msgid_plural "Weekly posting limit of %d posts reached. The post was rejected." msgstr[0] "" msgstr[1] "" -#: include/api.php:1142 src/Module/BaseApi.php:334 +#: include/api.php:1142 src/Module/BaseApi.php:326 #, php-format msgid "Monthly posting limit of %d post reached. The post was rejected." msgstr "" -#: include/api.php:4437 mod/photos.php:85 mod/photos.php:194 mod/photos.php:622 -#: mod/photos.php:1033 mod/photos.php:1050 mod/photos.php:1596 -#: src/Model/User.php:1110 src/Model/User.php:1118 src/Model/User.php:1126 -#: src/Module/Settings/Profile/Photo/Crop.php:98 -#: src/Module/Settings/Profile/Photo/Crop.php:114 -#: src/Module/Settings/Profile/Photo/Crop.php:130 -#: src/Module/Settings/Profile/Photo/Crop.php:176 -#: src/Module/Settings/Profile/Photo/Index.php:96 -#: src/Module/Settings/Profile/Photo/Index.php:102 +#: include/api.php:4437 mod/photos.php:86 mod/photos.php:195 mod/photos.php:623 +#: mod/photos.php:1031 mod/photos.php:1048 mod/photos.php:1594 +#: src/Model/User.php:1112 src/Model/User.php:1120 src/Model/User.php:1128 +#: src/Module/Settings/Profile/Photo/Crop.php:97 +#: src/Module/Settings/Profile/Photo/Crop.php:113 +#: src/Module/Settings/Profile/Photo/Crop.php:129 +#: src/Module/Settings/Profile/Photo/Crop.php:175 +#: src/Module/Settings/Profile/Photo/Index.php:95 +#: src/Module/Settings/Profile/Photo/Index.php:101 msgid "Profile Photos" msgstr "" -#: include/conversation.php:107 +#: include/conversation.php:109 #, php-format msgid "%1$s poked %2$s" msgstr "" -#: include/conversation.php:140 src/Model/Item.php:2611 +#: include/conversation.php:142 src/Model/Item.php:2611 msgid "event" msgstr "" -#: include/conversation.php:143 include/conversation.php:152 mod/tagger.php:90 +#: include/conversation.php:145 include/conversation.php:154 mod/tagger.php:90 msgid "status" msgstr "" -#: include/conversation.php:148 mod/tagger.php:90 src/Model/Item.php:2613 +#: include/conversation.php:150 mod/tagger.php:90 src/Model/Item.php:2613 msgid "photo" msgstr "" -#: include/conversation.php:162 mod/tagger.php:123 +#: include/conversation.php:164 mod/tagger.php:123 #, php-format msgid "%1$s tagged %2$s's %3$s with %4$s" msgstr "" -#: include/conversation.php:465 mod/photos.php:1458 src/Object/Post.php:226 +#: include/conversation.php:467 mod/photos.php:1456 src/Object/Post.php:226 msgid "Select" msgstr "" -#: include/conversation.php:466 mod/photos.php:1459 mod/settings.php:576 +#: include/conversation.php:468 mod/photos.php:1457 mod/settings.php:574 #: src/Module/Admin/Users/Active.php:139 src/Module/Admin/Users/Blocked.php:140 -#: src/Module/Admin/Users/Index.php:153 src/Module/Contact.php:851 -#: src/Module/Contact.php:1153 +#: src/Module/Admin/Users/Index.php:153 src/Module/Contact.php:849 +#: src/Module/Contact.php:1140 msgid "Delete" msgstr "" -#: include/conversation.php:501 src/Object/Post.php:453 src/Object/Post.php:454 +#: include/conversation.php:503 src/Object/Post.php:453 src/Object/Post.php:454 #, php-format msgid "View %s's profile @ %s" msgstr "" -#: include/conversation.php:514 src/Object/Post.php:441 +#: include/conversation.php:516 src/Object/Post.php:441 msgid "Categories:" msgstr "" -#: include/conversation.php:515 src/Object/Post.php:442 +#: include/conversation.php:517 src/Object/Post.php:442 msgid "Filed under:" msgstr "" -#: include/conversation.php:522 src/Object/Post.php:467 +#: include/conversation.php:524 src/Object/Post.php:467 #, php-format msgid "%s from %s" msgstr "" -#: include/conversation.php:537 +#: include/conversation.php:539 msgid "View in context" msgstr "" -#: include/conversation.php:539 include/conversation.php:1128 -#: mod/editpost.php:104 mod/message.php:203 mod/message.php:368 -#: mod/photos.php:1523 mod/wallmessage.php:155 src/Module/Item/Compose.php:165 +#: include/conversation.php:541 include/conversation.php:1143 +#: mod/editpost.php:107 mod/message.php:203 mod/message.php:368 +#: mod/photos.php:1521 mod/wallmessage.php:155 src/Module/Item/Compose.php:165 #: src/Object/Post.php:501 msgid "Please wait" msgstr "" -#: include/conversation.php:603 +#: include/conversation.php:605 msgid "remove" msgstr "" -#: include/conversation.php:607 +#: include/conversation.php:609 msgid "Delete Selected Items" msgstr "" -#: include/conversation.php:645 include/conversation.php:648 -#: include/conversation.php:651 include/conversation.php:654 +#: include/conversation.php:647 include/conversation.php:650 +#: include/conversation.php:653 include/conversation.php:656 #, php-format msgid "You had been addressed (%s)." msgstr "" -#: include/conversation.php:657 +#: include/conversation.php:659 #, php-format msgid "You are following %s." msgstr "" -#: include/conversation.php:660 +#: include/conversation.php:662 msgid "Tagged" msgstr "" -#: include/conversation.php:673 include/conversation.php:1011 -#: include/conversation.php:1049 +#: include/conversation.php:675 include/conversation.php:1013 +#: include/conversation.php:1051 #, php-format msgid "%s reshared this." msgstr "" -#: include/conversation.php:675 +#: include/conversation.php:677 msgid "Reshared" msgstr "" -#: include/conversation.php:675 +#: include/conversation.php:677 #, php-format msgid "Reshared by %s <%s>" msgstr "" -#: include/conversation.php:678 +#: include/conversation.php:680 #, php-format msgid "%s is participating in this thread." msgstr "" -#: include/conversation.php:681 +#: include/conversation.php:683 msgid "Stored" msgstr "" -#: include/conversation.php:684 +#: include/conversation.php:686 msgid "Global" msgstr "" -#: include/conversation.php:687 +#: include/conversation.php:689 msgid "Relayed" msgstr "" -#: include/conversation.php:687 +#: include/conversation.php:689 #, php-format msgid "Relayed by %s <%s>" msgstr "" -#: include/conversation.php:690 +#: include/conversation.php:692 msgid "Fetched" msgstr "" -#: include/conversation.php:690 +#: include/conversation.php:692 #, php-format msgid "Fetched because of %s <%s>" msgstr "" -#: include/conversation.php:842 view/theme/frio/theme.php:323 +#: include/conversation.php:844 view/theme/frio/theme.php:323 msgid "Follow Thread" msgstr "" -#: include/conversation.php:843 src/Model/Contact.php:1047 +#: include/conversation.php:845 src/Model/Contact.php:1047 msgid "View Status" msgstr "" -#: include/conversation.php:844 include/conversation.php:866 +#: include/conversation.php:846 include/conversation.php:868 #: src/Model/Contact.php:973 src/Model/Contact.php:1039 #: src/Model/Contact.php:1048 src/Module/Directory.php:160 -#: src/Module/Settings/Profile/Index.php:226 +#: src/Module/Settings/Profile/Index.php:223 msgid "View Profile" msgstr "" -#: include/conversation.php:845 src/Model/Contact.php:1049 +#: include/conversation.php:847 src/Model/Contact.php:1049 msgid "View Photos" msgstr "" -#: include/conversation.php:846 src/Model/Contact.php:1040 +#: include/conversation.php:848 src/Model/Contact.php:1040 #: src/Model/Contact.php:1050 msgid "Network Posts" msgstr "" -#: include/conversation.php:847 src/Model/Contact.php:1041 +#: include/conversation.php:849 src/Model/Contact.php:1041 #: src/Model/Contact.php:1051 msgid "View Contact" msgstr "" -#: include/conversation.php:848 src/Model/Contact.php:1053 +#: include/conversation.php:850 src/Model/Contact.php:1053 msgid "Send PM" msgstr "" -#: include/conversation.php:849 src/Module/Admin/Blocklist/Contact.php:84 +#: include/conversation.php:851 src/Module/Admin/Blocklist/Contact.php:84 #: src/Module/Admin/Users/Active.php:140 src/Module/Admin/Users/Index.php:154 -#: src/Module/Contact.php:588 src/Module/Contact.php:848 -#: src/Module/Contact.php:1128 +#: src/Module/Contact.php:586 src/Module/Contact.php:846 +#: src/Module/Contact.php:1115 msgid "Block" msgstr "" -#: include/conversation.php:850 src/Module/Contact.php:589 -#: src/Module/Contact.php:849 src/Module/Contact.php:1136 +#: include/conversation.php:852 src/Module/Contact.php:587 +#: src/Module/Contact.php:847 src/Module/Contact.php:1123 #: src/Module/Notifications/Introductions.php:113 #: src/Module/Notifications/Introductions.php:185 #: src/Module/Notifications/Notification.php:59 msgid "Ignore" msgstr "" -#: include/conversation.php:854 src/Object/Post.php:428 +#: include/conversation.php:856 src/Object/Post.php:428 msgid "Languages" msgstr "" -#: include/conversation.php:858 src/Model/Contact.php:1054 +#: include/conversation.php:860 src/Model/Contact.php:1054 msgid "Poke" msgstr "" -#: include/conversation.php:863 mod/follow.php:139 src/Content/Widget.php:76 +#: include/conversation.php:865 mod/follow.php:139 src/Content/Widget.php:76 #: src/Model/Contact.php:1042 src/Model/Contact.php:1055 #: view/theme/vier/theme.php:172 msgid "Connect/Follow" msgstr "" -#: include/conversation.php:996 +#: include/conversation.php:998 #, php-format msgid "%s likes this." msgstr "" -#: include/conversation.php:999 +#: include/conversation.php:1001 #, php-format msgid "%s doesn't like this." msgstr "" -#: include/conversation.php:1002 +#: include/conversation.php:1004 #, php-format msgid "%s attends." msgstr "" -#: include/conversation.php:1005 +#: include/conversation.php:1007 #, php-format msgid "%s doesn't attend." msgstr "" -#: include/conversation.php:1008 +#: include/conversation.php:1010 #, php-format msgid "%s attends maybe." msgstr "" -#: include/conversation.php:1017 +#: include/conversation.php:1019 msgid "and" msgstr "" -#: include/conversation.php:1020 +#: include/conversation.php:1022 #, php-format msgid "and %d other people" msgstr "" -#: include/conversation.php:1028 +#: include/conversation.php:1030 #, php-format msgid "%2$d people like this" msgstr "" -#: include/conversation.php:1029 +#: include/conversation.php:1031 #, php-format msgid "%s like this." msgstr "" -#: include/conversation.php:1032 +#: include/conversation.php:1034 #, php-format msgid "%2$d people don't like this" msgstr "" -#: include/conversation.php:1033 +#: include/conversation.php:1035 #, php-format msgid "%s don't like this." msgstr "" -#: include/conversation.php:1036 +#: include/conversation.php:1038 #, php-format msgid "%2$d people attend" msgstr "" -#: include/conversation.php:1037 +#: include/conversation.php:1039 #, php-format msgid "%s attend." msgstr "" -#: include/conversation.php:1040 +#: include/conversation.php:1042 #, php-format msgid "%2$d people don't attend" msgstr "" -#: include/conversation.php:1041 +#: include/conversation.php:1043 #, php-format msgid "%s don't attend." msgstr "" -#: include/conversation.php:1044 +#: include/conversation.php:1046 #, php-format msgid "%2$d people attend maybe" msgstr "" -#: include/conversation.php:1045 +#: include/conversation.php:1047 #, php-format msgid "%s attend maybe." msgstr "" -#: include/conversation.php:1048 +#: include/conversation.php:1050 #, php-format msgid "%2$d people reshared this" msgstr "" -#: include/conversation.php:1080 +#: include/conversation.php:1095 msgid "Visible to everybody" msgstr "" -#: include/conversation.php:1081 src/Module/Item/Compose.php:159 +#: include/conversation.php:1096 src/Module/Item/Compose.php:159 #: src/Object/Post.php:972 msgid "Please enter a image/video/audio/webpage URL:" msgstr "" -#: include/conversation.php:1082 +#: include/conversation.php:1097 msgid "Tag term:" msgstr "" -#: include/conversation.php:1083 src/Module/Filer/SaveTag.php:68 +#: include/conversation.php:1098 src/Module/Filer/SaveTag.php:68 msgid "Save to Folder:" msgstr "" -#: include/conversation.php:1084 +#: include/conversation.php:1099 msgid "Where are you right now?" msgstr "" -#: include/conversation.php:1085 +#: include/conversation.php:1100 msgid "Delete item(s)?" msgstr "" -#: include/conversation.php:1095 +#: include/conversation.php:1110 msgid "New Post" msgstr "" -#: include/conversation.php:1098 +#: include/conversation.php:1113 msgid "Share" msgstr "" -#: include/conversation.php:1099 mod/editpost.php:89 mod/photos.php:1372 -#: src/Module/Contact/Poke.php:156 src/Object/Post.php:963 +#: include/conversation.php:1114 mod/editpost.php:92 mod/photos.php:1370 +#: src/Module/Contact/Poke.php:157 src/Object/Post.php:963 msgid "Loading..." msgstr "" -#: include/conversation.php:1100 mod/editpost.php:90 mod/message.php:201 +#: include/conversation.php:1115 mod/editpost.php:93 mod/message.php:201 #: mod/message.php:365 mod/wallmessage.php:153 msgid "Upload photo" msgstr "" -#: include/conversation.php:1101 mod/editpost.php:91 +#: include/conversation.php:1116 mod/editpost.php:94 msgid "upload photo" msgstr "" -#: include/conversation.php:1102 mod/editpost.php:92 +#: include/conversation.php:1117 mod/editpost.php:95 msgid "Attach file" msgstr "" -#: include/conversation.php:1103 mod/editpost.php:93 +#: include/conversation.php:1118 mod/editpost.php:96 msgid "attach file" msgstr "" -#: include/conversation.php:1104 src/Module/Item/Compose.php:151 +#: include/conversation.php:1119 src/Module/Item/Compose.php:151 #: src/Object/Post.php:964 msgid "Bold" msgstr "" -#: include/conversation.php:1105 src/Module/Item/Compose.php:152 +#: include/conversation.php:1120 src/Module/Item/Compose.php:152 #: src/Object/Post.php:965 msgid "Italic" msgstr "" -#: include/conversation.php:1106 src/Module/Item/Compose.php:153 +#: include/conversation.php:1121 src/Module/Item/Compose.php:153 #: src/Object/Post.php:966 msgid "Underline" msgstr "" -#: include/conversation.php:1107 src/Module/Item/Compose.php:154 +#: include/conversation.php:1122 src/Module/Item/Compose.php:154 #: src/Object/Post.php:967 msgid "Quote" msgstr "" -#: include/conversation.php:1108 src/Module/Item/Compose.php:155 +#: include/conversation.php:1123 src/Module/Item/Compose.php:155 #: src/Object/Post.php:968 msgid "Code" msgstr "" -#: include/conversation.php:1109 src/Module/Item/Compose.php:156 +#: include/conversation.php:1124 src/Module/Item/Compose.php:156 #: src/Object/Post.php:969 msgid "Image" msgstr "" -#: include/conversation.php:1110 src/Module/Item/Compose.php:157 +#: include/conversation.php:1125 src/Module/Item/Compose.php:157 #: src/Object/Post.php:970 msgid "Link" msgstr "" -#: include/conversation.php:1111 src/Module/Item/Compose.php:158 +#: include/conversation.php:1126 src/Module/Item/Compose.php:158 #: src/Object/Post.php:971 msgid "Link or Media" msgstr "" -#: include/conversation.php:1112 +#: include/conversation.php:1127 msgid "Video" msgstr "" -#: include/conversation.php:1113 mod/editpost.php:100 +#: include/conversation.php:1128 mod/editpost.php:103 #: src/Module/Item/Compose.php:161 msgid "Set your location" msgstr "" -#: include/conversation.php:1114 mod/editpost.php:101 +#: include/conversation.php:1129 mod/editpost.php:104 msgid "set location" msgstr "" -#: include/conversation.php:1115 mod/editpost.php:102 +#: include/conversation.php:1130 mod/editpost.php:105 msgid "Clear browser location" msgstr "" -#: include/conversation.php:1116 mod/editpost.php:103 +#: include/conversation.php:1131 mod/editpost.php:106 msgid "clear location" msgstr "" -#: include/conversation.php:1118 mod/editpost.php:117 +#: include/conversation.php:1133 mod/editpost.php:120 #: src/Module/Item/Compose.php:166 msgid "Set title" msgstr "" -#: include/conversation.php:1120 mod/editpost.php:119 +#: include/conversation.php:1135 mod/editpost.php:122 #: src/Module/Item/Compose.php:167 msgid "Categories (comma-separated list)" msgstr "" -#: include/conversation.php:1125 src/Module/Item/Compose.php:172 +#: include/conversation.php:1140 src/Module/Item/Compose.php:172 msgid "Scheduled at" msgstr "" -#: include/conversation.php:1129 mod/editpost.php:105 +#: include/conversation.php:1144 mod/editpost.php:108 msgid "Permission settings" msgstr "" -#: include/conversation.php:1130 mod/editpost.php:133 mod/events.php:583 -#: mod/photos.php:959 mod/photos.php:1325 +#: include/conversation.php:1145 mod/editpost.php:136 mod/events.php:583 +#: mod/photos.php:962 mod/photos.php:1323 msgid "Permissions" msgstr "" -#: include/conversation.php:1139 mod/editpost.php:114 +#: include/conversation.php:1154 mod/editpost.php:117 msgid "Public post" msgstr "" -#: include/conversation.php:1143 mod/editpost.php:125 mod/events.php:578 -#: mod/photos.php:1371 mod/photos.php:1427 mod/photos.php:1501 +#: include/conversation.php:1158 mod/editpost.php:128 mod/events.php:578 +#: mod/photos.php:1369 mod/photos.php:1425 mod/photos.php:1499 #: src/Module/Item/Compose.php:160 src/Object/Post.php:973 msgid "Preview" msgstr "" -#: include/conversation.php:1146 mod/editpost.php:127 mod/fbrowser.php:105 -#: mod/fbrowser.php:134 mod/follow.php:145 mod/photos.php:1027 -#: mod/photos.php:1133 mod/tagrm.php:37 mod/tagrm.php:129 mod/unfollow.php:97 -#: src/Module/Contact.php:424 src/Module/RemoteFollow.php:112 +#: include/conversation.php:1161 mod/editpost.php:130 mod/fbrowser.php:105 +#: mod/fbrowser.php:134 mod/follow.php:145 mod/photos.php:1025 +#: mod/photos.php:1131 mod/tagrm.php:37 mod/tagrm.php:129 mod/unfollow.php:97 +#: src/Module/Contact.php:422 src/Module/RemoteFollow.php:112 msgid "Cancel" msgstr "" -#: include/conversation.php:1153 mod/editpost.php:131 +#: include/conversation.php:1168 mod/editpost.php:134 #: src/Content/Widget/VCard.php:107 src/Model/Profile.php:450 msgid "Message" msgstr "" -#: include/conversation.php:1154 mod/editpost.php:132 +#: include/conversation.php:1169 mod/editpost.php:135 #: src/Module/Settings/TwoFactor/Trusted.php:101 msgid "Browser" msgstr "" -#: include/conversation.php:1156 mod/editpost.php:135 +#: include/conversation.php:1171 mod/editpost.php:138 msgid "Open Compose page" msgstr "" @@ -826,42 +826,42 @@ msgstr "" msgid "Please visit %s to approve or reject the request." msgstr "" -#: mod/api.php:30 mod/api.php:35 mod/editpost.php:37 mod/events.php:236 -#: mod/follow.php:56 mod/follow.php:131 mod/item.php:185 mod/item.php:190 -#: mod/item.php:935 mod/message.php:69 mod/message.php:111 mod/notes.php:44 -#: mod/ostatus_subscribe.php:32 mod/photos.php:159 mod/photos.php:911 -#: mod/repair_ostatus.php:31 mod/settings.php:47 mod/settings.php:65 -#: mod/settings.php:417 mod/suggest.php:34 mod/uimport.php:32 +#: mod/api.php:30 mod/editpost.php:38 mod/events.php:236 mod/follow.php:56 +#: mod/follow.php:131 mod/item.php:184 mod/item.php:189 mod/item.php:934 +#: mod/message.php:69 mod/message.php:111 mod/notes.php:44 +#: mod/ostatus_subscribe.php:32 mod/photos.php:160 mod/photos.php:914 +#: mod/repair_ostatus.php:31 mod/settings.php:47 mod/settings.php:57 +#: mod/settings.php:415 mod/suggest.php:34 mod/uimport.php:32 #: mod/unfollow.php:35 mod/unfollow.php:50 mod/unfollow.php:82 #: mod/wall_attach.php:78 mod/wall_attach.php:81 mod/wall_upload.php:99 #: mod/wall_upload.php:102 mod/wallmessage.php:35 mod/wallmessage.php:59 #: mod/wallmessage.php:96 mod/wallmessage.php:120 src/Module/Attach.php:55 -#: src/Module/BaseApi.php:81 src/Module/BaseApi.php:92 -#: src/Module/BaseApi.php:103 src/Module/BaseApi.php:114 -#: src/Module/BaseNotifications.php:88 src/Module/Contact.php:342 +#: src/Module/BaseApi.php:79 src/Module/BaseApi.php:88 +#: src/Module/BaseApi.php:97 src/Module/BaseApi.php:106 +#: src/Module/BaseNotifications.php:88 src/Module/Contact.php:340 #: src/Module/Contact/Advanced.php:44 src/Module/Delegation.php:119 #: src/Module/FollowConfirm.php:16 src/Module/FriendSuggest.php:44 -#: src/Module/Group.php:45 src/Module/Group.php:90 src/Module/Invite.php:40 -#: src/Module/Invite.php:127 src/Module/Notifications/Notification.php:47 +#: src/Module/Group.php:45 src/Module/Group.php:90 src/Module/Invite.php:41 +#: src/Module/Invite.php:130 src/Module/Notifications/Notification.php:47 #: src/Module/Notifications/Notification.php:76 -#: src/Module/Profile/Common.php:56 src/Module/Profile/Contacts.php:57 +#: src/Module/Profile/Common.php:56 src/Module/Profile/Contacts.php:56 #: src/Module/Profile/Schedule.php:39 src/Module/Profile/Schedule.php:56 #: src/Module/Register.php:62 src/Module/Register.php:75 #: src/Module/Register.php:193 src/Module/Register.php:232 #: src/Module/Search/Directory.php:38 src/Module/Settings/Delegation.php:42 -#: src/Module/Settings/Delegation.php:70 src/Module/Settings/Display.php:42 -#: src/Module/Settings/Display.php:118 -#: src/Module/Settings/Profile/Photo/Crop.php:155 -#: src/Module/Settings/Profile/Photo/Index.php:113 -#: src/Module/Settings/UserExport.php:59 src/Module/Settings/UserExport.php:94 -#: src/Module/Settings/UserExport.php:201 -#: src/Module/Settings/UserExport.php:221 -#: src/Module/Settings/UserExport.php:286 +#: src/Module/Settings/Delegation.php:70 src/Module/Settings/Display.php:43 +#: src/Module/Settings/Display.php:121 +#: src/Module/Settings/Profile/Photo/Crop.php:154 +#: src/Module/Settings/Profile/Photo/Index.php:112 +#: src/Module/Settings/UserExport.php:58 src/Module/Settings/UserExport.php:93 +#: src/Module/Settings/UserExport.php:199 +#: src/Module/Settings/UserExport.php:219 +#: src/Module/Settings/UserExport.php:284 msgid "Permission denied." msgstr "" #: mod/cal.php:44 mod/cal.php:48 mod/follow.php:39 mod/redir.php:34 -#: mod/redir.php:175 src/Module/Conversation/Community.php:194 +#: mod/redir.php:175 src/Module/Conversation/Community.php:182 #: src/Module/Debug/ItemBody.php:37 src/Module/Diaspora/Receive.php:51 #: src/Module/Item/Follow.php:42 src/Module/Item/Ignore.php:41 #: src/Module/Item/Pin.php:42 src/Module/Item/Pin.php:57 @@ -869,24 +869,24 @@ msgstr "" msgid "Access denied." msgstr "" -#: mod/cal.php:61 mod/cal.php:78 mod/photos.php:139 mod/photos.php:820 -#: mod/videos.php:48 mod/videos.php:69 mod/videos.php:110 +#: mod/cal.php:61 mod/cal.php:78 mod/photos.php:140 mod/photos.php:821 +#: mod/videos.php:49 mod/videos.php:70 mod/videos.php:111 #: src/Module/HCard.php:54 src/Module/Profile/Common.php:41 -#: src/Module/Profile/Common.php:52 src/Module/Profile/Contacts.php:41 -#: src/Module/Profile/Contacts.php:51 src/Module/Profile/Status.php:58 +#: src/Module/Profile/Common.php:52 src/Module/Profile/Contacts.php:40 +#: src/Module/Profile/Contacts.php:50 src/Module/Profile/Status.php:58 #: src/Module/Register.php:254 msgid "User not found." msgstr "" -#: mod/cal.php:120 mod/display.php:271 src/Module/Profile/Profile.php:95 -#: src/Module/Profile/Profile.php:110 src/Module/Profile/Status.php:109 +#: mod/cal.php:120 mod/display.php:270 src/Module/Profile/Profile.php:94 +#: src/Module/Profile/Profile.php:109 src/Module/Profile/Status.php:109 #: src/Module/Update/Profile.php:56 msgid "Access to this profile has been restricted." msgstr "" -#: mod/cal.php:251 mod/events.php:422 src/Content/Nav.php:195 -#: src/Content/Nav.php:262 src/Module/BaseProfile.php:87 -#: src/Module/BaseProfile.php:98 view/theme/frio/theme.php:230 +#: mod/cal.php:251 mod/events.php:422 src/Content/Nav.php:194 +#: src/Content/Nav.php:258 src/Module/BaseProfile.php:85 +#: src/Module/BaseProfile.php:96 view/theme/frio/theme.php:230 #: view/theme/frio/theme.php:234 msgid "Events" msgstr "" @@ -926,7 +926,7 @@ msgstr "" msgid "list" msgstr "" -#: mod/cal.php:274 src/Console/User.php:182 src/Model/User.php:672 +#: mod/cal.php:274 src/Console/User.php:182 src/Model/User.php:674 #: src/Module/Admin/Users/Active.php:73 src/Module/Admin/Users/Blocked.php:74 #: src/Module/Admin/Users/Index.php:80 src/Module/Admin/Users/Pending.php:71 #: src/Module/Api/Twitter/ContactEndpoint.php:71 @@ -945,64 +945,64 @@ msgstr "" msgid "calendar" msgstr "" -#: mod/display.php:166 mod/photos.php:824 mod/videos.php:114 -#: src/Module/Conversation/Community.php:188 src/Module/Debug/Probe.php:39 +#: mod/display.php:165 mod/photos.php:825 mod/videos.php:115 +#: src/Module/Conversation/Community.php:176 src/Module/Debug/Probe.php:39 #: src/Module/Debug/WebFinger.php:38 src/Module/Directory.php:49 #: src/Module/Search/Index.php:50 src/Module/Search/Index.php:55 msgid "Public access denied." msgstr "" -#: mod/display.php:222 mod/display.php:307 +#: mod/display.php:221 mod/display.php:295 msgid "The requested item doesn't exist or has been deleted." msgstr "" -#: mod/display.php:387 +#: mod/display.php:375 msgid "The feed for this item is unavailable." msgstr "" -#: mod/editpost.php:44 mod/editpost.php:54 +#: mod/editpost.php:45 mod/editpost.php:55 msgid "Item not found" msgstr "" -#: mod/editpost.php:61 +#: mod/editpost.php:64 msgid "Edit post" msgstr "" -#: mod/editpost.php:88 mod/notes.php:63 src/Content/Text/HTML.php:885 +#: mod/editpost.php:91 mod/notes.php:56 src/Content/Text/HTML.php:885 #: src/Module/Admin/Storage.php:120 src/Module/Filer/SaveTag.php:69 msgid "Save" msgstr "" -#: mod/editpost.php:94 mod/message.php:202 mod/message.php:366 +#: mod/editpost.php:97 mod/message.php:202 mod/message.php:366 #: mod/wallmessage.php:154 msgid "Insert web link" msgstr "" -#: mod/editpost.php:95 +#: mod/editpost.php:98 msgid "web link" msgstr "" -#: mod/editpost.php:96 +#: mod/editpost.php:99 msgid "Insert video link" msgstr "" -#: mod/editpost.php:97 +#: mod/editpost.php:100 msgid "video link" msgstr "" -#: mod/editpost.php:98 +#: mod/editpost.php:101 msgid "Insert audio link" msgstr "" -#: mod/editpost.php:99 +#: mod/editpost.php:102 msgid "audio link" msgstr "" -#: mod/editpost.php:113 src/Core/ACL.php:313 +#: mod/editpost.php:116 src/Core/ACL.php:327 msgid "CC: email addresses" msgstr "" -#: mod/editpost.php:120 src/Core/ACL.php:314 +#: mod/editpost.php:123 src/Core/ACL.php:328 msgid "Example: bob@example.com, mary@example.com" msgstr "" @@ -1042,7 +1042,7 @@ msgstr "" #: src/Module/Install.php:279 src/Module/Install.php:284 #: src/Module/Install.php:298 src/Module/Install.php:313 #: src/Module/Install.php:340 src/Module/Register.php:135 -#: src/Module/Security/TwoFactor/Verify.php:99 +#: src/Module/Security/TwoFactor/Verify.php:100 #: src/Module/Settings/TwoFactor/Index.php:133 #: src/Module/Settings/TwoFactor/Verify.php:141 msgid "Required" @@ -1060,16 +1060,16 @@ msgstr "" msgid "Adjust for viewer timezone" msgstr "" -#: mod/events.php:566 src/Module/Profile/Profile.php:173 -#: src/Module/Settings/Profile/Index.php:239 +#: mod/events.php:566 src/Module/Profile/Profile.php:172 +#: src/Module/Settings/Profile/Index.php:236 msgid "Description:" msgstr "" #: mod/events.php:568 src/Content/Widget/VCard.php:98 src/Model/Event.php:86 #: src/Model/Event.php:113 src/Model/Event.php:459 src/Model/Event.php:945 -#: src/Model/Profile.php:358 src/Module/Contact.php:609 +#: src/Model/Profile.php:358 src/Module/Contact.php:607 #: src/Module/Directory.php:150 src/Module/Notifications/Introductions.php:166 -#: src/Module/Profile/Profile.php:195 +#: src/Module/Profile/Profile.php:194 msgid "Location:" msgstr "" @@ -1082,29 +1082,29 @@ msgid "Share this event" msgstr "" #: mod/events.php:580 mod/message.php:204 mod/message.php:367 -#: mod/photos.php:941 mod/photos.php:1044 mod/photos.php:1329 -#: mod/photos.php:1370 mod/photos.php:1426 mod/photos.php:1500 -#: src/Module/Admin/Item/Source.php:65 src/Module/Contact.php:567 -#: src/Module/Contact/Advanced.php:133 src/Module/Contact/Poke.php:157 +#: mod/photos.php:944 mod/photos.php:1042 mod/photos.php:1327 +#: mod/photos.php:1368 mod/photos.php:1424 mod/photos.php:1498 +#: src/Module/Admin/Item/Source.php:65 src/Module/Contact.php:565 +#: src/Module/Contact/Advanced.php:133 src/Module/Contact/Poke.php:158 #: src/Module/Debug/ActivityPubConversion.php:141 #: src/Module/Debug/Babel.php:313 src/Module/Debug/Localtime.php:64 #: src/Module/Debug/Probe.php:55 src/Module/Debug/WebFinger.php:53 #: src/Module/Delegation.php:153 src/Module/FriendSuggest.php:129 #: src/Module/Install.php:245 src/Module/Install.php:287 -#: src/Module/Install.php:324 src/Module/Invite.php:174 -#: src/Module/Item/Compose.php:150 src/Module/Profile/Profile.php:248 -#: src/Module/Settings/Profile/Index.php:223 src/Object/Post.php:962 +#: src/Module/Install.php:324 src/Module/Invite.php:177 +#: src/Module/Item/Compose.php:150 src/Module/Profile/Profile.php:247 +#: src/Module/Settings/Profile/Index.php:220 src/Object/Post.php:962 #: view/theme/duepuntozero/config.php:69 view/theme/frio/config.php:160 #: view/theme/quattro/config.php:71 view/theme/vier/config.php:119 msgid "Submit" msgstr "" -#: mod/events.php:581 src/Module/Profile/Profile.php:249 +#: mod/events.php:581 src/Module/Profile/Profile.php:248 msgid "Basic" msgstr "" -#: mod/events.php:582 src/Module/Admin/Site.php:506 src/Module/Contact.php:918 -#: src/Module/Profile/Profile.php:250 +#: mod/events.php:582 src/Module/Admin/Site.php:506 src/Module/Contact.php:916 +#: src/Module/Profile/Profile.php:249 msgid "Advanced" msgstr "" @@ -1112,13 +1112,13 @@ msgstr "" msgid "Failed to remove event" msgstr "" -#: mod/fbrowser.php:43 src/Content/Nav.php:193 src/Module/BaseProfile.php:66 +#: mod/fbrowser.php:43 src/Content/Nav.php:192 src/Module/BaseProfile.php:64 #: view/theme/frio/theme.php:228 msgid "Photos" msgstr "" #: mod/fbrowser.php:107 mod/fbrowser.php:136 -#: src/Module/Settings/Profile/Photo/Index.php:130 +#: src/Module/Settings/Profile/Photo/Index.php:129 msgid "Upload" msgstr "" @@ -1155,15 +1155,15 @@ msgid "Your Identity Address:" msgstr "" #: mod/follow.php:142 mod/unfollow.php:100 -#: src/Module/Admin/Blocklist/Contact.php:100 src/Module/Contact.php:605 +#: src/Module/Admin/Blocklist/Contact.php:100 src/Module/Contact.php:603 #: src/Module/Notifications/Introductions.php:108 #: src/Module/Notifications/Introductions.php:177 msgid "Profile URL" msgstr "" -#: mod/follow.php:143 src/Module/Contact.php:617 +#: mod/follow.php:143 src/Module/Contact.php:615 #: src/Module/Notifications/Introductions.php:170 -#: src/Module/Profile/Profile.php:208 +#: src/Module/Profile/Profile.php:207 msgid "Tags:" msgstr "" @@ -1176,8 +1176,8 @@ msgstr "" msgid "Add a personal note:" msgstr "" -#: mod/follow.php:164 mod/unfollow.php:109 src/Module/BaseProfile.php:61 -#: src/Module/Contact.php:896 +#: mod/follow.php:164 mod/unfollow.php:109 src/Module/BaseProfile.php:59 +#: src/Module/Contact.php:894 msgid "Status Messages and Posts" msgstr "" @@ -1185,27 +1185,27 @@ msgstr "" msgid "The contact could not be added." msgstr "" -#: mod/item.php:136 mod/item.php:140 +#: mod/item.php:135 mod/item.php:139 msgid "Unable to locate original post." msgstr "" -#: mod/item.php:341 mod/item.php:346 +#: mod/item.php:340 mod/item.php:345 msgid "Empty post discarded." msgstr "" -#: mod/item.php:742 +#: mod/item.php:741 msgid "Post updated." msgstr "" -#: mod/item.php:752 mod/item.php:757 +#: mod/item.php:751 mod/item.php:756 msgid "Item wasn't stored." msgstr "" -#: mod/item.php:768 +#: mod/item.php:767 msgid "Item couldn't be fetched." msgstr "" -#: mod/item.php:914 src/Module/Admin/Themes/Details.php:39 +#: mod/item.php:913 src/Module/Admin/Themes/Details.php:39 #: src/Module/Admin/Themes/Index.php:59 src/Module/Debug/ItemBody.php:41 #: src/Module/Debug/ItemBody.php:56 msgid "Item not found." @@ -1361,7 +1361,7 @@ msgstr "" msgid "Profile Match" msgstr "" -#: mod/message.php:46 mod/message.php:126 src/Content/Nav.php:290 +#: mod/message.php:46 mod/message.php:126 src/Content/Nav.php:286 msgid "New Message" msgstr "" @@ -1387,7 +1387,7 @@ msgstr "" msgid "Discard" msgstr "" -#: mod/message.php:133 src/Content/Nav.php:287 view/theme/frio/theme.php:235 +#: mod/message.php:133 src/Content/Nav.php:283 view/theme/frio/theme.php:235 msgid "Messages" msgstr "" @@ -1420,7 +1420,7 @@ msgid "Subject:" msgstr "" #: mod/message.php:198 mod/message.php:361 mod/wallmessage.php:151 -#: src/Module/Invite.php:167 +#: src/Module/Invite.php:170 msgid "Your message:" msgstr "" @@ -1476,11 +1476,11 @@ msgid_plural "%d messages" msgstr[0] "" msgstr[1] "" -#: mod/notes.php:51 src/Module/BaseProfile.php:109 +#: mod/notes.php:51 src/Module/BaseProfile.php:107 msgid "Personal Notes" msgstr "" -#: mod/notes.php:59 +#: mod/notes.php:55 msgid "Personal notes are visible only by yourself." msgstr "" @@ -1532,245 +1532,245 @@ msgstr "" msgid "Keep this window open until done." msgstr "" -#: mod/photos.php:107 src/Module/BaseProfile.php:69 +#: mod/photos.php:108 src/Module/BaseProfile.php:67 msgid "Photo Albums" msgstr "" -#: mod/photos.php:108 mod/photos.php:1625 +#: mod/photos.php:109 mod/photos.php:1623 msgid "Recent Photos" msgstr "" -#: mod/photos.php:110 mod/photos.php:1095 mod/photos.php:1627 +#: mod/photos.php:111 mod/photos.php:1093 mod/photos.php:1625 msgid "Upload New Photos" msgstr "" -#: mod/photos.php:128 src/Module/BaseSettings.php:37 +#: mod/photos.php:129 src/Module/BaseSettings.php:37 msgid "everybody" msgstr "" -#: mod/photos.php:166 +#: mod/photos.php:167 msgid "Contact information unavailable" msgstr "" -#: mod/photos.php:205 +#: mod/photos.php:206 msgid "Album not found." msgstr "" -#: mod/photos.php:263 +#: mod/photos.php:264 msgid "Album successfully deleted" msgstr "" -#: mod/photos.php:265 +#: mod/photos.php:266 msgid "Album was empty." msgstr "" -#: mod/photos.php:297 +#: mod/photos.php:298 msgid "Failed to delete the photo." msgstr "" -#: mod/photos.php:572 +#: mod/photos.php:573 msgid "a photo" msgstr "" -#: mod/photos.php:572 +#: mod/photos.php:573 #, php-format msgid "%1$s was tagged in %2$s by %3$s" msgstr "" -#: mod/photos.php:655 mod/photos.php:658 mod/photos.php:685 -#: mod/wall_upload.php:216 src/Module/Settings/Profile/Photo/Index.php:61 +#: mod/photos.php:656 mod/photos.php:659 mod/photos.php:686 +#: mod/wall_upload.php:216 src/Module/Settings/Profile/Photo/Index.php:60 #, php-format msgid "Image exceeds size limit of %s" msgstr "" -#: mod/photos.php:661 +#: mod/photos.php:662 msgid "Image upload didn't complete, please try again" msgstr "" -#: mod/photos.php:664 +#: mod/photos.php:665 msgid "Image file is missing" msgstr "" -#: mod/photos.php:669 +#: mod/photos.php:670 msgid "" "Server can't accept new file upload at this time, please contact your " "administrator" msgstr "" -#: mod/photos.php:693 +#: mod/photos.php:694 msgid "Image file is empty." msgstr "" -#: mod/photos.php:708 mod/wall_upload.php:175 -#: src/Module/Settings/Profile/Photo/Index.php:70 +#: mod/photos.php:709 mod/wall_upload.php:175 +#: src/Module/Settings/Profile/Photo/Index.php:69 msgid "Unable to process image." msgstr "" -#: mod/photos.php:737 mod/wall_upload.php:241 -#: src/Module/Settings/Profile/Photo/Index.php:97 +#: mod/photos.php:738 mod/wall_upload.php:241 +#: src/Module/Settings/Profile/Photo/Index.php:96 msgid "Image upload failed." msgstr "" -#: mod/photos.php:829 +#: mod/photos.php:830 msgid "No photos selected" msgstr "" -#: mod/photos.php:896 mod/videos.php:164 +#: mod/photos.php:899 mod/videos.php:166 msgid "Access to this item is restricted." msgstr "" -#: mod/photos.php:951 +#: mod/photos.php:954 msgid "Upload Photos" msgstr "" -#: mod/photos.php:955 mod/photos.php:1040 +#: mod/photos.php:958 mod/photos.php:1038 msgid "New album name: " msgstr "" -#: mod/photos.php:956 +#: mod/photos.php:959 msgid "or select existing album:" msgstr "" -#: mod/photos.php:957 +#: mod/photos.php:960 msgid "Do not show a status post for this upload" msgstr "" -#: mod/photos.php:1023 +#: mod/photos.php:1021 msgid "Do you really want to delete this photo album and all its photos?" msgstr "" -#: mod/photos.php:1024 mod/photos.php:1045 +#: mod/photos.php:1022 mod/photos.php:1043 msgid "Delete Album" msgstr "" -#: mod/photos.php:1051 +#: mod/photos.php:1049 msgid "Edit Album" msgstr "" -#: mod/photos.php:1052 +#: mod/photos.php:1050 msgid "Drop Album" msgstr "" -#: mod/photos.php:1057 +#: mod/photos.php:1055 msgid "Show Newest First" msgstr "" -#: mod/photos.php:1059 +#: mod/photos.php:1057 msgid "Show Oldest First" msgstr "" -#: mod/photos.php:1080 mod/photos.php:1610 +#: mod/photos.php:1078 mod/photos.php:1608 msgid "View Photo" msgstr "" -#: mod/photos.php:1117 +#: mod/photos.php:1115 msgid "Permission denied. Access to this item may be restricted." msgstr "" -#: mod/photos.php:1119 +#: mod/photos.php:1117 msgid "Photo not available" msgstr "" -#: mod/photos.php:1129 +#: mod/photos.php:1127 msgid "Do you really want to delete this photo?" msgstr "" -#: mod/photos.php:1130 mod/photos.php:1330 +#: mod/photos.php:1128 mod/photos.php:1328 msgid "Delete Photo" msgstr "" -#: mod/photos.php:1221 +#: mod/photos.php:1219 msgid "View photo" msgstr "" -#: mod/photos.php:1223 +#: mod/photos.php:1221 msgid "Edit photo" msgstr "" -#: mod/photos.php:1224 +#: mod/photos.php:1222 msgid "Delete photo" msgstr "" -#: mod/photos.php:1225 +#: mod/photos.php:1223 msgid "Use as profile photo" msgstr "" -#: mod/photos.php:1232 +#: mod/photos.php:1230 msgid "Private Photo" msgstr "" -#: mod/photos.php:1238 +#: mod/photos.php:1236 msgid "View Full Size" msgstr "" -#: mod/photos.php:1298 +#: mod/photos.php:1296 msgid "Tags: " msgstr "" -#: mod/photos.php:1301 +#: mod/photos.php:1299 msgid "[Select tags to remove]" msgstr "" -#: mod/photos.php:1316 +#: mod/photos.php:1314 msgid "New album name" msgstr "" -#: mod/photos.php:1317 +#: mod/photos.php:1315 msgid "Caption" msgstr "" -#: mod/photos.php:1318 +#: mod/photos.php:1316 msgid "Add a Tag" msgstr "" -#: mod/photos.php:1318 +#: mod/photos.php:1316 msgid "Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping" msgstr "" -#: mod/photos.php:1319 +#: mod/photos.php:1317 msgid "Do not rotate" msgstr "" -#: mod/photos.php:1320 +#: mod/photos.php:1318 msgid "Rotate CW (right)" msgstr "" -#: mod/photos.php:1321 +#: mod/photos.php:1319 msgid "Rotate CCW (left)" msgstr "" -#: mod/photos.php:1367 mod/photos.php:1423 mod/photos.php:1497 -#: src/Module/Contact.php:1059 src/Module/Item/Compose.php:148 +#: mod/photos.php:1365 mod/photos.php:1421 mod/photos.php:1495 +#: src/Module/Contact.php:1046 src/Module/Item/Compose.php:148 #: src/Object/Post.php:959 msgid "This is you" msgstr "" -#: mod/photos.php:1369 mod/photos.php:1425 mod/photos.php:1499 +#: mod/photos.php:1367 mod/photos.php:1423 mod/photos.php:1497 #: src/Object/Post.php:495 src/Object/Post.php:961 msgid "Comment" msgstr "" -#: mod/photos.php:1520 src/Object/Post.php:348 +#: mod/photos.php:1518 src/Object/Post.php:348 msgid "Like" msgstr "" -#: mod/photos.php:1521 src/Object/Post.php:348 +#: mod/photos.php:1519 src/Object/Post.php:348 msgid "I like this (toggle)" msgstr "" -#: mod/photos.php:1522 src/Object/Post.php:349 +#: mod/photos.php:1520 src/Object/Post.php:349 msgid "Dislike" msgstr "" -#: mod/photos.php:1524 src/Object/Post.php:349 +#: mod/photos.php:1522 src/Object/Post.php:349 msgid "I don't like this (toggle)" msgstr "" -#: mod/photos.php:1546 +#: mod/photos.php:1544 msgid "Map" msgstr "" -#: mod/photos.php:1616 mod/videos.php:241 +#: mod/photos.php:1614 mod/videos.php:243 msgid "View Album" msgstr "" @@ -1832,81 +1832,81 @@ msgid "Resubscribing to OStatus contacts" msgstr "" #: mod/repair_ostatus.php:50 src/Module/Debug/ActivityPubConversion.php:130 -#: src/Module/Debug/Babel.php:293 src/Module/Security/TwoFactor/Verify.php:96 +#: src/Module/Debug/Babel.php:293 src/Module/Security/TwoFactor/Verify.php:97 msgid "Error" msgid_plural "Errors" msgstr[0] "" msgstr[1] "" -#: mod/settings.php:142 +#: mod/settings.php:140 msgid "Failed to connect with email account using the settings provided." msgstr "" -#: mod/settings.php:171 +#: mod/settings.php:169 msgid "Contact CSV file upload error" msgstr "" -#: mod/settings.php:190 +#: mod/settings.php:188 msgid "Importing Contacts done" msgstr "" -#: mod/settings.php:203 +#: mod/settings.php:201 msgid "Relocate message has been send to your contacts" msgstr "" -#: mod/settings.php:215 +#: mod/settings.php:213 msgid "Passwords do not match." msgstr "" -#: mod/settings.php:223 src/Console/User.php:210 +#: mod/settings.php:221 src/Console/User.php:210 msgid "Password update failed. Please try again." msgstr "" -#: mod/settings.php:226 src/Console/User.php:213 +#: mod/settings.php:224 src/Console/User.php:213 msgid "Password changed." msgstr "" -#: mod/settings.php:229 +#: mod/settings.php:227 msgid "Password unchanged." msgstr "" -#: mod/settings.php:314 +#: mod/settings.php:312 msgid "Please use a shorter name." msgstr "" -#: mod/settings.php:317 +#: mod/settings.php:315 msgid "Name too short." msgstr "" -#: mod/settings.php:324 +#: mod/settings.php:322 msgid "Wrong Password." msgstr "" -#: mod/settings.php:329 +#: mod/settings.php:327 msgid "Invalid email." msgstr "" -#: mod/settings.php:335 +#: mod/settings.php:333 msgid "Cannot change to that email." msgstr "" -#: mod/settings.php:373 +#: mod/settings.php:371 msgid "Private forum has no privacy permissions. Using default privacy group." msgstr "" -#: mod/settings.php:376 +#: mod/settings.php:374 msgid "Private forum has no privacy permissions and no default privacy group." msgstr "" -#: mod/settings.php:395 +#: mod/settings.php:393 msgid "Settings were not updated." msgstr "" -#: mod/settings.php:436 +#: mod/settings.php:434 msgid "Connected Apps" msgstr "" -#: mod/settings.php:437 src/Module/Admin/Blocklist/Contact.php:90 +#: mod/settings.php:435 src/Module/Admin/Blocklist/Contact.php:90 #: src/Module/Admin/Users/Active.php:129 src/Module/Admin/Users/Blocked.php:130 #: src/Module/Admin/Users/Create.php:71 src/Module/Admin/Users/Deleted.php:88 #: src/Module/Admin/Users/Index.php:142 src/Module/Admin/Users/Index.php:162 @@ -1914,80 +1914,80 @@ msgstr "" msgid "Name" msgstr "" -#: mod/settings.php:438 src/Content/Nav.php:216 +#: mod/settings.php:436 src/Content/Nav.php:212 msgid "Home Page" msgstr "" -#: mod/settings.php:439 src/Module/Admin/Queue.php:78 +#: mod/settings.php:437 src/Module/Admin/Queue.php:78 msgid "Created" msgstr "" -#: mod/settings.php:440 +#: mod/settings.php:438 msgid "Remove authorization" msgstr "" -#: mod/settings.php:458 +#: mod/settings.php:456 msgid "Addon Settings" msgstr "" -#: mod/settings.php:459 +#: mod/settings.php:457 msgid "No Addon settings configured" msgstr "" -#: mod/settings.php:480 +#: mod/settings.php:478 msgid "Additional Features" msgstr "" -#: mod/settings.php:482 mod/settings.php:578 mod/settings.php:713 +#: mod/settings.php:480 mod/settings.php:576 mod/settings.php:713 #: src/Module/Admin/Addons/Index.php:69 src/Module/Admin/Features.php:87 #: src/Module/Admin/Logs/Settings.php:82 src/Module/Admin/Site.php:501 #: src/Module/Admin/Themes/Index.php:113 src/Module/Admin/Tos.php:66 -#: src/Module/Settings/Delegation.php:170 src/Module/Settings/Display.php:189 +#: src/Module/Settings/Delegation.php:170 src/Module/Settings/Display.php:194 msgid "Save Settings" msgstr "" -#: mod/settings.php:504 +#: mod/settings.php:502 msgid "Diaspora (Socialhome, Hubzilla)" msgstr "" -#: mod/settings.php:504 mod/settings.php:505 +#: mod/settings.php:502 mod/settings.php:503 msgid "enabled" msgstr "" -#: mod/settings.php:504 mod/settings.php:505 +#: mod/settings.php:502 mod/settings.php:503 msgid "disabled" msgstr "" -#: mod/settings.php:504 mod/settings.php:505 +#: mod/settings.php:502 mod/settings.php:503 #, php-format msgid "Built-in support for %s connectivity is %s" msgstr "" -#: mod/settings.php:505 +#: mod/settings.php:503 msgid "OStatus (GNU Social)" msgstr "" -#: mod/settings.php:536 +#: mod/settings.php:534 msgid "Email access is disabled on this site." msgstr "" -#: mod/settings.php:541 mod/settings.php:576 +#: mod/settings.php:539 mod/settings.php:574 msgid "None" msgstr "" -#: mod/settings.php:547 src/Module/BaseSettings.php:80 +#: mod/settings.php:545 src/Module/BaseSettings.php:80 msgid "Social Networks" msgstr "" -#: mod/settings.php:552 +#: mod/settings.php:550 msgid "General Social Media Settings" msgstr "" -#: mod/settings.php:553 +#: mod/settings.php:551 msgid "Accept only top level posts by contacts you follow" msgstr "" -#: mod/settings.php:553 +#: mod/settings.php:551 msgid "" "The system does an auto completion of threads when a comment arrives. This " "has got the side effect that you can receive posts that had been started by " @@ -1996,11 +1996,11 @@ msgid "" "posts from people you really do follow." msgstr "" -#: mod/settings.php:554 +#: mod/settings.php:552 msgid "Disable Content Warning" msgstr "" -#: mod/settings.php:554 +#: mod/settings.php:552 msgid "" "Users on networks like Mastodon or Pleroma are able to set a content warning " "field which collapse their post by default. This disables the automatic " @@ -2008,112 +2008,112 @@ msgid "" "any other content filtering you eventually set up." msgstr "" -#: mod/settings.php:555 +#: mod/settings.php:553 msgid "Disable intelligent shortening" msgstr "" -#: mod/settings.php:555 +#: mod/settings.php:553 msgid "" "Normally the system tries to find the best link to add to shortened posts. " "If this option is enabled then every shortened post will always point to the " "original friendica post." msgstr "" -#: mod/settings.php:556 +#: mod/settings.php:554 msgid "Enable simple text shortening" msgstr "" -#: mod/settings.php:556 +#: mod/settings.php:554 msgid "" "Normally the system shortens posts at the next line feed. If this option is " "enabled then the system will shorten the text at the maximum character limit." msgstr "" -#: mod/settings.php:557 +#: mod/settings.php:555 msgid "Attach the link title" msgstr "" -#: mod/settings.php:557 +#: mod/settings.php:555 msgid "" "When activated, the title of the attached link will be added as a title on " "posts to Diaspora. This is mostly helpful with \"remote-self\" contacts that " "share feed content." msgstr "" -#: mod/settings.php:558 +#: mod/settings.php:556 msgid "Your legacy ActivityPub/GNU Social account" msgstr "" -#: mod/settings.php:558 +#: mod/settings.php:556 msgid "" "If you enter your old account name from an ActivityPub based system or your " "GNU Social/Statusnet account name here (in the format user@domain.tld), your " "contacts will be added automatically. The field will be emptied when done." msgstr "" -#: mod/settings.php:561 +#: mod/settings.php:559 msgid "Repair OStatus subscriptions" msgstr "" -#: mod/settings.php:565 +#: mod/settings.php:563 msgid "Email/Mailbox Setup" msgstr "" -#: mod/settings.php:566 +#: mod/settings.php:564 msgid "" "If you wish to communicate with email contacts using this service " "(optional), please specify how to connect to your mailbox." msgstr "" -#: mod/settings.php:567 +#: mod/settings.php:565 msgid "Last successful email check:" msgstr "" -#: mod/settings.php:569 +#: mod/settings.php:567 msgid "IMAP server name:" msgstr "" -#: mod/settings.php:570 +#: mod/settings.php:568 msgid "IMAP port:" msgstr "" -#: mod/settings.php:571 +#: mod/settings.php:569 msgid "Security:" msgstr "" -#: mod/settings.php:572 +#: mod/settings.php:570 msgid "Email login name:" msgstr "" -#: mod/settings.php:573 +#: mod/settings.php:571 msgid "Email password:" msgstr "" -#: mod/settings.php:574 +#: mod/settings.php:572 msgid "Reply-to address:" msgstr "" -#: mod/settings.php:575 +#: mod/settings.php:573 msgid "Send public posts to all email contacts:" msgstr "" -#: mod/settings.php:576 +#: mod/settings.php:574 msgid "Action after import:" msgstr "" -#: mod/settings.php:576 src/Content/Nav.php:284 +#: mod/settings.php:574 src/Content/Nav.php:280 msgid "Mark as seen" msgstr "" -#: mod/settings.php:576 +#: mod/settings.php:574 msgid "Move to folder" msgstr "" -#: mod/settings.php:577 +#: mod/settings.php:575 msgid "Move to folder:" msgstr "" -#: mod/settings.php:591 +#: mod/settings.php:589 msgid "Unable to find your profile. Please contact your admin." msgstr "" @@ -2293,7 +2293,7 @@ msgstr "" msgid "Basic Settings" msgstr "" -#: mod/settings.php:729 src/Module/Profile/Profile.php:145 +#: mod/settings.php:729 src/Module/Profile/Profile.php:144 msgid "Full Name:" msgstr "" @@ -2677,19 +2677,19 @@ msgstr "" msgid "Disconnect/Unfollow" msgstr "" -#: mod/videos.php:119 +#: mod/videos.php:120 msgid "No videos selected" msgstr "" -#: mod/videos.php:234 +#: mod/videos.php:236 msgid "View Video" msgstr "" -#: mod/videos.php:249 +#: mod/videos.php:251 msgid "Recent Videos" msgstr "" -#: mod/videos.php:251 +#: mod/videos.php:253 msgid "Upload New Videos" msgstr "" @@ -2740,7 +2740,7 @@ msgid "" "your site allow private mail from unknown senders." msgstr "" -#: src/App.php:407 +#: src/App.php:452 msgid "No system theme config value set." msgstr "" @@ -2777,25 +2777,25 @@ msgid "" "form has been opened for too long (>3 hours) before submitting it." msgstr "" -#: src/BaseModule.php:209 +#: src/BaseModule.php:207 msgid "All contacts" msgstr "" -#: src/BaseModule.php:214 src/Content/Widget.php:238 src/Core/ACL.php:183 -#: src/Module/Contact.php:817 src/Module/PermissionTooltip.php:77 +#: src/BaseModule.php:212 src/Content/Widget.php:238 src/Core/ACL.php:195 +#: src/Module/Contact.php:815 src/Module/PermissionTooltip.php:77 #: src/Module/PermissionTooltip.php:99 msgid "Followers" msgstr "" -#: src/BaseModule.php:219 src/Content/Widget.php:239 src/Module/Contact.php:818 +#: src/BaseModule.php:217 src/Content/Widget.php:239 src/Module/Contact.php:816 msgid "Following" msgstr "" -#: src/BaseModule.php:224 src/Content/Widget.php:240 src/Module/Contact.php:819 +#: src/BaseModule.php:222 src/Content/Widget.php:240 src/Module/Contact.php:817 msgid "Mutual friends" msgstr "" -#: src/BaseModule.php:232 +#: src/BaseModule.php:230 msgid "Common" msgstr "" @@ -3096,7 +3096,7 @@ msgstr "" msgid "Display membership date in profile" msgstr "" -#: src/Content/ForumManager.php:145 src/Content/Nav.php:243 +#: src/Content/ForumManager.php:145 src/Content/Nav.php:239 #: src/Content/Text/HTML.php:906 src/Content/Widget.php:530 msgid "Forums" msgstr "" @@ -3138,7 +3138,7 @@ msgstr "" msgid "End this session" msgstr "" -#: src/Content/Nav.php:185 src/Module/Bookmarklet.php:46 +#: src/Content/Nav.php:185 src/Module/Bookmarklet.php:45 #: src/Module/Security/Login.php:146 msgid "Login" msgstr "" @@ -3147,66 +3147,66 @@ msgstr "" msgid "Sign in" msgstr "" -#: src/Content/Nav.php:191 src/Module/BaseProfile.php:58 -#: src/Module/Contact.php:620 src/Module/Contact.php:885 +#: src/Content/Nav.php:190 src/Module/BaseProfile.php:56 +#: src/Module/Contact.php:618 src/Module/Contact.php:883 #: src/Module/Settings/TwoFactor/Index.php:112 view/theme/frio/theme.php:226 msgid "Status" msgstr "" -#: src/Content/Nav.php:191 src/Content/Nav.php:277 +#: src/Content/Nav.php:190 src/Content/Nav.php:273 #: view/theme/frio/theme.php:226 msgid "Your posts and conversations" msgstr "" -#: src/Content/Nav.php:192 src/Module/BaseProfile.php:50 -#: src/Module/BaseSettings.php:57 src/Module/Contact.php:622 -#: src/Module/Contact.php:901 src/Module/Profile/Profile.php:242 +#: src/Content/Nav.php:191 src/Module/BaseProfile.php:48 +#: src/Module/BaseSettings.php:57 src/Module/Contact.php:620 +#: src/Module/Contact.php:899 src/Module/Profile/Profile.php:241 #: src/Module/Welcome.php:57 view/theme/frio/theme.php:227 msgid "Profile" msgstr "" -#: src/Content/Nav.php:192 view/theme/frio/theme.php:227 +#: src/Content/Nav.php:191 view/theme/frio/theme.php:227 msgid "Your profile page" msgstr "" -#: src/Content/Nav.php:193 view/theme/frio/theme.php:228 +#: src/Content/Nav.php:192 view/theme/frio/theme.php:228 msgid "Your photos" msgstr "" -#: src/Content/Nav.php:194 view/theme/frio/theme.php:229 +#: src/Content/Nav.php:193 view/theme/frio/theme.php:229 msgid "Videos" msgstr "" -#: src/Content/Nav.php:194 view/theme/frio/theme.php:229 +#: src/Content/Nav.php:193 view/theme/frio/theme.php:229 msgid "Your videos" msgstr "" -#: src/Content/Nav.php:195 view/theme/frio/theme.php:230 +#: src/Content/Nav.php:194 view/theme/frio/theme.php:230 msgid "Your events" msgstr "" -#: src/Content/Nav.php:196 +#: src/Content/Nav.php:195 msgid "Personal notes" msgstr "" -#: src/Content/Nav.php:196 +#: src/Content/Nav.php:195 msgid "Your personal notes" msgstr "" -#: src/Content/Nav.php:216 src/Content/Nav.php:277 +#: src/Content/Nav.php:212 src/Content/Nav.php:273 msgid "Home" msgstr "" -#: src/Content/Nav.php:220 src/Module/Register.php:155 +#: src/Content/Nav.php:216 src/Module/Register.php:155 #: src/Module/Security/Login.php:106 msgid "Register" msgstr "" -#: src/Content/Nav.php:220 +#: src/Content/Nav.php:216 msgid "Create an account" msgstr "" -#: src/Content/Nav.php:226 src/Module/Help.php:69 +#: src/Content/Nav.php:222 src/Module/Help.php:69 #: src/Module/Settings/TwoFactor/AppSpecific.php:115 #: src/Module/Settings/TwoFactor/Index.php:111 #: src/Module/Settings/TwoFactor/Recovery.php:93 @@ -3214,158 +3214,158 @@ msgstr "" msgid "Help" msgstr "" -#: src/Content/Nav.php:226 +#: src/Content/Nav.php:222 msgid "Help and documentation" msgstr "" -#: src/Content/Nav.php:230 +#: src/Content/Nav.php:226 msgid "Apps" msgstr "" -#: src/Content/Nav.php:230 +#: src/Content/Nav.php:226 msgid "Addon applications, utilities, games" msgstr "" -#: src/Content/Nav.php:234 src/Content/Text/HTML.php:891 +#: src/Content/Nav.php:230 src/Content/Text/HTML.php:891 #: src/Module/Search/Index.php:99 msgid "Search" msgstr "" -#: src/Content/Nav.php:234 +#: src/Content/Nav.php:230 msgid "Search site content" msgstr "" -#: src/Content/Nav.php:237 src/Content/Text/HTML.php:900 +#: src/Content/Nav.php:233 src/Content/Text/HTML.php:900 msgid "Full Text" msgstr "" -#: src/Content/Nav.php:238 src/Content/Text/HTML.php:901 +#: src/Content/Nav.php:234 src/Content/Text/HTML.php:901 #: src/Content/Widget/TagCloud.php:68 msgid "Tags" msgstr "" -#: src/Content/Nav.php:239 src/Content/Nav.php:298 -#: src/Content/Text/HTML.php:902 src/Module/BaseProfile.php:128 -#: src/Module/BaseProfile.php:131 src/Module/Contact.php:820 -#: src/Module/Contact.php:908 view/theme/frio/theme.php:237 +#: src/Content/Nav.php:235 src/Content/Nav.php:294 +#: src/Content/Text/HTML.php:902 src/Module/BaseProfile.php:126 +#: src/Module/BaseProfile.php:129 src/Module/Contact.php:818 +#: src/Module/Contact.php:906 view/theme/frio/theme.php:237 msgid "Contacts" msgstr "" -#: src/Content/Nav.php:258 +#: src/Content/Nav.php:254 msgid "Community" msgstr "" -#: src/Content/Nav.php:258 +#: src/Content/Nav.php:254 msgid "Conversations on this and other servers" msgstr "" -#: src/Content/Nav.php:262 src/Module/BaseProfile.php:90 -#: src/Module/BaseProfile.php:101 view/theme/frio/theme.php:234 +#: src/Content/Nav.php:258 src/Module/BaseProfile.php:88 +#: src/Module/BaseProfile.php:99 view/theme/frio/theme.php:234 msgid "Events and Calendar" msgstr "" -#: src/Content/Nav.php:265 +#: src/Content/Nav.php:261 msgid "Directory" msgstr "" -#: src/Content/Nav.php:265 +#: src/Content/Nav.php:261 msgid "People directory" msgstr "" -#: src/Content/Nav.php:267 src/Module/BaseAdmin.php:85 +#: src/Content/Nav.php:263 src/Module/BaseAdmin.php:85 msgid "Information" msgstr "" -#: src/Content/Nav.php:267 +#: src/Content/Nav.php:263 msgid "Information about this friendica instance" msgstr "" -#: src/Content/Nav.php:270 src/Module/Admin/Tos.php:59 +#: src/Content/Nav.php:266 src/Module/Admin/Tos.php:59 #: src/Module/BaseAdmin.php:96 src/Module/Register.php:163 #: src/Module/Tos.php:84 msgid "Terms of Service" msgstr "" -#: src/Content/Nav.php:270 +#: src/Content/Nav.php:266 msgid "Terms of Service of this Friendica instance" msgstr "" -#: src/Content/Nav.php:275 view/theme/frio/theme.php:233 +#: src/Content/Nav.php:271 view/theme/frio/theme.php:233 msgid "Network" msgstr "" -#: src/Content/Nav.php:275 view/theme/frio/theme.php:233 +#: src/Content/Nav.php:271 view/theme/frio/theme.php:233 msgid "Conversations from your friends" msgstr "" -#: src/Content/Nav.php:281 +#: src/Content/Nav.php:277 msgid "Introductions" msgstr "" -#: src/Content/Nav.php:281 +#: src/Content/Nav.php:277 msgid "Friend Requests" msgstr "" -#: src/Content/Nav.php:282 src/Module/BaseNotifications.php:139 +#: src/Content/Nav.php:278 src/Module/BaseNotifications.php:139 #: src/Module/Notifications/Introductions.php:54 msgid "Notifications" msgstr "" -#: src/Content/Nav.php:283 +#: src/Content/Nav.php:279 msgid "See all notifications" msgstr "" -#: src/Content/Nav.php:284 +#: src/Content/Nav.php:280 msgid "Mark all system notifications seen" msgstr "" -#: src/Content/Nav.php:287 view/theme/frio/theme.php:235 +#: src/Content/Nav.php:283 view/theme/frio/theme.php:235 msgid "Private mail" msgstr "" -#: src/Content/Nav.php:288 +#: src/Content/Nav.php:284 msgid "Inbox" msgstr "" -#: src/Content/Nav.php:289 +#: src/Content/Nav.php:285 msgid "Outbox" msgstr "" -#: src/Content/Nav.php:293 +#: src/Content/Nav.php:289 msgid "Accounts" msgstr "" -#: src/Content/Nav.php:293 +#: src/Content/Nav.php:289 msgid "Manage other pages" msgstr "" -#: src/Content/Nav.php:296 src/Module/Admin/Addons/Details.php:114 +#: src/Content/Nav.php:292 src/Module/Admin/Addons/Details.php:114 #: src/Module/Admin/Themes/Details.php:93 src/Module/BaseSettings.php:124 #: src/Module/Welcome.php:52 view/theme/frio/theme.php:236 msgid "Settings" msgstr "" -#: src/Content/Nav.php:296 view/theme/frio/theme.php:236 +#: src/Content/Nav.php:292 view/theme/frio/theme.php:236 msgid "Account settings" msgstr "" -#: src/Content/Nav.php:298 view/theme/frio/theme.php:237 +#: src/Content/Nav.php:294 view/theme/frio/theme.php:237 msgid "Manage/edit friends and contacts" msgstr "" -#: src/Content/Nav.php:303 src/Module/BaseAdmin.php:126 +#: src/Content/Nav.php:299 src/Module/BaseAdmin.php:126 msgid "Admin" msgstr "" -#: src/Content/Nav.php:303 +#: src/Content/Nav.php:299 msgid "Site setup and configuration" msgstr "" -#: src/Content/Nav.php:306 +#: src/Content/Nav.php:302 msgid "Navigation" msgstr "" -#: src/Content/Nav.php:306 +#: src/Content/Nav.php:302 msgid "Site map" msgstr "" @@ -3477,7 +3477,7 @@ msgstr "" msgid "Examples: Robert Morgenstein, Fishing" msgstr "" -#: src/Content/Widget.php:78 src/Module/Contact.php:841 +#: src/Content/Widget.php:78 src/Module/Contact.php:839 #: src/Module/Directory.php:99 view/theme/vier/theme.php:174 msgid "Find" msgstr "" @@ -3504,7 +3504,7 @@ msgid "Local Directory" msgstr "" #: src/Content/Widget.php:214 src/Model/Group.php:535 -#: src/Module/Contact.php:804 src/Module/Welcome.php:76 +#: src/Module/Contact.php:802 src/Module/Welcome.php:76 msgid "Groups" msgstr "" @@ -3516,7 +3516,7 @@ msgstr "" msgid "Relationships" msgstr "" -#: src/Content/Widget.php:247 src/Module/Contact.php:756 +#: src/Content/Widget.php:247 src/Module/Contact.php:754 #: src/Module/Group.php:292 msgid "All Contacts" msgstr "" @@ -3615,12 +3615,12 @@ msgid "More Trending Tags" msgstr "" #: src/Content/Widget/VCard.php:96 src/Model/Profile.php:363 -#: src/Module/Contact.php:611 src/Module/Profile/Profile.php:177 +#: src/Module/Contact.php:609 src/Module/Profile/Profile.php:176 msgid "XMPP:" msgstr "" #: src/Content/Widget/VCard.php:97 src/Model/Profile.php:364 -#: src/Module/Contact.php:613 src/Module/Profile/Profile.php:181 +#: src/Module/Contact.php:611 src/Module/Profile/Profile.php:180 msgid "Matrix:" msgstr "" @@ -3633,49 +3633,49 @@ msgstr "" msgid "Unfollow" msgstr "" -#: src/Core/ACL.php:154 src/Module/Profile/Profile.php:243 +#: src/Core/ACL.php:166 src/Module/Profile/Profile.php:242 msgid "Yourself" msgstr "" -#: src/Core/ACL.php:190 src/Module/PermissionTooltip.php:83 +#: src/Core/ACL.php:202 src/Module/PermissionTooltip.php:83 #: src/Module/PermissionTooltip.php:105 msgid "Mutuals" msgstr "" -#: src/Core/ACL.php:280 +#: src/Core/ACL.php:294 msgid "Post to Email" msgstr "" -#: src/Core/ACL.php:307 +#: src/Core/ACL.php:321 msgid "Public" msgstr "" -#: src/Core/ACL.php:308 +#: src/Core/ACL.php:322 msgid "" "This content will be shown to all your followers and can be seen in the " "community pages and by anyone with its link." msgstr "" -#: src/Core/ACL.php:309 +#: src/Core/ACL.php:323 msgid "Limited/Private" msgstr "" -#: src/Core/ACL.php:310 +#: src/Core/ACL.php:324 msgid "" "This content will be shown only to the people in the first box, to the " "exception of the people mentioned in the second box. It won't appear " "anywhere public." msgstr "" -#: src/Core/ACL.php:311 +#: src/Core/ACL.php:325 msgid "Show to:" msgstr "" -#: src/Core/ACL.php:312 +#: src/Core/ACL.php:326 msgid "Except to:" msgstr "" -#: src/Core/ACL.php:315 +#: src/Core/ACL.php:329 msgid "Connectors" msgstr "" @@ -3966,7 +3966,7 @@ msgid "Could not connect to database." msgstr "" #: src/Core/L10n.php:377 src/Model/Event.php:418 -#: src/Module/Settings/Display.php:178 +#: src/Module/Settings/Display.php:183 msgid "Monday" msgstr "" @@ -3991,7 +3991,7 @@ msgid "Saturday" msgstr "" #: src/Core/L10n.php:377 src/Model/Event.php:417 -#: src/Module/Settings/Display.php:178 +#: src/Module/Settings/Display.php:183 msgid "Sunday" msgstr "" @@ -4422,63 +4422,63 @@ msgstr "" msgid "Forum" msgstr "" -#: src/Model/Contact.php:2331 +#: src/Model/Contact.php:2330 msgid "Disallowed profile URL." msgstr "" -#: src/Model/Contact.php:2336 src/Module/Friendica.php:81 +#: src/Model/Contact.php:2335 src/Module/Friendica.php:81 msgid "Blocked domain" msgstr "" -#: src/Model/Contact.php:2341 +#: src/Model/Contact.php:2340 msgid "Connect URL missing." msgstr "" -#: src/Model/Contact.php:2350 +#: src/Model/Contact.php:2349 msgid "" "The contact could not be added. Please check the relevant network " "credentials in your Settings -> Social Networks page." msgstr "" -#: src/Model/Contact.php:2387 +#: src/Model/Contact.php:2386 msgid "The profile address specified does not provide adequate information." msgstr "" -#: src/Model/Contact.php:2389 +#: src/Model/Contact.php:2388 msgid "No compatible communication protocols or feeds were discovered." msgstr "" -#: src/Model/Contact.php:2392 +#: src/Model/Contact.php:2391 msgid "An author or name was not found." msgstr "" -#: src/Model/Contact.php:2395 +#: src/Model/Contact.php:2394 msgid "No browser URL could be matched to this address." msgstr "" -#: src/Model/Contact.php:2398 +#: src/Model/Contact.php:2397 msgid "" "Unable to match @-style Identity Address with a known protocol or email " "contact." msgstr "" -#: src/Model/Contact.php:2399 +#: src/Model/Contact.php:2398 msgid "Use mailto: in front of address to force email check." msgstr "" -#: src/Model/Contact.php:2405 +#: src/Model/Contact.php:2404 msgid "" "The profile address specified belongs to a network which has been disabled " "on this site." msgstr "" -#: src/Model/Contact.php:2410 +#: src/Model/Contact.php:2409 msgid "" "Limited profile. This person will be unable to receive direct/personal " "notifications from you." msgstr "" -#: src/Model/Contact.php:2469 +#: src/Model/Contact.php:2468 msgid "Unable to retrieve contact information." msgstr "" @@ -4629,8 +4629,8 @@ msgstr "" msgid "[no subject]" msgstr "" -#: src/Model/Profile.php:346 src/Module/Profile/Profile.php:257 -#: src/Module/Profile/Profile.php:259 +#: src/Model/Profile.php:346 src/Module/Profile/Profile.php:256 +#: src/Module/Profile/Profile.php:258 msgid "Edit profile" msgstr "" @@ -4639,11 +4639,11 @@ msgid "Change profile photo" msgstr "" #: src/Model/Profile.php:361 src/Module/Directory.php:155 -#: src/Module/Profile/Profile.php:185 +#: src/Module/Profile/Profile.php:184 msgid "Homepage:" msgstr "" -#: src/Model/Profile.php:362 src/Module/Contact.php:615 +#: src/Model/Profile.php:362 src/Module/Contact.php:613 #: src/Module/Notifications/Introductions.php:168 msgid "About:" msgstr "" @@ -4725,138 +4725,138 @@ msgstr "" msgid "Enter a valid existing folder" msgstr "" -#: src/Model/User.php:200 src/Model/User.php:996 +#: src/Model/User.php:202 src/Model/User.php:998 msgid "SERIOUS ERROR: Generation of security keys failed." msgstr "" -#: src/Model/User.php:581 src/Model/User.php:614 +#: src/Model/User.php:583 src/Model/User.php:616 msgid "Login failed" msgstr "" -#: src/Model/User.php:646 +#: src/Model/User.php:648 msgid "Not enough information to authenticate" msgstr "" -#: src/Model/User.php:741 +#: src/Model/User.php:743 msgid "Password can't be empty" msgstr "" -#: src/Model/User.php:760 +#: src/Model/User.php:762 msgid "Empty passwords are not allowed." msgstr "" -#: src/Model/User.php:764 +#: src/Model/User.php:766 msgid "" "The new password has been exposed in a public data dump, please choose " "another." msgstr "" -#: src/Model/User.php:770 +#: src/Model/User.php:772 msgid "" "The password can't contain accentuated letters, white spaces or colons (:)" msgstr "" -#: src/Model/User.php:876 +#: src/Model/User.php:878 msgid "Passwords do not match. Password unchanged." msgstr "" -#: src/Model/User.php:883 +#: src/Model/User.php:885 msgid "An invitation is required." msgstr "" -#: src/Model/User.php:887 +#: src/Model/User.php:889 msgid "Invitation could not be verified." msgstr "" -#: src/Model/User.php:895 +#: src/Model/User.php:897 msgid "Invalid OpenID url" msgstr "" -#: src/Model/User.php:908 src/Security/Authentication.php:224 +#: src/Model/User.php:910 src/Security/Authentication.php:223 msgid "" "We encountered a problem while logging in with the OpenID you provided. " "Please check the correct spelling of the ID." msgstr "" -#: src/Model/User.php:908 src/Security/Authentication.php:224 +#: src/Model/User.php:910 src/Security/Authentication.php:223 msgid "The error message was:" msgstr "" -#: src/Model/User.php:914 +#: src/Model/User.php:916 msgid "Please enter the required information." msgstr "" -#: src/Model/User.php:928 +#: src/Model/User.php:930 #, php-format msgid "" "system.username_min_length (%s) and system.username_max_length (%s) are " "excluding each other, swapping values." msgstr "" -#: src/Model/User.php:935 +#: src/Model/User.php:937 #, php-format msgid "Username should be at least %s character." msgid_plural "Username should be at least %s characters." msgstr[0] "" msgstr[1] "" -#: src/Model/User.php:939 +#: src/Model/User.php:941 #, php-format msgid "Username should be at most %s character." msgid_plural "Username should be at most %s characters." msgstr[0] "" msgstr[1] "" -#: src/Model/User.php:947 +#: src/Model/User.php:949 msgid "That doesn't appear to be your full (First Last) name." msgstr "" -#: src/Model/User.php:952 +#: src/Model/User.php:954 msgid "Your email domain is not among those allowed on this site." msgstr "" -#: src/Model/User.php:956 +#: src/Model/User.php:958 msgid "Not a valid email address." msgstr "" -#: src/Model/User.php:959 +#: src/Model/User.php:961 msgid "The nickname was blocked from registration by the nodes admin." msgstr "" -#: src/Model/User.php:963 src/Model/User.php:971 +#: src/Model/User.php:965 src/Model/User.php:973 msgid "Cannot use that email." msgstr "" -#: src/Model/User.php:978 +#: src/Model/User.php:980 msgid "Your nickname can only contain a-z, 0-9 and _." msgstr "" -#: src/Model/User.php:986 src/Model/User.php:1043 +#: src/Model/User.php:988 src/Model/User.php:1045 msgid "Nickname is already registered. Please choose another." msgstr "" -#: src/Model/User.php:1030 src/Model/User.php:1034 +#: src/Model/User.php:1032 src/Model/User.php:1036 msgid "An error occurred during registration. Please try again." msgstr "" -#: src/Model/User.php:1057 +#: src/Model/User.php:1059 msgid "An error occurred creating your default profile. Please try again." msgstr "" -#: src/Model/User.php:1064 +#: src/Model/User.php:1066 msgid "An error occurred creating your self contact. Please try again." msgstr "" -#: src/Model/User.php:1069 +#: src/Model/User.php:1071 msgid "Friends" msgstr "" -#: src/Model/User.php:1073 +#: src/Model/User.php:1075 msgid "" "An error occurred creating your default contact group. Please try again." msgstr "" -#: src/Model/User.php:1302 +#: src/Model/User.php:1304 #, php-format msgid "" "\n" @@ -4864,7 +4864,7 @@ msgid "" "\t\t\tthe administrator of %2$s has set up an account for you." msgstr "" -#: src/Model/User.php:1305 +#: src/Model/User.php:1307 #, php-format msgid "" "\n" @@ -4901,12 +4901,12 @@ msgid "" "\t\tThank you and welcome to %4$s." msgstr "" -#: src/Model/User.php:1338 src/Model/User.php:1445 +#: src/Model/User.php:1340 src/Model/User.php:1447 #, php-format msgid "Registration details for %s" msgstr "" -#: src/Model/User.php:1358 +#: src/Model/User.php:1360 #, php-format msgid "" "\n" @@ -4922,12 +4922,12 @@ msgid "" "\t\t" msgstr "" -#: src/Model/User.php:1377 +#: src/Model/User.php:1379 #, php-format msgid "Registration at %s" msgstr "" -#: src/Model/User.php:1401 +#: src/Model/User.php:1403 #, php-format msgid "" "\n" @@ -4936,7 +4936,7 @@ msgid "" "\t\t\t" msgstr "" -#: src/Model/User.php:1409 +#: src/Model/User.php:1411 #, php-format msgid "" "\n" @@ -5066,8 +5066,8 @@ msgstr "" msgid "List of active accounts" msgstr "" -#: src/Module/Admin/BaseUsers.php:66 src/Module/Contact.php:764 -#: src/Module/Contact.php:824 +#: src/Module/Admin/BaseUsers.php:66 src/Module/Contact.php:762 +#: src/Module/Contact.php:822 msgid "Pending" msgstr "" @@ -5075,8 +5075,8 @@ msgstr "" msgid "List of pending registrations" msgstr "" -#: src/Module/Admin/BaseUsers.php:74 src/Module/Contact.php:772 -#: src/Module/Contact.php:825 +#: src/Module/Admin/BaseUsers.php:74 src/Module/Contact.php:770 +#: src/Module/Contact.php:823 msgid "Blocked" msgstr "" @@ -5133,8 +5133,8 @@ msgstr "" #: src/Module/Admin/Blocklist/Contact.php:85 #: src/Module/Admin/Users/Blocked.php:142 src/Module/Admin/Users/Index.php:156 -#: src/Module/Contact.php:588 src/Module/Contact.php:848 -#: src/Module/Contact.php:1128 +#: src/Module/Contact.php:586 src/Module/Contact.php:846 +#: src/Module/Contact.php:1115 msgid "Unblock" msgstr "" @@ -5558,11 +5558,11 @@ msgstr "" msgid "Relocation started. Could take a while to complete." msgstr "" -#: src/Module/Admin/Site.php:403 src/Module/Settings/Display.php:134 +#: src/Module/Admin/Site.php:403 src/Module/Settings/Display.php:139 msgid "No special theme for mobile devices" msgstr "" -#: src/Module/Admin/Site.php:420 src/Module/Settings/Display.php:144 +#: src/Module/Admin/Site.php:420 src/Module/Settings/Display.php:149 #, php-format msgid "%s - (Experimental)" msgstr "" @@ -6376,7 +6376,7 @@ msgid "Encryption layer between nodes." msgstr "" #: src/Module/Admin/Site.php:604 src/Module/Admin/Site.php:610 -#: src/Module/Contact.php:517 src/Module/Settings/TwoFactor/Index.php:118 +#: src/Module/Contact.php:515 src/Module/Settings/TwoFactor/Index.php:118 msgid "Disabled" msgstr "" @@ -6973,7 +6973,7 @@ msgstr "" msgid "Posts from %s can't be unshared" msgstr "" -#: src/Module/Api/Twitter/ContactEndpoint.php:63 src/Module/Contact.php:357 +#: src/Module/Api/Twitter/ContactEndpoint.php:63 src/Module/Contact.php:355 msgid "Contact not found" msgstr "" @@ -7079,38 +7079,38 @@ msgstr "" msgid "User registrations waiting for confirmation" msgstr "" -#: src/Module/BaseApi.php:128 +#: src/Module/BaseApi.php:120 #, php-format msgid "API endpoint %s %s is not implemented" msgstr "" -#: src/Module/BaseApi.php:129 +#: src/Module/BaseApi.php:121 msgid "" "The API endpoint is currently not implemented but might be in the future." msgstr "" -#: src/Module/BaseApi.php:301 src/Module/BaseApi.php:317 -#: src/Module/BaseApi.php:333 +#: src/Module/BaseApi.php:293 src/Module/BaseApi.php:309 +#: src/Module/BaseApi.php:325 msgid "Too Many Requests" msgstr "" -#: src/Module/BaseProfile.php:53 src/Module/Contact.php:904 +#: src/Module/BaseProfile.php:51 src/Module/Contact.php:902 msgid "Profile Details" msgstr "" -#: src/Module/BaseProfile.php:112 +#: src/Module/BaseProfile.php:110 msgid "Only You Can See This" msgstr "" -#: src/Module/BaseProfile.php:117 src/Module/Profile/Schedule.php:82 +#: src/Module/BaseProfile.php:115 src/Module/Profile/Schedule.php:82 msgid "Scheduled Posts" msgstr "" -#: src/Module/BaseProfile.php:120 +#: src/Module/BaseProfile.php:118 msgid "Posts that are scheduled for publishing" msgstr "" -#: src/Module/BaseProfile.php:139 src/Module/BaseProfile.php:142 +#: src/Module/BaseProfile.php:137 src/Module/BaseProfile.php:140 msgid "Tips for New Members" msgstr "" @@ -7128,7 +7128,7 @@ msgstr "" msgid "Account" msgstr "" -#: src/Module/BaseSettings.php:50 src/Module/Security/TwoFactor/Verify.php:94 +#: src/Module/BaseSettings.php:50 src/Module/Security/TwoFactor/Verify.php:95 #: src/Module/Settings/TwoFactor/Index.php:110 msgid "Two-factor authentication" msgstr "" @@ -7145,7 +7145,7 @@ msgstr "" msgid "Connected apps" msgstr "" -#: src/Module/BaseSettings.php:108 src/Module/Settings/UserExport.php:77 +#: src/Module/BaseSettings.php:108 src/Module/Settings/UserExport.php:76 msgid "Export personal data" msgstr "" @@ -7153,393 +7153,393 @@ msgstr "" msgid "Remove account" msgstr "" -#: src/Module/Bookmarklet.php:56 +#: src/Module/Bookmarklet.php:55 msgid "This page is missing a url parameter." msgstr "" -#: src/Module/Bookmarklet.php:78 +#: src/Module/Bookmarklet.php:67 msgid "The post was created" msgstr "" -#: src/Module/Contact.php:94 +#: src/Module/Contact.php:93 #, php-format msgid "%d contact edited." msgid_plural "%d contacts edited." msgstr[0] "" msgstr[1] "" -#: src/Module/Contact.php:121 +#: src/Module/Contact.php:120 msgid "Could not access contact record." msgstr "" -#: src/Module/Contact.php:157 +#: src/Module/Contact.php:156 msgid "Failed to update contact record." msgstr "" -#: src/Module/Contact.php:374 +#: src/Module/Contact.php:372 msgid "You can't block yourself" msgstr "" -#: src/Module/Contact.php:380 +#: src/Module/Contact.php:378 msgid "Contact has been blocked" msgstr "" -#: src/Module/Contact.php:380 +#: src/Module/Contact.php:378 msgid "Contact has been unblocked" msgstr "" -#: src/Module/Contact.php:388 +#: src/Module/Contact.php:386 msgid "You can't ignore yourself" msgstr "" -#: src/Module/Contact.php:394 +#: src/Module/Contact.php:392 msgid "Contact has been ignored" msgstr "" -#: src/Module/Contact.php:394 +#: src/Module/Contact.php:392 msgid "Contact has been unignored" msgstr "" -#: src/Module/Contact.php:404 +#: src/Module/Contact.php:402 msgid "Contact has been archived" msgstr "" -#: src/Module/Contact.php:404 +#: src/Module/Contact.php:402 msgid "Contact has been unarchived" msgstr "" -#: src/Module/Contact.php:417 +#: src/Module/Contact.php:415 msgid "Drop contact" msgstr "" -#: src/Module/Contact.php:420 src/Module/Contact.php:844 +#: src/Module/Contact.php:418 src/Module/Contact.php:842 msgid "Do you really want to delete this contact?" msgstr "" -#: src/Module/Contact.php:421 src/Module/Notifications/Introductions.php:123 +#: src/Module/Contact.php:419 src/Module/Notifications/Introductions.php:123 #: src/Module/OAuth/Acknowledge.php:47 src/Module/Register.php:115 msgid "Yes" msgstr "" -#: src/Module/Contact.php:433 +#: src/Module/Contact.php:431 msgid "Contact has been removed." msgstr "" -#: src/Module/Contact.php:459 +#: src/Module/Contact.php:457 #, php-format msgid "You are mutual friends with %s" msgstr "" -#: src/Module/Contact.php:463 +#: src/Module/Contact.php:461 #, php-format msgid "You are sharing with %s" msgstr "" -#: src/Module/Contact.php:467 +#: src/Module/Contact.php:465 #, php-format msgid "%s is sharing with you" msgstr "" -#: src/Module/Contact.php:491 +#: src/Module/Contact.php:489 msgid "Private communications are not available for this contact." msgstr "" -#: src/Module/Contact.php:493 +#: src/Module/Contact.php:491 msgid "Never" msgstr "" -#: src/Module/Contact.php:496 +#: src/Module/Contact.php:494 msgid "(Update was not successful)" msgstr "" -#: src/Module/Contact.php:496 +#: src/Module/Contact.php:494 msgid "(Update was successful)" msgstr "" -#: src/Module/Contact.php:498 src/Module/Contact.php:1099 +#: src/Module/Contact.php:496 src/Module/Contact.php:1086 msgid "Suggest friends" msgstr "" -#: src/Module/Contact.php:502 +#: src/Module/Contact.php:500 #, php-format msgid "Network type: %s" msgstr "" -#: src/Module/Contact.php:507 +#: src/Module/Contact.php:505 msgid "Communications lost with this contact!" msgstr "" -#: src/Module/Contact.php:513 +#: src/Module/Contact.php:511 msgid "Fetch further information for feeds" msgstr "" -#: src/Module/Contact.php:515 +#: src/Module/Contact.php:513 msgid "" "Fetch information like preview pictures, title and teaser from the feed " "item. You can activate this if the feed doesn't contain much text. Keywords " "are taken from the meta header in the feed item and are posted as hash tags." msgstr "" -#: src/Module/Contact.php:518 +#: src/Module/Contact.php:516 msgid "Fetch information" msgstr "" -#: src/Module/Contact.php:519 +#: src/Module/Contact.php:517 msgid "Fetch keywords" msgstr "" -#: src/Module/Contact.php:520 +#: src/Module/Contact.php:518 msgid "Fetch information and keywords" msgstr "" -#: src/Module/Contact.php:532 src/Module/Contact.php:536 -#: src/Module/Contact.php:539 src/Module/Contact.php:543 +#: src/Module/Contact.php:530 src/Module/Contact.php:534 +#: src/Module/Contact.php:537 src/Module/Contact.php:541 msgid "No mirroring" msgstr "" -#: src/Module/Contact.php:533 +#: src/Module/Contact.php:531 msgid "Mirror as forwarded posting" msgstr "" -#: src/Module/Contact.php:534 src/Module/Contact.php:540 -#: src/Module/Contact.php:544 +#: src/Module/Contact.php:532 src/Module/Contact.php:538 +#: src/Module/Contact.php:542 msgid "Mirror as my own posting" msgstr "" -#: src/Module/Contact.php:537 src/Module/Contact.php:541 +#: src/Module/Contact.php:535 src/Module/Contact.php:539 msgid "Native reshare" msgstr "" -#: src/Module/Contact.php:556 +#: src/Module/Contact.php:554 msgid "Contact Information / Notes" msgstr "" -#: src/Module/Contact.php:557 +#: src/Module/Contact.php:555 msgid "Contact Settings" msgstr "" -#: src/Module/Contact.php:565 +#: src/Module/Contact.php:563 msgid "Contact" msgstr "" -#: src/Module/Contact.php:569 +#: src/Module/Contact.php:567 msgid "Their personal note" msgstr "" -#: src/Module/Contact.php:571 +#: src/Module/Contact.php:569 msgid "Edit contact notes" msgstr "" -#: src/Module/Contact.php:574 src/Module/Contact.php:1067 +#: src/Module/Contact.php:572 src/Module/Contact.php:1054 #, php-format msgid "Visit %s's profile [%s]" msgstr "" -#: src/Module/Contact.php:575 +#: src/Module/Contact.php:573 msgid "Block/Unblock contact" msgstr "" -#: src/Module/Contact.php:576 +#: src/Module/Contact.php:574 msgid "Ignore contact" msgstr "" -#: src/Module/Contact.php:577 +#: src/Module/Contact.php:575 msgid "View conversations" msgstr "" -#: src/Module/Contact.php:582 +#: src/Module/Contact.php:580 msgid "Last update:" msgstr "" -#: src/Module/Contact.php:584 +#: src/Module/Contact.php:582 msgid "Update public posts" msgstr "" -#: src/Module/Contact.php:586 src/Module/Contact.php:1109 +#: src/Module/Contact.php:584 src/Module/Contact.php:1096 msgid "Update now" msgstr "" -#: src/Module/Contact.php:589 src/Module/Contact.php:849 -#: src/Module/Contact.php:1136 +#: src/Module/Contact.php:587 src/Module/Contact.php:847 +#: src/Module/Contact.php:1123 msgid "Unignore" msgstr "" -#: src/Module/Contact.php:593 +#: src/Module/Contact.php:591 msgid "Currently blocked" msgstr "" -#: src/Module/Contact.php:594 +#: src/Module/Contact.php:592 msgid "Currently ignored" msgstr "" -#: src/Module/Contact.php:595 +#: src/Module/Contact.php:593 msgid "Currently archived" msgstr "" -#: src/Module/Contact.php:596 +#: src/Module/Contact.php:594 msgid "Awaiting connection acknowledge" msgstr "" -#: src/Module/Contact.php:597 src/Module/Notifications/Introductions.php:171 +#: src/Module/Contact.php:595 src/Module/Notifications/Introductions.php:171 msgid "Hide this contact from others" msgstr "" -#: src/Module/Contact.php:597 +#: src/Module/Contact.php:595 msgid "" "Replies/likes to your public posts may still be visible" msgstr "" -#: src/Module/Contact.php:598 +#: src/Module/Contact.php:596 msgid "Notification for new posts" msgstr "" -#: src/Module/Contact.php:598 +#: src/Module/Contact.php:596 msgid "Send a notification of every new post of this contact" msgstr "" -#: src/Module/Contact.php:600 +#: src/Module/Contact.php:598 msgid "Keyword Deny List" msgstr "" -#: src/Module/Contact.php:600 +#: src/Module/Contact.php:598 msgid "" "Comma separated list of keywords that should not be converted to hashtags, " "when \"Fetch information and keywords\" is selected" msgstr "" -#: src/Module/Contact.php:618 src/Module/Settings/TwoFactor/Index.php:132 +#: src/Module/Contact.php:616 src/Module/Settings/TwoFactor/Index.php:132 msgid "Actions" msgstr "" -#: src/Module/Contact.php:625 +#: src/Module/Contact.php:623 msgid "Mirror postings from this contact" msgstr "" -#: src/Module/Contact.php:627 +#: src/Module/Contact.php:625 msgid "" "Mark this contact as remote_self, this will cause friendica to repost new " "entries from this contact." msgstr "" -#: src/Module/Contact.php:759 +#: src/Module/Contact.php:757 msgid "Show all contacts" msgstr "" -#: src/Module/Contact.php:767 +#: src/Module/Contact.php:765 msgid "Only show pending contacts" msgstr "" -#: src/Module/Contact.php:775 +#: src/Module/Contact.php:773 msgid "Only show blocked contacts" msgstr "" -#: src/Module/Contact.php:780 src/Module/Contact.php:827 +#: src/Module/Contact.php:778 src/Module/Contact.php:825 #: src/Object/Post.php:308 msgid "Ignored" msgstr "" -#: src/Module/Contact.php:783 +#: src/Module/Contact.php:781 msgid "Only show ignored contacts" msgstr "" -#: src/Module/Contact.php:788 src/Module/Contact.php:828 +#: src/Module/Contact.php:786 src/Module/Contact.php:826 msgid "Archived" msgstr "" -#: src/Module/Contact.php:791 +#: src/Module/Contact.php:789 msgid "Only show archived contacts" msgstr "" -#: src/Module/Contact.php:796 src/Module/Contact.php:826 +#: src/Module/Contact.php:794 src/Module/Contact.php:824 msgid "Hidden" msgstr "" -#: src/Module/Contact.php:799 +#: src/Module/Contact.php:797 msgid "Only show hidden contacts" msgstr "" -#: src/Module/Contact.php:807 +#: src/Module/Contact.php:805 msgid "Organize your contact groups" msgstr "" -#: src/Module/Contact.php:839 +#: src/Module/Contact.php:837 msgid "Search your contacts" msgstr "" -#: src/Module/Contact.php:840 src/Module/Search/Index.php:194 +#: src/Module/Contact.php:838 src/Module/Search/Index.php:194 #, php-format msgid "Results for: %s" msgstr "" -#: src/Module/Contact.php:847 +#: src/Module/Contact.php:845 msgid "Update" msgstr "" -#: src/Module/Contact.php:850 src/Module/Contact.php:1145 +#: src/Module/Contact.php:848 src/Module/Contact.php:1132 msgid "Archive" msgstr "" -#: src/Module/Contact.php:850 src/Module/Contact.php:1145 +#: src/Module/Contact.php:848 src/Module/Contact.php:1132 msgid "Unarchive" msgstr "" -#: src/Module/Contact.php:853 +#: src/Module/Contact.php:851 msgid "Batch Actions" msgstr "" -#: src/Module/Contact.php:888 +#: src/Module/Contact.php:886 msgid "Conversations started by this contact" msgstr "" -#: src/Module/Contact.php:893 +#: src/Module/Contact.php:891 msgid "Posts and Comments" msgstr "" -#: src/Module/Contact.php:911 +#: src/Module/Contact.php:909 msgid "View all known contacts" msgstr "" -#: src/Module/Contact.php:921 +#: src/Module/Contact.php:919 msgid "Advanced Contact Settings" msgstr "" -#: src/Module/Contact.php:1026 +#: src/Module/Contact.php:1013 msgid "Mutual Friendship" msgstr "" -#: src/Module/Contact.php:1030 +#: src/Module/Contact.php:1017 msgid "is a fan of yours" msgstr "" -#: src/Module/Contact.php:1034 +#: src/Module/Contact.php:1021 msgid "you are a fan of" msgstr "" -#: src/Module/Contact.php:1052 +#: src/Module/Contact.php:1039 msgid "Pending outgoing contact request" msgstr "" -#: src/Module/Contact.php:1054 +#: src/Module/Contact.php:1041 msgid "Pending incoming contact request" msgstr "" -#: src/Module/Contact.php:1119 +#: src/Module/Contact.php:1106 msgid "Refetch contact data" msgstr "" -#: src/Module/Contact.php:1130 +#: src/Module/Contact.php:1117 msgid "Toggle Blocked status" msgstr "" -#: src/Module/Contact.php:1138 +#: src/Module/Contact.php:1125 msgid "Toggle Ignored status" msgstr "" -#: src/Module/Contact.php:1147 +#: src/Module/Contact.php:1134 msgid "Toggle Archive status" msgstr "" -#: src/Module/Contact.php:1155 +#: src/Module/Contact.php:1142 msgid "Delete contact" msgstr "" @@ -7599,7 +7599,7 @@ msgstr "" msgid "New photo from this URL" msgstr "" -#: src/Module/Contact/Contacts.php:31 src/Module/Conversation/Network.php:177 +#: src/Module/Contact/Contacts.php:31 src/Module/Conversation/Network.php:168 msgid "Invalid contact." msgstr "" @@ -7611,28 +7611,28 @@ msgstr "" msgid "No common contacts." msgstr "" -#: src/Module/Contact/Contacts.php:80 src/Module/Profile/Contacts.php:97 +#: src/Module/Contact/Contacts.php:80 src/Module/Profile/Contacts.php:96 #, php-format msgid "Follower (%s)" msgid_plural "Followers (%s)" msgstr[0] "" msgstr[1] "" -#: src/Module/Contact/Contacts.php:84 src/Module/Profile/Contacts.php:100 +#: src/Module/Contact/Contacts.php:84 src/Module/Profile/Contacts.php:99 #, php-format msgid "Following (%s)" msgid_plural "Following (%s)" msgstr[0] "" msgstr[1] "" -#: src/Module/Contact/Contacts.php:88 src/Module/Profile/Contacts.php:103 +#: src/Module/Contact/Contacts.php:88 src/Module/Profile/Contacts.php:102 #, php-format msgid "Mutual friend (%s)" msgid_plural "Mutual friends (%s)" msgstr[0] "" msgstr[1] "" -#: src/Module/Contact/Contacts.php:90 src/Module/Profile/Contacts.php:105 +#: src/Module/Contact/Contacts.php:90 src/Module/Profile/Contacts.php:104 #, php-format msgid "These contacts both follow and are followed by %s." msgstr "" @@ -7651,123 +7651,123 @@ msgid "" "contacts (follow, comment or likes on public posts)." msgstr "" -#: src/Module/Contact/Contacts.php:104 src/Module/Profile/Contacts.php:111 +#: src/Module/Contact/Contacts.php:104 src/Module/Profile/Contacts.php:110 #, php-format msgid "Contact (%s)" msgid_plural "Contacts (%s)" msgstr[0] "" msgstr[1] "" -#: src/Module/Contact/Poke.php:115 +#: src/Module/Contact/Poke.php:116 msgid "Error while sending poke, please retry." msgstr "" -#: src/Module/Contact/Poke.php:128 src/Module/Search/Acl.php:55 +#: src/Module/Contact/Poke.php:129 src/Module/Search/Acl.php:55 msgid "You must be logged in to use this module." msgstr "" -#: src/Module/Contact/Poke.php:151 +#: src/Module/Contact/Poke.php:152 msgid "Poke/Prod" msgstr "" -#: src/Module/Contact/Poke.php:152 +#: src/Module/Contact/Poke.php:153 msgid "poke, prod or do other things to somebody" msgstr "" -#: src/Module/Contact/Poke.php:154 +#: src/Module/Contact/Poke.php:155 msgid "Choose what you wish to do to recipient" msgstr "" -#: src/Module/Contact/Poke.php:155 +#: src/Module/Contact/Poke.php:156 msgid "Make this post private" msgstr "" -#: src/Module/Conversation/Community.php:69 +#: src/Module/Conversation/Community.php:68 msgid "Local Community" msgstr "" -#: src/Module/Conversation/Community.php:72 +#: src/Module/Conversation/Community.php:71 msgid "Posts from local users on this server" msgstr "" -#: src/Module/Conversation/Community.php:80 +#: src/Module/Conversation/Community.php:79 msgid "Global Community" msgstr "" -#: src/Module/Conversation/Community.php:83 +#: src/Module/Conversation/Community.php:82 msgid "Posts from users of the whole federated network" msgstr "" -#: src/Module/Conversation/Community.php:116 +#: src/Module/Conversation/Community.php:115 msgid "Own Contacts" msgstr "" -#: src/Module/Conversation/Community.php:120 +#: src/Module/Conversation/Community.php:119 msgid "Include" msgstr "" -#: src/Module/Conversation/Community.php:121 +#: src/Module/Conversation/Community.php:120 msgid "Hide" msgstr "" -#: src/Module/Conversation/Community.php:149 src/Module/Search/Index.php:139 +#: src/Module/Conversation/Community.php:137 src/Module/Search/Index.php:139 #: src/Module/Search/Index.php:181 msgid "No results." msgstr "" -#: src/Module/Conversation/Community.php:174 +#: src/Module/Conversation/Community.php:162 msgid "" "This community stream shows all public posts received by this node. They may " "not reflect the opinions of this node’s users." msgstr "" -#: src/Module/Conversation/Community.php:212 +#: src/Module/Conversation/Community.php:200 msgid "Community option not available." msgstr "" -#: src/Module/Conversation/Community.php:228 +#: src/Module/Conversation/Community.php:216 msgid "Not available." msgstr "" -#: src/Module/Conversation/Network.php:163 +#: src/Module/Conversation/Network.php:154 msgid "No such group" msgstr "" -#: src/Module/Conversation/Network.php:167 +#: src/Module/Conversation/Network.php:158 #, php-format msgid "Group: %s" msgstr "" -#: src/Module/Conversation/Network.php:243 +#: src/Module/Conversation/Network.php:234 msgid "Latest Activity" msgstr "" -#: src/Module/Conversation/Network.php:246 +#: src/Module/Conversation/Network.php:237 msgid "Sort by latest activity" msgstr "" -#: src/Module/Conversation/Network.php:251 +#: src/Module/Conversation/Network.php:242 msgid "Latest Posts" msgstr "" -#: src/Module/Conversation/Network.php:254 +#: src/Module/Conversation/Network.php:245 msgid "Sort by post received date" msgstr "" -#: src/Module/Conversation/Network.php:259 -#: src/Module/Settings/Profile/Index.php:228 +#: src/Module/Conversation/Network.php:250 +#: src/Module/Settings/Profile/Index.php:225 msgid "Personal" msgstr "" -#: src/Module/Conversation/Network.php:262 +#: src/Module/Conversation/Network.php:253 msgid "Posts that mention or involve you" msgstr "" -#: src/Module/Conversation/Network.php:267 src/Object/Post.php:334 +#: src/Module/Conversation/Network.php:258 src/Object/Post.php:334 msgid "Starred" msgstr "" -#: src/Module/Conversation/Network.php:270 +#: src/Module/Conversation/Network.php:261 msgid "Favourite Posts" msgstr "" @@ -7979,7 +7979,7 @@ msgid "Twitter Source / Tweet URL (requires API key)" msgstr "" #: src/Module/Debug/Feed.php:38 src/Module/Filer/SaveTag.php:40 -#: src/Module/Settings/Profile/Index.php:144 +#: src/Module/Settings/Profile/Index.php:141 msgid "You must be logged in to use this module" msgstr "" @@ -8407,40 +8407,40 @@ msgid "" "administrator email. This will allow you to enter the site admin panel." msgstr "" -#: src/Module/Invite.php:55 +#: src/Module/Invite.php:56 msgid "Total invitation limit exceeded." msgstr "" -#: src/Module/Invite.php:78 +#: src/Module/Invite.php:81 #, php-format msgid "%s : Not a valid email address." msgstr "" -#: src/Module/Invite.php:104 +#: src/Module/Invite.php:107 msgid "Please join us on Friendica" msgstr "" -#: src/Module/Invite.php:113 +#: src/Module/Invite.php:116 msgid "Invitation limit exceeded. Please contact your site administrator." msgstr "" -#: src/Module/Invite.php:117 +#: src/Module/Invite.php:120 #, php-format msgid "%s : Message delivery failed." msgstr "" -#: src/Module/Invite.php:121 +#: src/Module/Invite.php:124 #, php-format msgid "%d message sent." msgid_plural "%d messages sent." msgstr[0] "" msgstr[1] "" -#: src/Module/Invite.php:139 +#: src/Module/Invite.php:142 msgid "You have no more invitations available" msgstr "" -#: src/Module/Invite.php:146 +#: src/Module/Invite.php:149 #, php-format msgid "" "Visit %s for a list of public sites that you can join. Friendica members on " @@ -8448,14 +8448,14 @@ msgid "" "other social networks." msgstr "" -#: src/Module/Invite.php:148 +#: src/Module/Invite.php:151 #, php-format msgid "" "To accept this invitation, please visit and register at %s or any other " "public Friendica website." msgstr "" -#: src/Module/Invite.php:149 +#: src/Module/Invite.php:152 #, php-format msgid "" "Friendica sites all inter-connect to create a huge privacy-enhanced social " @@ -8464,48 +8464,48 @@ msgid "" "sites you can join." msgstr "" -#: src/Module/Invite.php:153 +#: src/Module/Invite.php:156 msgid "" "Our apologies. This system is not currently configured to connect with other " "public sites or invite members." msgstr "" -#: src/Module/Invite.php:156 +#: src/Module/Invite.php:159 msgid "" "Friendica sites all inter-connect to create a huge privacy-enhanced social " "web that is owned and controlled by its members. They can also connect with " "many traditional social networks." msgstr "" -#: src/Module/Invite.php:155 +#: src/Module/Invite.php:158 #, php-format msgid "To accept this invitation, please visit and register at %s." msgstr "" -#: src/Module/Invite.php:163 +#: src/Module/Invite.php:166 msgid "Send invitations" msgstr "" -#: src/Module/Invite.php:164 +#: src/Module/Invite.php:167 msgid "Enter email addresses, one per line:" msgstr "" -#: src/Module/Invite.php:168 +#: src/Module/Invite.php:171 msgid "" "You are cordially invited to join me and other close friends on Friendica - " "and help us to create a better social web." msgstr "" -#: src/Module/Invite.php:170 +#: src/Module/Invite.php:173 msgid "You will need to supply this invitation code: $invite_code" msgstr "" -#: src/Module/Invite.php:170 +#: src/Module/Invite.php:173 msgid "" "Once you have registered, please connect with me via my profile page at:" msgstr "" -#: src/Module/Invite.php:172 +#: src/Module/Invite.php:175 msgid "" "For more information about the Friendica project and why we feel it is " "important, please visit http://friendi.ca" @@ -8715,43 +8715,43 @@ msgstr "" msgid "Invalid photo with id %s." msgstr "" -#: src/Module/Profile/Contacts.php:121 +#: src/Module/Profile/Contacts.php:120 msgid "No contacts." msgstr "" -#: src/Module/Profile/Profile.php:83 +#: src/Module/Profile/Profile.php:82 msgid "Profile not found." msgstr "" -#: src/Module/Profile/Profile.php:136 +#: src/Module/Profile/Profile.php:135 #, php-format msgid "" "You're currently viewing your profile as %s Cancel" msgstr "" -#: src/Module/Profile/Profile.php:150 +#: src/Module/Profile/Profile.php:149 msgid "Member since:" msgstr "" -#: src/Module/Profile/Profile.php:156 +#: src/Module/Profile/Profile.php:155 msgid "j F, Y" msgstr "" -#: src/Module/Profile/Profile.php:157 +#: src/Module/Profile/Profile.php:156 msgid "j F" msgstr "" -#: src/Module/Profile/Profile.php:165 src/Util/Temporal.php:163 +#: src/Module/Profile/Profile.php:164 src/Util/Temporal.php:163 msgid "Birthday:" msgstr "" -#: src/Module/Profile/Profile.php:168 src/Module/Settings/Profile/Index.php:246 +#: src/Module/Profile/Profile.php:167 src/Module/Settings/Profile/Index.php:243 #: src/Util/Temporal.php:165 msgid "Age: " msgstr "" -#: src/Module/Profile/Profile.php:168 src/Module/Settings/Profile/Index.php:246 +#: src/Module/Profile/Profile.php:167 src/Module/Settings/Profile/Index.php:243 #: src/Util/Temporal.php:165 #, php-format msgid "%d year old" @@ -8759,32 +8759,32 @@ msgid_plural "%d years old" msgstr[0] "" msgstr[1] "" -#: src/Module/Profile/Profile.php:235 +#: src/Module/Profile/Profile.php:234 msgid "Forums:" msgstr "" -#: src/Module/Profile/Profile.php:247 +#: src/Module/Profile/Profile.php:246 msgid "View profile as:" msgstr "" -#: src/Module/Profile/Profile.php:264 +#: src/Module/Profile/Profile.php:263 msgid "View as" msgstr "" -#: src/Module/Profile/Profile.php:327 src/Module/Profile/Profile.php:330 +#: src/Module/Profile/Profile.php:326 src/Module/Profile/Profile.php:329 #: src/Module/Profile/Status.php:65 src/Module/Profile/Status.php:68 #: src/Protocol/Feed.php:946 src/Protocol/OStatus.php:1256 #, php-format msgid "%s's timeline" msgstr "" -#: src/Module/Profile/Profile.php:328 src/Module/Profile/Status.php:66 +#: src/Module/Profile/Profile.php:327 src/Module/Profile/Status.php:66 #: src/Protocol/Feed.php:950 src/Protocol/OStatus.php:1260 #, php-format msgid "%s's posts" msgstr "" -#: src/Module/Profile/Profile.php:329 src/Module/Profile/Status.php:67 +#: src/Module/Profile/Profile.php:328 src/Module/Profile/Status.php:67 #: src/Protocol/Feed.php:953 src/Protocol/OStatus.php:1263 #, php-format msgid "%s's comments" @@ -9068,58 +9068,58 @@ msgid "" "account to add the OpenID to it." msgstr "" -#: src/Module/Security/TwoFactor/Recovery.php:60 +#: src/Module/Security/TwoFactor/Recovery.php:61 #, php-format msgid "Remaining recovery codes: %d" msgstr "" -#: src/Module/Security/TwoFactor/Recovery.php:64 -#: src/Module/Security/TwoFactor/Verify.php:75 +#: src/Module/Security/TwoFactor/Recovery.php:65 +#: src/Module/Security/TwoFactor/Verify.php:76 #: src/Module/Settings/TwoFactor/Verify.php:82 msgid "Invalid code, please retry." msgstr "" -#: src/Module/Security/TwoFactor/Recovery.php:83 +#: src/Module/Security/TwoFactor/Recovery.php:84 msgid "Two-factor recovery" msgstr "" -#: src/Module/Security/TwoFactor/Recovery.php:84 +#: src/Module/Security/TwoFactor/Recovery.php:85 msgid "" "

You can enter one of your one-time recovery codes in case you lost access " "to your mobile device.

" msgstr "" -#: src/Module/Security/TwoFactor/Recovery.php:85 -#: src/Module/Security/TwoFactor/Verify.php:98 +#: src/Module/Security/TwoFactor/Recovery.php:86 +#: src/Module/Security/TwoFactor/Verify.php:99 #, php-format msgid "" "Don’t have your phone? Enter a two-factor recovery code" msgstr "" -#: src/Module/Security/TwoFactor/Recovery.php:86 +#: src/Module/Security/TwoFactor/Recovery.php:87 msgid "Please enter a recovery code" msgstr "" -#: src/Module/Security/TwoFactor/Recovery.php:87 +#: src/Module/Security/TwoFactor/Recovery.php:88 msgid "Submit recovery code and complete login" msgstr "" -#: src/Module/Security/TwoFactor/Verify.php:95 +#: src/Module/Security/TwoFactor/Verify.php:96 msgid "" "

Open the two-factor authentication app on your device to get an " "authentication code and verify your identity.

" msgstr "" -#: src/Module/Security/TwoFactor/Verify.php:99 +#: src/Module/Security/TwoFactor/Verify.php:100 #: src/Module/Settings/TwoFactor/Verify.php:141 msgid "Please enter a code from your authentication app" msgstr "" -#: src/Module/Security/TwoFactor/Verify.php:100 +#: src/Module/Security/TwoFactor/Verify.php:101 msgid "This is my two-factor authenticator app device" msgstr "" -#: src/Module/Security/TwoFactor/Verify.php:101 +#: src/Module/Security/TwoFactor/Verify.php:102 msgid "Verify code and complete login" msgstr "" @@ -9200,261 +9200,263 @@ msgstr "" msgid "No entries." msgstr "" -#: src/Module/Settings/Display.php:105 +#: src/Module/Settings/Display.php:108 msgid "The theme you chose isn't available." msgstr "" -#: src/Module/Settings/Display.php:142 +#: src/Module/Settings/Display.php:147 #, php-format msgid "%s - (Unsupported)" msgstr "" -#: src/Module/Settings/Display.php:188 +#: src/Module/Settings/Display.php:193 msgid "Display Settings" msgstr "" -#: src/Module/Settings/Display.php:190 +#: src/Module/Settings/Display.php:195 msgid "General Theme Settings" msgstr "" -#: src/Module/Settings/Display.php:191 +#: src/Module/Settings/Display.php:196 msgid "Custom Theme Settings" msgstr "" -#: src/Module/Settings/Display.php:192 +#: src/Module/Settings/Display.php:197 msgid "Content Settings" msgstr "" -#: src/Module/Settings/Display.php:193 view/theme/duepuntozero/config.php:70 +#: src/Module/Settings/Display.php:198 view/theme/duepuntozero/config.php:70 #: view/theme/frio/config.php:161 view/theme/quattro/config.php:72 #: view/theme/vier/config.php:120 msgid "Theme settings" msgstr "" -#: src/Module/Settings/Display.php:194 +#: src/Module/Settings/Display.php:199 msgid "Calendar" msgstr "" -#: src/Module/Settings/Display.php:200 +#: src/Module/Settings/Display.php:205 msgid "Display Theme:" msgstr "" -#: src/Module/Settings/Display.php:201 +#: src/Module/Settings/Display.php:206 msgid "Mobile Theme:" msgstr "" -#: src/Module/Settings/Display.php:204 +#: src/Module/Settings/Display.php:209 msgid "Number of items to display per page:" msgstr "" -#: src/Module/Settings/Display.php:204 src/Module/Settings/Display.php:205 +#: src/Module/Settings/Display.php:209 src/Module/Settings/Display.php:210 msgid "Maximum of 100 items" msgstr "" -#: src/Module/Settings/Display.php:205 +#: src/Module/Settings/Display.php:210 msgid "Number of items to display per page when viewed from mobile device:" msgstr "" -#: src/Module/Settings/Display.php:206 +#: src/Module/Settings/Display.php:211 msgid "Update browser every xx seconds" msgstr "" -#: src/Module/Settings/Display.php:206 +#: src/Module/Settings/Display.php:211 msgid "Minimum of 10 seconds. Enter -1 to disable it." msgstr "" -#: src/Module/Settings/Display.php:207 +#: src/Module/Settings/Display.php:212 msgid "Automatic updates only at the top of the post stream pages" msgstr "" -#: src/Module/Settings/Display.php:207 +#: src/Module/Settings/Display.php:212 msgid "" "Auto update may add new posts at the top of the post stream pages, which can " "affect the scroll position and perturb normal reading if it happens anywhere " "else the top of the page." msgstr "" -#: src/Module/Settings/Display.php:208 +#: src/Module/Settings/Display.php:213 msgid "Don't show emoticons" msgstr "" -#: src/Module/Settings/Display.php:208 +#: src/Module/Settings/Display.php:213 msgid "" "Normally emoticons are replaced with matching symbols. This setting disables " "this behaviour." msgstr "" -#: src/Module/Settings/Display.php:209 +#: src/Module/Settings/Display.php:214 msgid "Infinite scroll" msgstr "" -#: src/Module/Settings/Display.php:209 +#: src/Module/Settings/Display.php:214 msgid "Automatic fetch new items when reaching the page end." msgstr "" -#: src/Module/Settings/Display.php:210 +#: src/Module/Settings/Display.php:215 msgid "Disable Smart Threading" msgstr "" -#: src/Module/Settings/Display.php:210 +#: src/Module/Settings/Display.php:215 msgid "Disable the automatic suppression of extraneous thread indentation." msgstr "" -#: src/Module/Settings/Display.php:211 +#: src/Module/Settings/Display.php:216 msgid "Hide the Dislike feature" msgstr "" -#: src/Module/Settings/Display.php:211 +#: src/Module/Settings/Display.php:216 msgid "Hides the Dislike button and dislike reactions on posts and comments." msgstr "" -#: src/Module/Settings/Display.php:212 +#: src/Module/Settings/Display.php:217 msgid "Display the resharer" msgstr "" -#: src/Module/Settings/Display.php:212 +#: src/Module/Settings/Display.php:217 msgid "Display the first resharer as icon and text on a reshared item." msgstr "" -#: src/Module/Settings/Display.php:213 +#: src/Module/Settings/Display.php:218 msgid "Stay local" msgstr "" -#: src/Module/Settings/Display.php:213 +#: src/Module/Settings/Display.php:218 msgid "Don't go to a remote system when following a contact link." msgstr "" -#: src/Module/Settings/Display.php:215 +#: src/Module/Settings/Display.php:220 msgid "Beginning of week:" msgstr "" -#: src/Module/Settings/Profile/Index.php:85 +#: src/Module/Settings/Profile/Index.php:82 msgid "Profile Name is required." msgstr "" -#: src/Module/Settings/Profile/Index.php:136 +#: src/Module/Settings/Profile/Index.php:133 msgid "Profile couldn't be updated." msgstr "" -#: src/Module/Settings/Profile/Index.php:173 -#: src/Module/Settings/Profile/Index.php:193 +#: src/Module/Settings/Profile/Index.php:170 +#: src/Module/Settings/Profile/Index.php:190 msgid "Label:" msgstr "" -#: src/Module/Settings/Profile/Index.php:174 -#: src/Module/Settings/Profile/Index.php:194 +#: src/Module/Settings/Profile/Index.php:171 +#: src/Module/Settings/Profile/Index.php:191 msgid "Value:" msgstr "" -#: src/Module/Settings/Profile/Index.php:184 -#: src/Module/Settings/Profile/Index.php:204 +#: src/Module/Settings/Profile/Index.php:181 +#: src/Module/Settings/Profile/Index.php:201 msgid "Field Permissions" msgstr "" -#: src/Module/Settings/Profile/Index.php:185 -#: src/Module/Settings/Profile/Index.php:205 +#: src/Module/Settings/Profile/Index.php:182 +#: src/Module/Settings/Profile/Index.php:202 msgid "(click to open/close)" msgstr "" -#: src/Module/Settings/Profile/Index.php:191 +#: src/Module/Settings/Profile/Index.php:188 msgid "Add a new profile field" msgstr "" -#: src/Module/Settings/Profile/Index.php:221 +#: src/Module/Settings/Profile/Index.php:218 msgid "Profile Actions" msgstr "" -#: src/Module/Settings/Profile/Index.php:222 +#: src/Module/Settings/Profile/Index.php:219 msgid "Edit Profile Details" msgstr "" -#: src/Module/Settings/Profile/Index.php:224 +#: src/Module/Settings/Profile/Index.php:221 msgid "Change Profile Photo" msgstr "" -#: src/Module/Settings/Profile/Index.php:229 +#: src/Module/Settings/Profile/Index.php:226 msgid "Profile picture" msgstr "" -#: src/Module/Settings/Profile/Index.php:230 +#: src/Module/Settings/Profile/Index.php:227 msgid "Location" msgstr "" -#: src/Module/Settings/Profile/Index.php:231 src/Util/Temporal.php:93 +#: src/Module/Settings/Profile/Index.php:228 src/Util/Temporal.php:93 #: src/Util/Temporal.php:95 msgid "Miscellaneous" msgstr "" -#: src/Module/Settings/Profile/Index.php:232 +#: src/Module/Settings/Profile/Index.php:229 msgid "Custom Profile Fields" msgstr "" -#: src/Module/Settings/Profile/Index.php:234 src/Module/Welcome.php:58 +#: src/Module/Settings/Profile/Index.php:231 src/Module/Welcome.php:58 msgid "Upload Profile Photo" msgstr "" -#: src/Module/Settings/Profile/Index.php:238 +#: src/Module/Settings/Profile/Index.php:235 msgid "Display name:" msgstr "" -#: src/Module/Settings/Profile/Index.php:241 +#: src/Module/Settings/Profile/Index.php:238 msgid "Street Address:" msgstr "" -#: src/Module/Settings/Profile/Index.php:242 +#: src/Module/Settings/Profile/Index.php:239 msgid "Locality/City:" msgstr "" -#: src/Module/Settings/Profile/Index.php:243 +#: src/Module/Settings/Profile/Index.php:240 msgid "Region/State:" msgstr "" -#: src/Module/Settings/Profile/Index.php:244 +#: src/Module/Settings/Profile/Index.php:241 msgid "Postal/Zip Code:" msgstr "" -#: src/Module/Settings/Profile/Index.php:245 +#: src/Module/Settings/Profile/Index.php:242 msgid "Country:" msgstr "" -#: src/Module/Settings/Profile/Index.php:247 +#: src/Module/Settings/Profile/Index.php:244 msgid "XMPP (Jabber) address:" msgstr "" -#: src/Module/Settings/Profile/Index.php:247 -msgid "The XMPP address will be published so that people can follow you there." +#: src/Module/Settings/Profile/Index.php:244 +msgid "" +"The XMPP address will be propagated to your contacts so that they can follow " +"you." msgstr "" -#: src/Module/Settings/Profile/Index.php:248 +#: src/Module/Settings/Profile/Index.php:245 msgid "Matrix (Element) address:" msgstr "" -#: src/Module/Settings/Profile/Index.php:248 +#: src/Module/Settings/Profile/Index.php:245 msgid "" "The Matrix address will be published so that people can follow you there." msgstr "" -#: src/Module/Settings/Profile/Index.php:249 +#: src/Module/Settings/Profile/Index.php:246 msgid "Homepage URL:" msgstr "" -#: src/Module/Settings/Profile/Index.php:250 +#: src/Module/Settings/Profile/Index.php:247 msgid "Public Keywords:" msgstr "" -#: src/Module/Settings/Profile/Index.php:250 +#: src/Module/Settings/Profile/Index.php:247 msgid "(Used for suggesting potential friends, can be seen by others)" msgstr "" -#: src/Module/Settings/Profile/Index.php:251 +#: src/Module/Settings/Profile/Index.php:248 msgid "Private Keywords:" msgstr "" -#: src/Module/Settings/Profile/Index.php:251 +#: src/Module/Settings/Profile/Index.php:248 msgid "(Used for searching profiles, never shown to others)" msgstr "" -#: src/Module/Settings/Profile/Index.php:252 +#: src/Module/Settings/Profile/Index.php:249 #, php-format msgid "" "

Custom fields appear on your profile page.

\n" @@ -9465,74 +9467,74 @@ msgid "" "contacts or the Friendica contacts in the selected groups.

" msgstr "" -#: src/Module/Settings/Profile/Photo/Crop.php:103 -#: src/Module/Settings/Profile/Photo/Crop.php:119 -#: src/Module/Settings/Profile/Photo/Crop.php:135 -#: src/Module/Settings/Profile/Photo/Index.php:103 +#: src/Module/Settings/Profile/Photo/Crop.php:102 +#: src/Module/Settings/Profile/Photo/Crop.php:118 +#: src/Module/Settings/Profile/Photo/Crop.php:134 +#: src/Module/Settings/Profile/Photo/Index.php:102 #, php-format msgid "Image size reduction [%s] failed." msgstr "" -#: src/Module/Settings/Profile/Photo/Crop.php:140 +#: src/Module/Settings/Profile/Photo/Crop.php:139 msgid "" "Shift-reload the page or clear browser cache if the new photo does not " "display immediately." msgstr "" -#: src/Module/Settings/Profile/Photo/Crop.php:145 +#: src/Module/Settings/Profile/Photo/Crop.php:144 msgid "Unable to process image" msgstr "" -#: src/Module/Settings/Profile/Photo/Crop.php:164 +#: src/Module/Settings/Profile/Photo/Crop.php:163 msgid "Photo not found." msgstr "" -#: src/Module/Settings/Profile/Photo/Crop.php:186 +#: src/Module/Settings/Profile/Photo/Crop.php:185 msgid "Profile picture successfully updated." msgstr "" -#: src/Module/Settings/Profile/Photo/Crop.php:209 -#: src/Module/Settings/Profile/Photo/Crop.php:213 +#: src/Module/Settings/Profile/Photo/Crop.php:208 +#: src/Module/Settings/Profile/Photo/Crop.php:212 msgid "Crop Image" msgstr "" -#: src/Module/Settings/Profile/Photo/Crop.php:210 +#: src/Module/Settings/Profile/Photo/Crop.php:209 msgid "Please adjust the image cropping for optimum viewing." msgstr "" -#: src/Module/Settings/Profile/Photo/Crop.php:212 +#: src/Module/Settings/Profile/Photo/Crop.php:211 msgid "Use Image As Is" msgstr "" -#: src/Module/Settings/Profile/Photo/Index.php:47 +#: src/Module/Settings/Profile/Photo/Index.php:46 msgid "Missing uploaded image." msgstr "" -#: src/Module/Settings/Profile/Photo/Index.php:126 +#: src/Module/Settings/Profile/Photo/Index.php:125 msgid "Profile Picture Settings" msgstr "" -#: src/Module/Settings/Profile/Photo/Index.php:127 +#: src/Module/Settings/Profile/Photo/Index.php:126 msgid "Current Profile Picture" msgstr "" -#: src/Module/Settings/Profile/Photo/Index.php:128 +#: src/Module/Settings/Profile/Photo/Index.php:127 msgid "Upload Profile Picture" msgstr "" -#: src/Module/Settings/Profile/Photo/Index.php:129 +#: src/Module/Settings/Profile/Photo/Index.php:128 msgid "Upload Picture:" msgstr "" -#: src/Module/Settings/Profile/Photo/Index.php:134 +#: src/Module/Settings/Profile/Photo/Index.php:133 msgid "or" msgstr "" -#: src/Module/Settings/Profile/Photo/Index.php:136 +#: src/Module/Settings/Profile/Photo/Index.php:135 msgid "skip this step" msgstr "" -#: src/Module/Settings/Profile/Photo/Index.php:138 +#: src/Module/Settings/Profile/Photo/Index.php:137 msgid "select a photo from your photo albums" msgstr "" @@ -9825,32 +9827,32 @@ msgstr "" msgid "Verify code and enable two-factor authentication" msgstr "" -#: src/Module/Settings/UserExport.php:69 +#: src/Module/Settings/UserExport.php:68 msgid "Export account" msgstr "" -#: src/Module/Settings/UserExport.php:69 +#: src/Module/Settings/UserExport.php:68 msgid "" "Export your account info and contacts. Use this to make a backup of your " "account and/or to move it to another server." msgstr "" -#: src/Module/Settings/UserExport.php:70 +#: src/Module/Settings/UserExport.php:69 msgid "Export all" msgstr "" -#: src/Module/Settings/UserExport.php:70 +#: src/Module/Settings/UserExport.php:69 msgid "" "Export your account info, contacts and all your items as json. Could be a " "very big file, and could take a lot of time. Use this to make a full backup " "of your account (photos are not exported)" msgstr "" -#: src/Module/Settings/UserExport.php:71 +#: src/Module/Settings/UserExport.php:70 msgid "Export Contacts to CSV" msgstr "" -#: src/Module/Settings/UserExport.php:71 +#: src/Module/Settings/UserExport.php:70 msgid "" "Export the list of the accounts you are following as CSV file. Compatible to " "e.g. Mastodon." @@ -10113,24 +10115,24 @@ msgid "" "features and resources." msgstr "" -#: src/Object/EMail/ItemCCEMail.php:39 +#: src/Object/EMail/ItemCCEMail.php:42 #, php-format msgid "" "This message was sent to you by %s, a member of the Friendica social network." msgstr "" -#: src/Object/EMail/ItemCCEMail.php:41 +#: src/Object/EMail/ItemCCEMail.php:44 #, php-format msgid "You may visit them online at %s" msgstr "" -#: src/Object/EMail/ItemCCEMail.php:42 +#: src/Object/EMail/ItemCCEMail.php:45 msgid "" "Please contact the sender by replying to this post if you do not wish to " "receive these messages." msgstr "" -#: src/Object/EMail/ItemCCEMail.php:46 +#: src/Object/EMail/ItemCCEMail.php:49 #, php-format msgid "%s posted an update." msgstr "" @@ -10431,20 +10433,20 @@ msgstr "" msgid "Contact information and Social Networks" msgstr "" -#: src/Security/Authentication.php:210 +#: src/Security/Authentication.php:209 msgid "Login failed." msgstr "" -#: src/Security/Authentication.php:251 +#: src/Security/Authentication.php:250 msgid "Login failed. Please check your credentials." msgstr "" -#: src/Security/Authentication.php:350 +#: src/Security/Authentication.php:349 #, php-format msgid "Welcome %s" msgstr "" -#: src/Security/Authentication.php:351 +#: src/Security/Authentication.php:350 msgid "Please upload a profile photo." msgstr "" From 15b93b4459f051c1cf6d394a597399f17f9748f3 Mon Sep 17 00:00:00 2001 From: Michael Date: Mon, 9 Aug 2021 19:48:39 +0000 Subject: [PATCH 08/10] "getUserNickname" is now "getLoggedInUserNickname" --- include/api.php | 2 +- mod/display.php | 2 +- mod/editpost.php | 2 +- mod/events.php | 2 +- mod/fbrowser.php | 6 +++--- mod/message.php | 8 ++++---- mod/notes.php | 2 +- mod/photos.php | 2 +- mod/ping.php | 2 +- mod/settings.php | 2 +- src/App.php | 2 +- src/App/Page.php | 4 ++-- src/BaseModule.php | 4 ++-- src/Content/Nav.php | 14 +++++++------- src/Factory/Notification/Introduction.php | 2 +- src/Model/Mail.php | 2 +- src/Module/Delegation.php | 4 ++-- src/Module/HCard.php | 2 +- src/Module/Home.php | 2 +- src/Module/Invite.php | 2 +- src/Module/NoScrape.php | 2 +- src/Module/Profile/Schedule.php | 2 +- src/Module/Settings/Profile/Photo/Crop.php | 4 ++-- src/Module/Settings/Profile/Photo/Index.php | 2 +- src/Module/Settings/UserExport.php | 6 +++--- src/Object/EMail/ItemCCEMail.php | 4 ++-- view/theme/vier/theme.php | 2 +- 27 files changed, 45 insertions(+), 45 deletions(-) diff --git a/include/api.php b/include/api.php index 7b649da7df..e0cac831e5 100644 --- a/include/api.php +++ b/include/api.php @@ -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 . 'nickname {nickname}', ['module' => 'api', 'action' => 'call', 'nickname' => $a->getUserNickname()]); + Logger::info(API_LOG_PREFIX . 'nickname {nickname}', ['module' => 'api', 'action' => 'call', 'nickname' => $a->getLoggedInUserNickname()]); } Logger::debug(API_LOG_PREFIX . 'parameters', ['module' => 'api', 'action' => 'call', 'parameters' => $_REQUEST]); diff --git a/mod/display.php b/mod/display.php index 7ac4f38ce8..5e24bd4b43 100644 --- a/mod/display.php +++ b/mod/display.php @@ -62,7 +62,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->getUserNickname(); + $nick = $a->getLoggedInUserNickname(); } } diff --git a/mod/editpost.php b/mod/editpost.php index e522522e3d..cc72dbd3c2 100644 --- a/mod/editpost.php +++ b/mod/editpost.php @@ -68,7 +68,7 @@ function editpost_content(App $a) DI::page()['htmlhead'] .= Renderer::replaceMacros($tpl, [ '$ispublic' => ' ', // DI::l10n()->t('Visible to everybody'), '$geotag' => $geotag, - '$nickname' => $a->getUserNickname(), + '$nickname' => $a->getLoggedInUserNickname(), '$is_mobile' => DI::mode()->isMobile(), ]); diff --git a/mod/events.php b/mod/events.php index 25a9376325..e7c3ed36f1 100644 --- a/mod/events.php +++ b/mod/events.php @@ -280,7 +280,7 @@ function events_content(App $a) $tabs = ''; // tabs if ($a->getThemeInfoValue('events_in_profile')) { - $tabs = BaseProfile::getTabsHTML($a, 'events', true, $a->getUserNickname(), false); + $tabs = BaseProfile::getTabsHTML($a, 'events', true, $a->getLoggedInUserNickname(), false); } $mode = 'view'; diff --git a/mod/fbrowser.php b/mod/fbrowser.php index 5d086e0bf8..53aa255a2e 100644 --- a/mod/fbrowser.php +++ b/mod/fbrowser.php @@ -88,7 +88,7 @@ function fbrowser_content(App $a) } return [ - DI::baseUrl() . '/photos/' . $a->getUserNickname() . '/image/' . $rr['resource-id'], + DI::baseUrl() . '/photos/' . $a->getLoggedInUserNickname() . '/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->getUserNickname(), + '$nickname' => $a->getLoggedInUserNickname(), '$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->getUserNickname(), + '$nickname' => $a->getLoggedInUserNickname(), '$upload' => DI::l10n()->t('Upload') ]); } diff --git a/mod/message.php b/mod/message.php index c8e5f42904..2f4fe0c1aa 100644 --- a/mod/message.php +++ b/mod/message.php @@ -112,7 +112,7 @@ function message_content(App $a) return Login::form(); } - $myprofile = DI::baseUrl() . '/profile/' . $a->getUserNickname(); + $myprofile = DI::baseUrl() . '/profile/' . $a->getLoggedInUserNickname(); $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->getUserNickname(), + '$nickname' => $a->getLoggedInUserNickname(), '$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->getUserNickname(), + '$nickname' => $a->getLoggedInUserNickname(), '$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->getUserNickname(); + $myprofile = DI::baseUrl() . '/profile/' . $a->getLoggedInUserNickname(); foreach ($msg as $rr) { if ($rr['unknown']) { diff --git a/mod/notes.php b/mod/notes.php index 1c160a2f2e..11ec8a0352 100644 --- a/mod/notes.php +++ b/mod/notes.php @@ -45,7 +45,7 @@ function notes_content(App $a, $update = false) return; } - $o = BaseProfile::getTabsHTML($a, 'notes', true, $a->getUserNickname(), false); + $o = BaseProfile::getTabsHTML($a, 'notes', true, $a->getLoggedInUserNickname(), false); if (!$update) { $o .= '

' . DI::l10n()->t('Personal Notes') . '

'; diff --git a/mod/photos.php b/mod/photos.php index f90a9f3bfc..1379ed12e6 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -224,7 +224,7 @@ function photos_post(App $a) // Update the photo albums cache Photo::clearAlbumCache($page_owner_uid); - DI::baseUrl()->redirect('photos/' . $a->getUserNickname() . '/album/' . bin2hex($newalbum)); + DI::baseUrl()->redirect('photos/' . $a->getLoggedInUserNickname() . '/album/' . bin2hex($newalbum)); return; // NOTREACHED } diff --git a/mod/ping.php b/mod/ping.php index 14331b2e77..bdd30be3fc 100644 --- a/mod/ping.php +++ b/mod/ping.php @@ -193,7 +193,7 @@ function ping_init(App $a) $intro_count = count($intros1) + count($intros2); $intros = $intros1 + $intros2; - $myurl = DI::baseUrl() . '/profile/' . $a->getUserNickname(); + $myurl = DI::baseUrl() . '/profile/' . $a->getLoggedInUserNickname(); $mails = q( "SELECT `id`, `from-name`, `from-url`, `from-photo`, `created` FROM `mail` WHERE `uid` = %d AND `seen` = 0 AND `from-url` != '%s' ", diff --git a/mod/settings.php b/mod/settings.php index 5ad884e883..378e25ed9f 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -594,7 +594,7 @@ function settings_content(App $a) $username = $user['username']; $email = $user['email']; - $nickname = $a->getUserNickname(); + $nickname = $a->getLoggedInUserNickname(); $timezone = $user['timezone']; $language = $user['language']; $notify = $user['notify-flags']; diff --git a/src/App.php b/src/App.php index ff8c059dec..3a952c7a33 100644 --- a/src/App.php +++ b/src/App.php @@ -166,7 +166,7 @@ class App * Fetch the user nick name * @return string */ - public function getUserNickname() + public function getLoggedInUserNickname() { return $this->nickname; } diff --git a/src/App/Page.php b/src/App/Page.php index 75107df6da..766dd4ebef 100644 --- a/src/App/Page.php +++ b/src/App/Page.php @@ -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->getUserNickname())) { - $homebase = 'profile/' . $app->getUserNickname(); + } elseif (!empty($app->getLoggedInUserNickname())) { + $homebase = 'profile/' . $app->getLoggedInUserNickname(); } if (isset($homebase)) { diff --git a/src/BaseModule.php b/src/BaseModule.php index 28cce09e07..b812370fdf 100644 --- a/src/BaseModule.php +++ b/src/BaseModule.php @@ -183,7 +183,7 @@ abstract class BaseModule public static function checkFormSecurityTokenRedirectOnError($err_redirect, $typename = '', $formname = 'form_security_token') { if (!self::checkFormSecurityToken($typename, $formname)) { - Logger::log('checkFormSecurityToken failed: user ' . DI::app()->getUserNickname() . ' - form element ' . $typename); + Logger::log('checkFormSecurityToken failed: user ' . DI::app()->getLoggedInUserNickname() . ' - form element ' . $typename); Logger::log('checkFormSecurityToken failed: _REQUEST data: ' . print_r($_REQUEST, true), Logger::DATA); notice(self::getFormSecurityStandardErrorMessage()); DI::baseUrl()->redirect($err_redirect); @@ -193,7 +193,7 @@ abstract class BaseModule public static function checkFormSecurityTokenForbiddenOnError($typename = '', $formname = 'form_security_token') { if (!self::checkFormSecurityToken($typename, $formname)) { - Logger::log('checkFormSecurityToken failed: user ' . DI::app()->getUserNickname() . ' - form element ' . $typename); + Logger::log('checkFormSecurityToken failed: user ' . DI::app()->getLoggedInUserNickname() . ' - form element ' . $typename); Logger::log('checkFormSecurityToken failed: _REQUEST data: ' . print_r($_REQUEST, true), Logger::DATA); throw new \Friendica\Network\HTTPException\ForbiddenException(); diff --git a/src/Content/Nav.php b/src/Content/Nav.php index 4ed25cdad5..56049fa16e 100644 --- a/src/Content/Nav.php +++ b/src/Content/Nav.php @@ -154,7 +154,7 @@ class Nav * Display the current site location as a navigation aid. */ - $myident = !empty($a->getUserNickname()) ? $a->getUserNickname() . '@' : ''; + $myident = !empty($a->getLoggedInUserNickname()) ? $a->getLoggedInUserNickname() . '@' : ''; $sitelocation = $myident . substr(DI::baseUrl()->get($ssl_state), strpos(DI::baseUrl()->get($ssl_state), '//') + 2); @@ -187,10 +187,10 @@ class Nav if ($a->isLoggedIn()) { // user menu - $nav['usermenu'][] = ['profile/' . $a->getUserNickname(), DI::l10n()->t('Status'), '', DI::l10n()->t('Your posts and conversations')]; - $nav['usermenu'][] = ['profile/' . $a->getUserNickname() . '/profile', DI::l10n()->t('Profile'), '', DI::l10n()->t('Your profile page')]; - $nav['usermenu'][] = ['photos/' . $a->getUserNickname(), DI::l10n()->t('Photos'), '', DI::l10n()->t('Your photos')]; - $nav['usermenu'][] = ['videos/' . $a->getUserNickname(), DI::l10n()->t('Videos'), '', DI::l10n()->t('Your videos')]; + $nav['usermenu'][] = ['profile/' . $a->getLoggedInUserNickname(), DI::l10n()->t('Status'), '', DI::l10n()->t('Your posts and conversations')]; + $nav['usermenu'][] = ['profile/' . $a->getLoggedInUserNickname() . '/profile', DI::l10n()->t('Profile'), '', DI::l10n()->t('Your profile page')]; + $nav['usermenu'][] = ['photos/' . $a->getLoggedInUserNickname(), DI::l10n()->t('Photos'), '', DI::l10n()->t('Your photos')]; + $nav['usermenu'][] = ['videos/' . $a->getLoggedInUserNickname(), 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')]; @@ -267,10 +267,10 @@ class Nav } // The following nav links are only show to logged in users - if (local_user() && !empty($a->getUserNickname())) { + if (local_user() && !empty($a->getLoggedInUserNickname())) { $nav['network'] = ['network', DI::l10n()->t('Network'), '', DI::l10n()->t('Conversations from your friends')]; - $nav['home'] = ['profile/' . $a->getUserNickname(), DI::l10n()->t('Home'), '', DI::l10n()->t('Your posts and conversations')]; + $nav['home'] = ['profile/' . $a->getLoggedInUserNickname(), 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) { diff --git a/src/Factory/Notification/Introduction.php b/src/Factory/Notification/Introduction.php index a153e5a566..2b5aecdb00 100644 --- a/src/Factory/Notification/Introduction.php +++ b/src/Factory/Notification/Introduction.php @@ -68,7 +68,7 @@ class Introduction extends BaseFactory $this->l10n = $l10n; $this->pConfig = $pConfig; $this->session = $session; - $this->nick = $app->getUserNickname() ?? ''; + $this->nick = $app->getLoggedInUserNickname() ?? ''; } /** diff --git a/src/Model/Mail.php b/src/Model/Mail.php index 7b18ac3c31..7eaeb09b5e 100644 --- a/src/Model/Mail.php +++ b/src/Model/Mail.php @@ -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->getUserNickname() . '@' . substr(DI::baseUrl(), strpos(DI::baseUrl(), '://') + 3); + $sender_handle = $a->getLoggedInUserNickname() . '@' . substr(DI::baseUrl(), strpos(DI::baseUrl(), '://') + 3); $conv_guid = System::createUUID(); $convuri = $recip_handle . ':' . $conv_guid; diff --git a/src/Module/Delegation.php b/src/Module/Delegation.php index ac662ecbd0..cd3f50f59f 100644 --- a/src/Module/Delegation.php +++ b/src/Module/Delegation.php @@ -109,7 +109,7 @@ class Delegation extends BaseModule $ret = []; Hook::callAll('home_init', $ret); - DI::baseUrl()->redirect('profile/' . DI::app()->getUserNickname()); + DI::baseUrl()->redirect('profile/' . DI::app()->getLoggedInUserNickname()); // 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()->getUserNickname()); + $identities[$key]['selected'] = ($identity['nickname'] === DI::app()->getLoggedInUserNickname()); $condition = ["`uid` = ? AND `msg` != '' AND NOT (`type` IN (?, ?)) AND NOT `seen`", $identity['uid'], Notification\Type::INTRO, Notification\Type::MAIL]; $params = ['distinct' => true, 'expression' => 'parent']; diff --git a/src/Module/HCard.php b/src/Module/HCard.php index c43e3975c3..3310749bc3 100644 --- a/src/Module/HCard.php +++ b/src/Module/HCard.php @@ -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->getUserNickname(); + $nickname = $a->getLoggedInUserNickname(); } elseif (empty($parameters['action'])) { // Show the profile hCard $nickname = $parameters['profile']; diff --git a/src/Module/Home.php b/src/Module/Home.php index 76c4736cf1..9d16e11aa7 100644 --- a/src/Module/Home.php +++ b/src/Module/Home.php @@ -42,7 +42,7 @@ class Home extends BaseModule Hook::callAll('home_init', $ret); - if (local_user() && ($app->getUserNickname())) { + if (local_user() && ($app->getLoggedInUserNickname())) { DI::baseUrl()->redirect('network'); } diff --git a/src/Module/Invite.php b/src/Module/Invite.php index 48926a1fbf..82b8c604a9 100644 --- a/src/Module/Invite.php +++ b/src/Module/Invite.php @@ -171,7 +171,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->getUserNickname() + . "\r\n" . "\r\n" . DI::baseUrl()->get() . '/profile/' . $app->getLoggedInUserNickname() . "\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') diff --git a/src/Module/NoScrape.php b/src/Module/NoScrape.php index f293e26b1e..f156efb44f 100644 --- a/src/Module/NoScrape.php +++ b/src/Module/NoScrape.php @@ -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->getUserNickname(); + $which = $a->getLoggedInUserNickname(); } else { System::jsonError(403, 'Authentication required'); } diff --git a/src/Module/Profile/Schedule.php b/src/Module/Profile/Schedule.php index ee468f8157..e72b1c7a65 100644 --- a/src/Module/Profile/Schedule.php +++ b/src/Module/Profile/Schedule.php @@ -58,7 +58,7 @@ class Schedule extends BaseProfile $a = DI::app(); - $o = self::getTabsHTML($a, 'schedule', true, $a->getUserNickname(), false); + $o = self::getTabsHTML($a, 'schedule', true, $a->getLoggedInUserNickname(), false); $schedule = []; $delayed = DBA::select('delayed-post', [], ['uid' => local_user()]); diff --git a/src/Module/Settings/Profile/Photo/Crop.php b/src/Module/Settings/Profile/Photo/Crop.php index d6c89e237b..83722c8661 100644 --- a/src/Module/Settings/Profile/Photo/Crop.php +++ b/src/Module/Settings/Profile/Photo/Crop.php @@ -56,7 +56,7 @@ class Crop extends BaseSettings $selectionW = intval($_POST['width'] ?? 0); $selectionH = intval($_POST['height'] ?? 0); - $path = 'profile/' . DI::app()->getUserNickname(); + $path = 'profile/' . DI::app()->getLoggedInUserNickname(); $base_image = Photo::selectFirst([], ['resource-id' => $resource_id, 'uid' => local_user(), 'scale' => $scale]); if (DBA::isResult($base_image)) { @@ -184,7 +184,7 @@ class Crop extends BaseSettings info(DI::l10n()->t('Profile picture successfully updated.')); - DI::baseUrl()->redirect('profile/' . DI::app()->getUserNickname()); + DI::baseUrl()->redirect('profile/' . DI::app()->getLoggedInUserNickname()); } $Image = Photo::getImageForPhoto($photos[0]); diff --git a/src/Module/Settings/Profile/Photo/Index.php b/src/Module/Settings/Profile/Photo/Index.php index 3b4d33a01b..1584fe8f63 100644 --- a/src/Module/Settings/Profile/Photo/Index.php +++ b/src/Module/Settings/Profile/Photo/Index.php @@ -133,7 +133,7 @@ class Index extends BaseSettings DI::l10n()->t('or'), ($newuser) ? '' . DI::l10n()->t('skip this step') . '' - : '' + : '' . DI::l10n()->t('select a photo from your photo albums') . '' ), ]); diff --git a/src/Module/Settings/UserExport.php b/src/Module/Settings/UserExport.php index fe3dd26905..03519b1130 100644 --- a/src/Module/Settings/UserExport.php +++ b/src/Module/Settings/UserExport.php @@ -100,17 +100,17 @@ class UserExport extends BaseSettings switch ($action) { case "backup": header("Content-type: application/json"); - header('Content-Disposition: attachment; filename="' . DI::app()->getUserNickname() . '.' . $action . '"'); + header('Content-Disposition: attachment; filename="' . DI::app()->getLoggedInUserNickname() . '.' . $action . '"'); self::exportAll(local_user()); break; case "account": header("Content-type: application/json"); - header('Content-Disposition: attachment; filename="' . DI::app()->getUserNickname() . '.' . $action . '"'); + header('Content-Disposition: attachment; filename="' . DI::app()->getLoggedInUserNickname() . '.' . $action . '"'); self::exportAccount(local_user()); break; case "contact": header("Content-type: application/csv"); - header('Content-Disposition: attachment; filename="' . DI::app()->getUserNickname() . '-contacts.csv' . '"'); + header('Content-Disposition: attachment; filename="' . DI::app()->getLoggedInUserNickname() . '-contacts.csv' . '"'); self::exportContactsAsCSV(local_user()); break; } diff --git a/src/Object/EMail/ItemCCEMail.php b/src/Object/EMail/ItemCCEMail.php index ddaf766080..1fa2e94d77 100644 --- a/src/Object/EMail/ItemCCEMail.php +++ b/src/Object/EMail/ItemCCEMail.php @@ -41,14 +41,14 @@ class ItemCCEMail extends Email $disclaimer = '
' . $l10n->t('This message was sent to you by %s, a member of the Friendica social network.', $user['username']) . '
'; - $disclaimer .= $l10n->t('You may visit them online at %s', $baseUrl . '/profile/' . $a->getUserNickname()) . EOL; + $disclaimer .= $l10n->t('You may visit them online at %s', $baseUrl . '/profile/' . $a->getLoggedInUserNickname()) . 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.', $user['username']), 'UTF-8'); } - $link = '' . $user['username'] . '

'; + $link = '' . $user['username'] . '

'; $html = Item::prepareBody($item); $message = '' . $link . $html . $disclaimer . '';; diff --git a/view/theme/vier/theme.php b/view/theme/vier/theme.php index c810aff1cb..e357f2c043 100644 --- a/view/theme/vier/theme.php +++ b/view/theme/vier/theme.php @@ -27,7 +27,7 @@ function vier_init(App $a) $args = DI::args(); - if ($args->get(0) === 'profile' && $args->get(1) === ($a->getUserNickname() ?? '') || $args->get(0) === 'network' && local_user() + if ($args->get(0) === 'profile' && $args->get(1) === ($a->getLoggedInUserNickname() ?? '') || $args->get(0) === 'network' && local_user() ) { vier_community_info(); From c81e81dc8d96ffc42548fdcd2ca6887a1a847837 Mon Sep 17 00:00:00 2001 From: Michael Date: Mon, 9 Aug 2021 20:33:46 +0000 Subject: [PATCH 09/10] "getUserId" is now "getLoggedInUserId" --- boot.php | 2 +- include/conversation.php | 2 +- mod/events.php | 2 +- mod/follow.php | 2 +- mod/ostatus_subscribe.php | 2 +- mod/photos.php | 6 +++--- mod/removeme.php | 4 ++-- mod/repair_ostatus.php | 2 +- mod/settings.php | 6 +++--- src/App.php | 2 +- src/BaseModule.php | 4 ++-- src/Content/Nav.php | 2 +- src/Module/Contact/Poke.php | 2 +- src/Module/Conversation/Network.php | 4 ++-- src/Module/Delegation.php | 2 +- src/Module/Item/Compose.php | 2 +- src/Module/Profile/Status.php | 2 +- src/Module/Security/TwoFactor/Recovery.php | 2 +- src/Module/Security/TwoFactor/Verify.php | 2 +- src/Module/Settings/Profile/Index.php | 4 ++-- src/Object/EMail/ItemCCEMail.php | 2 +- src/Object/Post.php | 2 +- view/theme/frio/theme.php | 2 +- 23 files changed, 31 insertions(+), 31 deletions(-) diff --git a/boot.php b/boot.php index c71c16b354..7ee023b68a 100644 --- 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 && DBA::exists('user', ['uid' => $a->getUserId(), 'email' => $adminlist]); + return local_user() && $admin_email && DBA::exists('user', ['uid' => $a->getLoggedInUserId(), 'email' => $adminlist]); } /** diff --git a/include/conversation.php b/include/conversation.php index b545445e4b..684532345f 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -1071,7 +1071,7 @@ function status_editor(App $a, array $x = [], $notes_cid = 0, $popup = false) DI::profiler()->startRecording('rendering'); $o = ''; - $user = User::getById($a->getUserId(), ['uid', 'nickname', 'allow_location', 'default-location']); + $user = User::getById($a->getLoggedInUserId(), ['uid', 'nickname', 'allow_location', 'default-location']); $x['allow_location'] = $x['allow_location'] ?? $user['allow_location']; $x['default_location'] = $x['default_location'] ?? $user['default-location']; diff --git a/mod/events.php b/mod/events.php index e7c3ed36f1..ebb7d3f114 100644 --- a/mod/events.php +++ b/mod/events.php @@ -513,7 +513,7 @@ function events_content(App $a) $fminute = !empty($orig_event) ? DateTimeFormat::convert($fdt, $tz, 'UTC', 'i') : '00'; if (!$cid && in_array($mode, ['new', 'copy'])) { - $acl = ACL::getFullSelectorHTML(DI::page(), $a->getUserId(), false, ACL::getDefaultUserPermissions($orig_event)); + $acl = ACL::getFullSelectorHTML(DI::page(), $a->getLoggedInUserId(), false, ACL::getDefaultUserPermissions($orig_event)); } else { $acl = ''; } diff --git a/mod/follow.php b/mod/follow.php index d7b01e6192..075e58d091 100644 --- a/mod/follow.php +++ b/mod/follow.php @@ -175,7 +175,7 @@ function follow_process(App $a, string $url) { $return_path = 'follow?url=' . urlencode($url); - $result = Contact::createFromProbeForUser($a->getUserId(), $url); + $result = Contact::createFromProbeForUser($a->getLoggedInUserId(), $url); if ($result['success'] == false) { // Possibly it is a remote item and not an account diff --git a/mod/ostatus_subscribe.php b/mod/ostatus_subscribe.php index 9de27f52ed..57f8b9a738 100644 --- a/mod/ostatus_subscribe.php +++ b/mod/ostatus_subscribe.php @@ -111,7 +111,7 @@ function ostatus_subscribe_content(App $a) $probed = Contact::getByURL($url); if (in_array($probed['network'], Protocol::FEDERATED)) { - $result = Contact::createFromProbeForUser($a->getUserId(), $probed['url']); + $result = Contact::createFromProbeForUser($a->getLoggedInUserId(), $probed['url']); if ($result['success']) { $o .= ' - ' . DI::l10n()->t('success'); } else { diff --git a/mod/photos.php b/mod/photos.php index 1379ed12e6..4512921074 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -948,7 +948,7 @@ function photos_content(App $a) $tpl = Renderer::getMarkupTemplate('photos_upload.tpl'); - $aclselect_e = ($visitor ? '' : ACL::getFullSelectorHTML(DI::page(), $a->getUserId())); + $aclselect_e = ($visitor ? '' : ACL::getFullSelectorHTML(DI::page(), $a->getLoggedInUserId())); $o .= Renderer::replaceMacros($tpl,[ '$pagename' => DI::l10n()->t('Upload Photos'), @@ -961,7 +961,7 @@ function photos_content(App $a) '$albumselect' => $albumselect, '$permissions' => DI::l10n()->t('Permissions'), '$aclselect' => $aclselect_e, - '$lockstate' => ACL::getLockstateForUserId($a->getUserId()) ? 'lock' : 'unlock', + '$lockstate' => ACL::getLockstateForUserId($a->getLoggedInUserId()) ? '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 : ''), @@ -1307,7 +1307,7 @@ function photos_content(App $a) $album_e = $ph[0]['album']; $caption_e = $ph[0]['desc']; - $aclselect_e = ACL::getFullSelectorHTML(DI::page(), $a->getUserId(), false, ACL::getDefaultUserPermissions($ph[0])); + $aclselect_e = ACL::getFullSelectorHTML(DI::page(), $a->getLoggedInUserId(), false, ACL::getDefaultUserPermissions($ph[0])); $edit = Renderer::replaceMacros($edit_tpl, [ '$id' => $ph[0]['id'], diff --git a/mod/removeme.php b/mod/removeme.php index 5df3360655..bdc49ab745 100644 --- a/mod/removeme.php +++ b/mod/removeme.php @@ -69,8 +69,8 @@ function removeme_post(App $a) DI::emailer()->send($email); } - if (User::getIdFromPasswordAuthentication($a->getUserId(), trim($_POST['qxz_password']))) { - User::remove($a->getUserId()); + if (User::getIdFromPasswordAuthentication($a->getLoggedInUserId(), trim($_POST['qxz_password']))) { + User::remove($a->getLoggedInUserId()); unset($_SESSION['authenticated']); unset($_SESSION['uid']); diff --git a/mod/repair_ostatus.php b/mod/repair_ostatus.php index e201e60a4a..bc6b177f95 100644 --- a/mod/repair_ostatus.php +++ b/mod/repair_ostatus.php @@ -70,7 +70,7 @@ function repair_ostatus_content(App $a) { $o .= "

".DI::l10n()->t("Keep this window open until done.")."

"; - Contact::createFromProbeForUser($a->getUserId(), $r[0]["url"]); + Contact::createFromProbeForUser($a->getLoggedInUserId(), $r[0]["url"]); DI::page()['htmlhead'] = ''; diff --git a/mod/settings.php b/mod/settings.php index 378e25ed9f..ce556b8bf1 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -69,7 +69,7 @@ function settings_post(App $a) return; } - $user = User::getById($a->getUserId()); + $user = User::getById($a->getLoggedInUserId()); if ((DI::args()->getArgc() > 1) && (DI::args()->getArgv()[1] == 'connectors')) { BaseModule::checkFormSecurityTokenRedirectOnError('/settings/connectors', 'settings_connectors'); @@ -590,7 +590,7 @@ function settings_content(App $a) return; } - $user = User::getById($a->getUserId()); + $user = User::getById($a->getLoggedInUserId()); $username = $user['username']; $email = $user['email']; @@ -748,7 +748,7 @@ function settings_content(App $a) '$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(), $user['def_gid']), '$permissions' => DI::l10n()->t('Default Post Permissions'), - '$aclselect' => ACL::getFullSelectorHTML(DI::page(), $a->getUserId()), + '$aclselect' => ACL::getFullSelectorHTML(DI::page(), $a->getLoggedInUserId()), '$expire' => [ 'label' => DI::l10n()->t('Expiration settings'), diff --git a/src/App.php b/src/App.php index 3a952c7a33..69167e98f1 100644 --- a/src/App.php +++ b/src/App.php @@ -157,7 +157,7 @@ class App * Fetch the user id * @return int */ - public function getUserId() + public function getLoggedInUserId() { return $this->user_id; } diff --git a/src/BaseModule.php b/src/BaseModule.php index b812370fdf..d7ca5798de 100644 --- a/src/BaseModule.php +++ b/src/BaseModule.php @@ -136,7 +136,7 @@ abstract class BaseModule */ public static function getFormSecurityToken($typename = '') { - $user = User::getById(DI::app()->getUserId(), ['guid', 'prvkey']); + $user = User::getById(DI::app()->getLoggedInUserId(), ['guid', 'prvkey']); $timestamp = time(); $sec_hash = hash('whirlpool', ($user['guid'] ?? '') . ($user['prvkey'] ?? '') . session_id() . $timestamp . $typename); @@ -163,7 +163,7 @@ abstract class BaseModule $max_livetime = 10800; // 3 hours - $user = User::getById(DI::app()->getUserId(), ['guid', 'prvkey']); + $user = User::getById(DI::app()->getLoggedInUserId(), ['guid', 'prvkey']); $x = explode('.', $hash); if (time() > (intval($x[0]) + $max_livetime)) { diff --git a/src/Content/Nav.php b/src/Content/Nav.php index 56049fa16e..b9f61dacb2 100644 --- a/src/Content/Nav.php +++ b/src/Content/Nav.php @@ -195,7 +195,7 @@ class Nav $nav['usermenu'][] = ['notes/', DI::l10n()->t('Personal notes'), '', DI::l10n()->t('Your personal notes')]; // user info - $contact = DBA::selectFirst('contact', ['id', 'url', 'avatar', 'micro', 'name', 'nick', 'baseurl', 'updated'], ['uid' => $a->getUserId(), 'self' => true]); + $contact = DBA::selectFirst('contact', ['id', 'url', 'avatar', 'micro', 'name', 'nick', 'baseurl', 'updated'], ['uid' => $a->getLoggedInUserId(), 'self' => true]); $userinfo = [ 'icon' => Contact::getMicro($contact), 'name' => $contact['name'], diff --git a/src/Module/Contact/Poke.php b/src/Module/Contact/Poke.php index 01d3ec1385..d9dd7e27aa 100644 --- a/src/Module/Contact/Poke.php +++ b/src/Module/Contact/Poke.php @@ -55,7 +55,7 @@ class Poke extends BaseModule $private = !empty($_POST['private']) ? Model\Item::PRIVATE : Model\Item::PUBLIC; - $user = Model\User::getById($a->getUserId()); + $user = Model\User::getById($a->getLoggedInUserId()); $allow_cid = ($private ? '<' . $contact['id']. '>' : $user['allow_cid']); $allow_gid = ($private ? '' : $user['allow_gid']); $deny_cid = ($private ? '' : $user['deny_cid']); diff --git a/src/Module/Conversation/Network.php b/src/Module/Conversation/Network.php index 1e97894cb8..d9f34e3e83 100644 --- a/src/Module/Conversation/Network.php +++ b/src/Module/Conversation/Network.php @@ -139,8 +139,8 @@ class Network extends BaseModule } $x = [ - 'lockstate' => self::$groupId || self::$forumContactId || self::$network || ACL::getLockstateForUserId($a->getUserId()) ? 'lock' : 'unlock', - 'acl' => ACL::getFullSelectorHTML(DI::page(), $a->getUserId(), true, $default_permissions), + 'lockstate' => self::$groupId || self::$forumContactId || self::$network || ACL::getLockstateForUserId($a->getLoggedInUserId()) ? 'lock' : 'unlock', + 'acl' => ACL::getFullSelectorHTML(DI::page(), $a->getLoggedInUserId(), true, $default_permissions), 'bang' => ((self::$groupId || self::$forumContactId || self::$network) ? '!' : ''), 'content' => $content, ]; diff --git a/src/Module/Delegation.php b/src/Module/Delegation.php index cd3f50f59f..45f7fc57d2 100644 --- a/src/Module/Delegation.php +++ b/src/Module/Delegation.php @@ -45,7 +45,7 @@ class Delegation extends BaseModule } $uid = local_user(); - $orig_record = User::getById(DI::app()->getUserId()); + $orig_record = User::getById(DI::app()->getLoggedInUserId()); if (Session::get('submanage')) { $user = User::getById(Session::get('submanage')); diff --git a/src/Module/Item/Compose.php b/src/Module/Item/Compose.php index b7e6bce7de..29fdbea746 100644 --- a/src/Module/Item/Compose.php +++ b/src/Module/Item/Compose.php @@ -186,7 +186,7 @@ class Compose extends BaseModule '$jotplugins' => $jotplugins, '$rand_num' => Crypto::randomDigits(12), - '$acl_selector' => ACL::getFullSelectorHTML(DI::page(), $a->getUserId(), $doesFederate, [ + '$acl_selector' => ACL::getFullSelectorHTML(DI::page(), $a->getLoggedInUserId(), $doesFederate, [ 'allow_cid' => $contact_allow_list, 'allow_gid' => $group_allow_list, 'deny_cid' => $contact_deny_list, diff --git a/src/Module/Profile/Status.php b/src/Module/Profile/Status.php index b60fb2cdb6..c6a9e272a9 100644 --- a/src/Module/Profile/Status.php +++ b/src/Module/Profile/Status.php @@ -127,7 +127,7 @@ class Status extends BaseProfile 'allow_location' => ($is_owner || $commvisitor) && $profile['allow_location'], 'default_location' => $is_owner ? $profile['default-location'] : '', 'nickname' => $profile['nickname'], - 'acl' => $is_owner ? ACL::getFullSelectorHTML(DI::page(), $a->getUserId(), true) : '', + 'acl' => $is_owner ? ACL::getFullSelectorHTML(DI::page(), $a->getLoggedInUserId(), true) : '', 'visitor' => $is_owner || $commvisitor ? 'block' : 'none', 'profile_uid' => $profile['uid'], ]; diff --git a/src/Module/Security/TwoFactor/Recovery.php b/src/Module/Security/TwoFactor/Recovery.php index 9faab40705..d93146cb6c 100644 --- a/src/Module/Security/TwoFactor/Recovery.php +++ b/src/Module/Security/TwoFactor/Recovery.php @@ -60,7 +60,7 @@ class Recovery extends BaseModule Session::set('2fa', true); info(DI::l10n()->t('Remaining recovery codes: %d', RecoveryCode::countValidForUser(local_user()))); - DI::auth()->setForUser($a, User::getById($a->getUserId()), true, true); + DI::auth()->setForUser($a, User::getById($a->getLoggedInUserId()), true, true); } else { notice(DI::l10n()->t('Invalid code, please retry.')); } diff --git a/src/Module/Security/TwoFactor/Verify.php b/src/Module/Security/TwoFactor/Verify.php index bb3e444a93..22c757b82d 100644 --- a/src/Module/Security/TwoFactor/Verify.php +++ b/src/Module/Security/TwoFactor/Verify.php @@ -71,7 +71,7 @@ class Verify extends BaseModule } // Resume normal login workflow - DI::auth()->setForUser($a, User::getById($a->getUserId()), true, true); + DI::auth()->setForUser($a, User::getById($a->getLoggedInUserId()), true, true); } else { self::$errors[] = DI::l10n()->t('Invalid code, please retry.'); } diff --git a/src/Module/Settings/Profile/Index.php b/src/Module/Settings/Profile/Index.php index adf6fff974..b5f7ef3500 100644 --- a/src/Module/Settings/Profile/Index.php +++ b/src/Module/Settings/Profile/Index.php @@ -171,7 +171,7 @@ class Index extends BaseSettings 'value' => ['profile_field[' . $profileField->id . '][value]', DI::l10n()->t('Value:'), $profileField->value], 'acl' => ACL::getFullSelectorHTML( DI::page(), - $a->getUserId(), + $a->getLoggedInUserId(), false, $defaultPermissions, ['network' => Protocol::DFRN], @@ -191,7 +191,7 @@ class Index extends BaseSettings 'value' => ['profile_field[new][value]', DI::l10n()->t('Value:')], 'acl' => ACL::getFullSelectorHTML( DI::page(), - $a->getUserId(), + $a->getLoggedInUserId(), false, ['allow_cid' => []], ['network' => Protocol::DFRN], diff --git a/src/Object/EMail/ItemCCEMail.php b/src/Object/EMail/ItemCCEMail.php index 1fa2e94d77..199a6bad1a 100644 --- a/src/Object/EMail/ItemCCEMail.php +++ b/src/Object/EMail/ItemCCEMail.php @@ -37,7 +37,7 @@ class ItemCCEMail extends Email { public function __construct(App $a, L10n $l10n, BaseURL $baseUrl, array $item, string $toAddress, string $authorThumb) { - $user = User::getById($a->getUserId()); + $user = User::getById($a->getLoggedInUserId()); $disclaimer = '
' . $l10n->t('This message was sent to you by %s, a member of the Friendica social network.', $user['username']) . '
'; diff --git a/src/Object/Post.php b/src/Object/Post.php index 8ffe4bbafd..dcb7ad208b 100644 --- a/src/Object/Post.php +++ b/src/Object/Post.php @@ -870,7 +870,7 @@ class Post return ''; } - $owner = User::getOwnerDataById($a->getUserId()); + $owner = User::getOwnerDataById($a->getLoggedInUserId()); if (!Feature::isEnabled(local_user(), 'explicit_mentions')) { return ''; diff --git a/view/theme/frio/theme.php b/view/theme/frio/theme.php index 446aa6acdc..5304d3fd46 100644 --- a/view/theme/frio/theme.php +++ b/view/theme/frio/theme.php @@ -202,7 +202,7 @@ function frio_remote_nav(App $a, array &$nav_info) // this isn't optimal because the contact query will be done now twice $fields = ['id', 'url', 'avatar', 'micro', 'name', 'nick', 'baseurl', 'updated']; if ($a->isLoggedIn()) { - $remoteUser = Contact::selectFirst($fields, ['uid' => $a->getUserId(), 'self' => true]); + $remoteUser = Contact::selectFirst($fields, ['uid' => $a->getLoggedInUserId(), 'self' => true]); } elseif (!local_user() && remote_user()) { $remoteUser = Contact::getById(remote_user(), $fields); $nav_info['nav']['remote'] = DI::l10n()->t('Guest'); From 28cfdec7c44c17e4a8483959d69bcfa198510f82 Mon Sep 17 00:00:00 2001 From: Michael Date: Mon, 9 Aug 2021 20:56:15 +0000 Subject: [PATCH 10/10] Some more renamed functions --- src/App.php | 4 ++-- src/Security/Authentication.php | 4 ++-- tests/legacy/ApiTest.php | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/App.php b/src/App.php index 69167e98f1..6e9f7c3184 100644 --- a/src/App.php +++ b/src/App.php @@ -132,7 +132,7 @@ class App * @param int $user_id * @return void */ - public function setUserId(int $user_id) + public function setLoggedInUserId(int $user_id) { $this->user_id = $user_id; } @@ -143,7 +143,7 @@ class App * @param int $user_id * @return void */ - public function setNickname(string $nickname) + public function setLoggedInUserNickname(string $nickname) { $this->nickname = $nickname; } diff --git a/src/Security/Authentication.php b/src/Security/Authentication.php index 074cfc2bae..e894c6ddaf 100644 --- a/src/Security/Authentication.php +++ b/src/Security/Authentication.php @@ -352,8 +352,8 @@ class Authentication } } - $a->setUserId($user_record['uid']); - $a->setNickname($user_record['nickname']); + $a->setLoggedInUserId($user_record['uid']); + $a->setLoggedInUserNickname($user_record['nickname']); if ($login_initial) { Hook::callAll('logged_in', $user_record); diff --git a/tests/legacy/ApiTest.php b/tests/legacy/ApiTest.php index 2e6d49ebf2..eaf596fb6a 100644 --- a/tests/legacy/ApiTest.php +++ b/tests/legacy/ApiTest.php @@ -1949,7 +1949,7 @@ class ApiTest extends FixtureTest */ public function testApiStatusesMentions() { - $this->app->setNickname($this->selfUser['nick']); + $this->app->setLoggedInUserNickname($this->selfUser['nick']); $_REQUEST['max_id'] = 10; $result = api_statuses_mentions('json'); self::assertEmpty($result['status']); @@ -2865,7 +2865,7 @@ class ApiTest extends FixtureTest */ public function testApiDirectMessagesNewWithScreenName() { - $this->app->setNickname($this->selfUser['nick']); + $this->app->setLoggedInUserNickname($this->selfUser['nick']); $_POST['text'] = 'message_text'; $_POST['screen_name'] = $this->friendUser['nick']; $result = api_direct_messages_new('json'); @@ -2881,7 +2881,7 @@ class ApiTest extends FixtureTest */ public function testApiDirectMessagesNewWithTitle() { - $this->app->setNickname($this->selfUser['nick']); + $this->app->setLoggedInUserNickname($this->selfUser['nick']); $_POST['text'] = 'message_text'; $_POST['screen_name'] = $this->friendUser['nick']; $_REQUEST['title'] = 'message_title'; @@ -2899,7 +2899,7 @@ class ApiTest extends FixtureTest */ public function testApiDirectMessagesNewWithRss() { - $this->app->setNickname($this->selfUser['nick']); + $this->app->setLoggedInUserNickname($this->selfUser['nick']); $_POST['text'] = 'message_text'; $_POST['screen_name'] = $this->friendUser['nick']; $result = api_direct_messages_new('rss');