X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fdfrn_request.php;h=0be8403c2bfbec4031a5ae57adde17be2b5c49e9;hb=221a659abeaf3bda3cefd88c80d1b7814f168f3e;hp=001735ea82cda7473904d9de37ead6a421114254;hpb=5dfee31108fc92a7abca5f99b8fdf1b34aec5dd5;p=friendica.git diff --git a/mod/dfrn_request.php b/mod/dfrn_request.php index 001735ea82..0be8403c2b 100644 --- a/mod/dfrn_request.php +++ b/mod/dfrn_request.php @@ -1,11 +1,23 @@ . + * + *Handles communication associated with the issuance of friend requests. * * @see PDF with dfrn specs: https://github.com/friendica/friendica/blob/master/spec/dfrn2.pdf * You also find a graphic which describes the confirmation process at @@ -13,8 +25,6 @@ */ use Friendica\App; -use Friendica\Core\Config; -use Friendica\Core\L10n; use Friendica\Core\Logger; use Friendica\Core\Protocol; use Friendica\Core\Renderer; @@ -25,6 +35,7 @@ use Friendica\Database\DBA; use Friendica\DI; use Friendica\Model\Contact; use Friendica\Model\Group; +use Friendica\Model\Notify\Type; use Friendica\Model\Profile; use Friendica\Model\User; use Friendica\Module\Security\Login; @@ -64,8 +75,8 @@ function dfrn_request_init(App $a) */ function dfrn_request_post(App $a) { - if (($a->argc != 2) || (!count($a->profile))) { - Logger::log('Wrong count of argc or profiles: argc=' . $a->argc . ',profile()=' . count($a->profile)); + if ($a->argc != 2 || empty($a->profile)) { + Logger::log('Wrong count of argc or profiles: argc=' . $a->argc . ', profile()=' . count($a->profile ?? [])); return; } @@ -128,7 +139,7 @@ function dfrn_request_post(App $a) } $invalid = Probe::validDfrn($parms); if ($invalid) { - notice(L10n::tt("%d required parameter was not found at the given location", "%d required parameters were not found at the given location", $invalid) . EOL); + notice(DI::l10n()->tt("%d required parameter was not found at the given location", "%d required parameters were not found at the given location", $invalid) . EOL); return; } } @@ -228,7 +239,7 @@ function dfrn_request_post(App $a) * in $a->argv[1] and we should have their complete info in $a->profile. * */ - if (!(is_array($a->profile) && count($a->profile))) { + if (empty($a->profile['uid'])) { notice(DI::l10n()->t('Profile unavailable.') . EOL); return; } @@ -366,7 +377,7 @@ function dfrn_request_post(App $a) } $invalid = Probe::validDfrn($parms); if ($invalid) { - notice(L10n::tt("%d required parameter was not found at the given location", "%d required parameters were not found at the given location", $invalid) . EOL); + notice(DI::l10n()->tt("%d required parameter was not found at the given location", "%d required parameters were not found at the given location", $invalid) . EOL); return; } @@ -456,15 +467,9 @@ function dfrn_request_post(App $a) // Diaspora needs the uri in the format user@domain.tld // Diaspora will support the remote subscription in a future version if ($network == Protocol::DIASPORA) { - $uri = $nickname . '@' . DI::baseUrl()->getHostname(); - - if (DI::baseUrl()->getUrlPath()) { - $uri .= '/' . DI::baseUrl()->getUrlPath(); - } - - $uri = urlencode($uri); + $uri = urlencode($a->profile['addr']); } else { - $uri = 'profile/' . $nickname; + $uri = urlencode($a->profile['url']); } $url = str_replace('{uri}', $uri, $url); @@ -554,7 +559,7 @@ function dfrn_request_content(App $a) if (!$auto_confirm) { notification([ - 'type' => NOTIFY_INTRO, + 'type' => Type::INTRO, 'notify_flags' => $r[0]['notify-flags'], 'language' => $r[0]['language'], 'to_name' => $r[0]['username'], @@ -596,8 +601,8 @@ function dfrn_request_content(App $a) exit(); } else { // Normal web request. Display our user's introduction form. - if (Config::get('system', 'block_public') && !Session::isAuthenticated()) { - if (!Config::get('system', 'local_block')) { + if (DI::config()->get('system', 'block_public') && !Session::isAuthenticated()) { + if (!DI::config()->get('system', 'local_block')) { notice(DI::l10n()->t('Public access denied.') . EOL); return; } @@ -633,28 +638,21 @@ function dfrn_request_content(App $a) $tpl = Renderer::getMarkupTemplate('auto_request.tpl'); } - $page_desc = DI::l10n()->t("Please enter your 'Identity Address' from one of the following supported communications networks:"); - - $invite_desc = DI::l10n()->t('If you are not yet a member of the free social web, follow this link to find a public Friendica site and join us today.', Search::getGlobalDirectory() . '/servers'); - $o = Renderer::replaceMacros($tpl, [ - '$header' => DI::l10n()->t('Friend/Connection Request'), - '$desc' => DI::l10n()->t('Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@gnusocial.de'), - '$pls_answer' => DI::l10n()->t('Please answer the following:'), - '$does_know_you' => ['knowyou', DI::l10n()->t('Does %s know you?', $a->profile['name']), false, '', [DI::l10n()->t('No'), DI::l10n()->t('Yes')]], - '$add_note' => DI::l10n()->t('Add a personal note:'), - '$page_desc' => $page_desc, - '$friendica' => DI::l10n()->t('Friendica'), - '$statusnet' => DI::l10n()->t("GNU Social \x28Pleroma, Mastodon\x29"), - '$diaspora' => DI::l10n()->t("Diaspora \x28Socialhome, Hubzilla\x29"), - '$diasnote' => DI::l10n()->t(' - please do not use this form. Instead, enter %s into your Diaspora search bar.', $target_addr), - '$your_address' => DI::l10n()->t('Your Identity Address:'), - '$invite_desc' => $invite_desc, - '$submit' => DI::l10n()->t('Submit Request'), - '$cancel' => DI::l10n()->t('Cancel'), - '$nickname' => $a->argv[1], - '$name' => $a->profile['name'], - '$myaddr' => $myaddr + '$header' => DI::l10n()->t('Friend/Connection Request'), + '$page_desc' => DI::l10n()->t('Enter your Webfinger address (user@domain.tld) or profile URL here. If this isn\'t supported by your system (for example it doesn\'t work with Diaspora), you have to subscribe to %s directly on your system', $target_addr), + '$invite_desc' => DI::l10n()->t('If you are not yet a member of the free social web, follow this link to find a public Friendica node and join us today.', Search::getGlobalDirectory() . '/servers'), + '$your_address' => DI::l10n()->t('Your Webfinger address or profile URL:'), + '$pls_answer' => DI::l10n()->t('Please answer the following:'), + '$submit' => DI::l10n()->t('Submit Request'), + '$cancel' => DI::l10n()->t('Cancel'), + + '$request' => 'dfrn_request/' . $a->argv[1], + '$name' => $a->profile['name'], + '$myaddr' => $myaddr, + + '$does_know_you' => ['knowyou', DI::l10n()->t('%s knows you', $a->profile['name'])], + '$addnote_field' => ['dfrn-request-message', DI::l10n()->t('Add a personal note:')], ]); return $o; }