diff --git a/mod/ostatus_subscribe.php b/mod/ostatus_subscribe.php deleted file mode 100644 index 5344ed8451..0000000000 --- a/mod/ostatus_subscribe.php +++ /dev/null @@ -1,131 +0,0 @@ -. - * - */ - -use Friendica\App; -use Friendica\Core\Protocol; -use Friendica\DI; -use Friendica\Model\APContact; -use Friendica\Model\Contact; -use Friendica\Network\HTTPClient\Client\HttpClientAccept; -use Friendica\Protocol\ActivityPub; - -function ostatus_subscribe_content(App $a): string -{ - if (!DI::userSession()->getLocalUserId()) { - DI::sysmsg()->addNotice(DI::l10n()->t('Permission denied.')); - DI::baseUrl()->redirect('ostatus_subscribe'); - // NOTREACHED - } - - $o = '

' . DI::l10n()->t('Subscribing to contacts') . '

'; - - $uid = DI::userSession()->getLocalUserId(); - - $counter = intval($_REQUEST['counter'] ?? 0); - - if (DI::pConfig()->get($uid, 'ostatus', 'legacy_friends') == '') { - if ($_REQUEST['url'] == '') { - DI::pConfig()->delete($uid, 'ostatus', 'legacy_contact'); - return $o . DI::l10n()->t('No contact provided.'); - } - - $contact = Contact::getByURL($_REQUEST['url']); - if (!$contact) { - DI::pConfig()->delete($uid, 'ostatus', 'legacy_contact'); - return $o . DI::l10n()->t('Couldn\'t fetch information for contact.'); - } - - if ($contact['network'] == Protocol::OSTATUS) { - $api = $contact['baseurl'] . '/api/'; - - // Fetching friends - $curlResult = DI::httpClient()->get($api . 'statuses/friends.json?screen_name=' . $contact['nick'], HttpClientAccept::JSON); - - if (!$curlResult->isSuccess()) { - DI::pConfig()->delete($uid, 'ostatus', 'legacy_contact'); - return $o . DI::l10n()->t('Couldn\'t fetch friends for contact.'); - } - - $friends = $curlResult->getBody(); - if (empty($friends)) { - DI::pConfig()->delete($uid, 'ostatus', 'legacy_contact'); - return $o . DI::l10n()->t('Couldn\'t fetch following contacts.'); - } - DI::pConfig()->set($uid, 'ostatus', 'legacy_friends', $friends); - } elseif ($apcontact = APContact::getByURL($contact['url'])) { - if (empty($apcontact['following'])) { - DI::pConfig()->delete($uid, 'ostatus', 'legacy_contact'); - return $o . DI::l10n()->t('Couldn\'t fetch remote profile.'); - } - $followings = ActivityPub::fetchItems($apcontact['following']); - if (empty($followings)) { - DI::pConfig()->delete($uid, 'ostatus', 'legacy_contact'); - return $o . DI::l10n()->t('Couldn\'t fetch following contacts.'); - } - DI::pConfig()->set($uid, 'ostatus', 'legacy_friends', json_encode($followings)); - } else { - DI::pConfig()->delete($uid, 'ostatus', 'legacy_contact'); - return $o . DI::l10n()->t('Unsupported network'); - } - } - - $friends = json_decode(DI::pConfig()->get($uid, 'ostatus', 'legacy_friends')); - - if (empty($friends)) { - $friends = []; - } - - $total = sizeof($friends); - - if ($counter >= $total) { - DI::page()['htmlhead'] = ''; - DI::pConfig()->delete($uid, 'ostatus', 'legacy_friends'); - DI::pConfig()->delete($uid, 'ostatus', 'legacy_contact'); - $o .= DI::l10n()->t('Done'); - return $o; - } - - $friend = $friends[$counter++]; - - $url = $friend->statusnet_profile_url ?? $friend; - - $o .= '

' . $counter . '/' . $total . ': ' . $url; - - $probed = Contact::getByURL($url); - if (in_array($probed['network'], Protocol::FEDERATED)) { - $result = Contact::createFromProbeForUser($a->getLoggedInUserId(), $probed['url']); - if ($result['success']) { - $o .= ' - ' . DI::l10n()->t('success'); - } else { - $o .= ' - ' . DI::l10n()->t('failed'); - } - } else { - $o .= ' - ' . DI::l10n()->t('ignored'); - } - - $o .= '

'; - - $o .= '

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

'; - - DI::page()['htmlhead'] = ''; - - return $o; -}