]> git.mxchange.org Git - friendica.git/blobdiff - mod/follow.php
Replace "notice" calls
[friendica.git] / mod / follow.php
index 86f72671269184f062ba79af6716c38440381770..b6ffe2ef0a9c45d48571250996919212b6b89d19 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2010-2021, the Friendica project
+ * @copyright Copyright (C) 2010-2022, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
@@ -53,15 +53,14 @@ function follow_content(App $a)
        $return_path = 'contact';
 
        if (!local_user()) {
-               notice(DI::l10n()->t('Permission denied.'));
+               DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
                DI::baseUrl()->redirect($return_path);
                // NOTREACHED
        }
 
        $uid = local_user();
 
-       // Issue 4815: Silently removing a prefixing @
-       $url = ltrim(Strings::escapeTags(trim($_REQUEST['url'] ?? '')), '@!');
+       $url = Probe::cleanURI(trim($_REQUEST['url'] ?? ''));
 
        // Issue 6874: Allow remote following from Peertube
        if (strpos($url, 'acct:') === 0) {
@@ -82,7 +81,7 @@ function follow_content(App $a)
 
        if (DBA::isResult($user_contact)) {
                if ($user_contact['pending']) {
-                       notice(DI::l10n()->t('You already added this contact.'));
+                       DI::sysmsg()->addNotice(DI::l10n()->t('You already added this contact.'));
                        $submit = '';
                }
        }
@@ -98,7 +97,7 @@ function follow_content(App $a)
                // Possibly it is a remote item and not an account
                follow_remote_item($url);
 
-               notice(DI::l10n()->t("The network type couldn't be detected. Contact can't be added."));
+               DI::sysmsg()->addNotice(DI::l10n()->t("The network type couldn't be detected. Contact can't be added."));
                $submit = '';
                $contact = ['url' => $url, 'network' => Protocol::PHANTOM, 'name' => $url, 'keywords' => ''];
        }
@@ -106,12 +105,12 @@ function follow_content(App $a)
        $protocol = Contact::getProtocol($contact['url'], $contact['network']);
 
        if (($protocol == Protocol::DIASPORA) && !DI::config()->get('system', 'diaspora_enabled')) {
-               notice(DI::l10n()->t("Diaspora support isn't enabled. Contact can't be added."));
+               DI::sysmsg()->addNotice(DI::l10n()->t("Diaspora support isn't enabled. Contact can't be added."));
                $submit = '';
        }
 
        if (($protocol == Protocol::OSTATUS) && DI::config()->get('system', 'ostatus_disabled')) {
-               notice(DI::l10n()->t("OStatus support is disabled. Contact can't be added."));
+               DI::sysmsg()->addNotice(DI::l10n()->t("OStatus support is disabled. Contact can't be added."));
                $submit = '';
        }
 
@@ -128,7 +127,7 @@ function follow_content(App $a)
 
        $owner = User::getOwnerDataById($uid);
        if (empty($owner)) {
-               notice(DI::l10n()->t('Permission denied.'));
+               DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.'));
                DI::baseUrl()->redirect($return_path);
                // NOTREACHED
        }
@@ -157,8 +156,8 @@ function follow_content(App $a)
 
        DI::page()['aside'] = '';
 
-       if ($protocol != Protocol::PHANTOM) {
-               DI::page()['aside'] = Widget\VCard::getHTML(Contact::getByURL($contact['url'], false));
+       if (!in_array($protocol, [Protocol::PHANTOM, Protocol::MAIL])) {
+               DI::page()['aside'] = Widget\VCard::getHTML($contact);
 
                $o .= Renderer::replaceMacros(Renderer::getMarkupTemplate('section_title.tpl'),
                        ['$title' => DI::l10n()->t('Status Messages and Posts')]
@@ -175,21 +174,21 @@ function follow_process(App $a, string $url)
 {
        $return_path = 'follow?url=' . urlencode($url);
 
-       $result = Contact::createFromProbe($a->user, $url, true);
+       $result = Contact::createFromProbeForUser($a->getLoggedInUserId(), $url);
 
        if ($result['success'] == false) {
                // Possibly it is a remote item and not an account
                follow_remote_item($url);
 
                if ($result['message']) {
-                       notice($result['message']);
+                       DI::sysmsg()->addNotice($result['message']);
                }
                DI::baseUrl()->redirect($return_path);
        } elseif ($result['cid']) {
                DI::baseUrl()->redirect('contact/' . $result['cid']);
        }
 
-       notice(DI::l10n()->t('The contact could not be added.'));
+       DI::sysmsg()->addNotice(DI::l10n()->t('The contact could not be added.'));
 
        DI::baseUrl()->redirect($return_path);
 }