X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FCore%2FProtocol.php;h=860ac26be68beff9ecfe1d9b01d9b2b5105574e0;hb=1701ea2034feb1cb8b7cce8455ff8e3c1f8875c6;hp=949e2350c3be85ceb72f93d0ad756cb8d2936b84;hpb=9c9ebfc7c97016881d9ad2bb3c3b54a5640d2f08;p=friendica.git diff --git a/src/Core/Protocol.php b/src/Core/Protocol.php index 949e2350c3..860ac26be6 100644 --- a/src/Core/Protocol.php +++ b/src/Core/Protocol.php @@ -1,37 +1,59 @@ . + * */ + namespace Friendica\Core; -use Friendica\Util\Network; +use Friendica\DI; /** * Manage compatibility with federated networks - * - * @author Hypolite Petovan */ class Protocol { // Native support - const ACTIVITYPUB = 'apub'; // ActivityPub + const ACTIVITYPUB = 'apub'; // ActivityPub (Pleroma, Mastodon, Osada, ...) const DFRN = 'dfrn'; // Friendica, Mistpark, other DFRN implementations - const DIASPORA = 'dspr'; // Diaspora + const DIASPORA = 'dspr'; // Diaspora, Hubzilla, Socialhome, Ganggo const FEED = 'feed'; // RSS/Atom feeds with no known "post/notify" protocol const MAIL = 'mail'; // IMAP/POP - const OSTATUS = 'stat'; // GNU-social, Pleroma, Mastodon, other OStatus implementations + const OSTATUS = 'stat'; // GNU Social and other OStatus implementations const NATIVE_SUPPORT = [self::DFRN, self::DIASPORA, self::OSTATUS, self::FEED, self::MAIL, self::ACTIVITYPUB]; + const FEDERATED = [self::DFRN, self::DIASPORA, self::OSTATUS, self::ACTIVITYPUB]; + + const SUPPORT_PRIVATE = [self::DFRN, self::DIASPORA, self::MAIL, self::ACTIVITYPUB, self::PUMPIO]; + // Supported through a connector - const APPNET = 'apdn'; // app.net - Dead protocol const DIASPORA2 = 'dspc'; // Diaspora connector - const FACEBOOK = 'face'; // Facebook API - const GPLUS = 'goog'; // Google+ const LINKEDIN = 'lnkd'; // LinkedIn const PUMPIO = 'pump'; // pump.io const STATUSNET = 'stac'; // Statusnet connector const TWITTER = 'twit'; // Twitter + const DISCOURSE = 'dscs'; // Discourse + + // Dead protocols + const APPNET = 'apdn'; // app.net - Dead protocol + const FACEBOOK = 'face'; // Facebook API - Not working anymore, API is closed + const GPLUS = 'goog'; // Google+ - Dead in 2019 // Currently unsupported const ICALENDAR = 'ical'; // iCalendar @@ -48,7 +70,7 @@ class Protocol * * @param string $profile_url * @return string - * @throws Exception + * @throws \Exception */ public static function getAddrFromProfileUrl($profile_url) { @@ -67,8 +89,8 @@ class Protocol * Guesses the network from a profile URL * * @param string $profile_url - * @param array $matches preg_match return array: [0] => Full match [1] => hostname [2] => username - * @return type + * @param array $matches preg_match return array: [0] => Full match [1] => hostname [2] => username + * @return string */ public static function matchByProfileUrl($profile_url, &$matches = []) { @@ -100,7 +122,7 @@ class Protocol if (preg_match('=https?://(.*)/user/(.*)=ism', $profile_url, $matches)) { $statusnet_host = $matches[1]; $statusnet_user = $matches[2]; - $UserData = Network::fetchUrl('http://' . $statusnet_host . '/api/users/show.json?user_id=' . $statusnet_user); + $UserData = DI::httpRequest()->fetch('http://' . $statusnet_host . '/api/users/show.json?user_id=' . $statusnet_user); $user = json_decode($UserData); if ($user) { $matches[2] = $user->screen_name; @@ -129,6 +151,7 @@ class Protocol * @param string $profile_url * @param string $display_name * @return string + * @throws \Exception */ public static function formatMention($profile_url, $display_name) {