X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FCore%2FProtocol.php;h=860ac26be68beff9ecfe1d9b01d9b2b5105574e0;hb=f25c3f4619182f363ba87d738d6eb61fb6985ae6;hp=00552bf787f3fa2b7a6c594974c394570332c1de;hpb=09a44b30399f5923664814af69153b3b7604758b;p=friendica.git diff --git a/src/Core/Protocol.php b/src/Core/Protocol.php index 00552bf787..860ac26be6 100644 --- a/src/Core/Protocol.php +++ b/src/Core/Protocol.php @@ -1,15 +1,30 @@ . + * */ + namespace Friendica\Core; -use Friendica\Util\Network; +use Friendica\DI; /** * Manage compatibility with federated networks - * - * @author Hypolite Petovan */ class Protocol { @@ -23,12 +38,17 @@ class Protocol 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 DIASPORA2 = 'dspc'; // Diaspora connector 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 @@ -50,7 +70,7 @@ class Protocol * * @param string $profile_url * @return string - * @throws Exception + * @throws \Exception */ public static function getAddrFromProfileUrl($profile_url) { @@ -69,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 = []) { @@ -102,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; @@ -131,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) {