X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModule%2FRemoteFollow.php;h=274ed3d06d63a5cbc74d3bc15187bcdb8897db29;hb=1b273e25b546e09426cb223ce7c534b5b66c9995;hp=b261fe7577fbbe781c515e1ffeb67ef8ce64d603;hpb=01640a7045e146759bc936dd499ac27738b78940;p=friendica.git diff --git a/src/Module/RemoteFollow.php b/src/Module/RemoteFollow.php index b261fe7577..274ed3d06d 100644 --- a/src/Module/RemoteFollow.php +++ b/src/Module/RemoteFollow.php @@ -28,6 +28,7 @@ use Friendica\Core\Protocol; use Friendica\Core\Renderer; use Friendica\Core\Search; use Friendica\Core\System; +use Friendica\Model\Contact; use Friendica\Model\Profile; use Friendica\Network\Probe; @@ -54,30 +55,27 @@ class RemoteFollow extends BaseModule return; } - $url = trim($_POST['dfrn_url']); + $url = Probe::cleanURI($_POST['dfrn_url']); if (!strlen($url)) { notice(DI::l10n()->t("Invalid locator")); return; } // Detect the network, make sure the provided URL is valid - $data = Probe::uri($url); - if ($data['network'] == Protocol::PHANTOM) { + $data = Contact::getByURL($url); + if (!$data) { notice(DI::l10n()->t("The provided profile link doesn't seem to be valid")); return; } - // Fetch link for the "remote follow" functionality of the given profile - $follow_link_template = Probe::getRemoteFollowLink($url); - - if (empty($follow_link_template)) { + if (empty($data['subscribe'])) { notice(DI::l10n()->t("Remote subscription can't be done for your network. Please subscribe directly on your system.")); return; } - Logger::notice('Remote request', ['url' => $url, 'follow' => $a->profile['url'], 'remote' => $follow_link_template]); + Logger::notice('Remote request', ['url' => $url, 'follow' => $a->profile['url'], 'remote' => $data['subscribe']]); - // Substitute our user's feed URL into $follow_link_template + // Substitute our user's feed URL into $data['subscribe'] // Send the subscriber home to subscribe // Diaspora needs the uri in the format user@domain.tld if ($data['network'] == Protocol::DIASPORA) { @@ -86,7 +84,7 @@ class RemoteFollow extends BaseModule $uri = urlencode($a->profile['url']); } - $follow_link = str_replace('{uri}', $uri, $follow_link_template); + $follow_link = str_replace('{uri}', $uri, $data['subscribe']); System::externalRedirect($follow_link); }