]> git.mxchange.org Git - friendica.git/blobdiff - src/Protocol/ActivityPub.php
Remove deprecated code
[friendica.git] / src / Protocol / ActivityPub.php
index 42b5de9e211cfb6b0ddeddd8ffddba1b24774120..7e2c591b3de2d960971f889ce546de79d4ef4b62 100644 (file)
@@ -12,7 +12,8 @@ use Friendica\Model\User;
 use Friendica\Util\HTTPSignature;
 
 /**
- * @brief ActivityPub Protocol class
+ * ActivityPub Protocol class
+ *
  * The ActivityPub Protocol is a message exchange protocol defined by the W3C.
  * https://www.w3.org/TR/activitypub/
  * https://www.w3.org/TR/activitystreams-core/
@@ -57,8 +58,8 @@ class ActivityPub
         */
        public static function isRequest()
        {
-               return stristr(defaults($_SERVER, 'HTTP_ACCEPT', ''), 'application/activity+json') ||
-                       stristr(defaults($_SERVER, 'HTTP_ACCEPT', ''), 'application/ld+json');
+               return stristr($_SERVER['HTTP_ACCEPT'] ?? '', 'application/activity+json') ||
+                       stristr($_SERVER['HTTP_ACCEPT'] ?? '', 'application/ld+json');
        }
 
        /**
@@ -137,6 +138,11 @@ class ActivityPub
                $profile['url'] = $apcontact['url'];
                $profile['addr'] = $apcontact['addr'];
                $profile['alias'] = $apcontact['alias'];
+               $profile['following'] = $apcontact['following'];
+               $profile['followers'] = $apcontact['followers'];
+               $profile['inbox'] = $apcontact['inbox'];
+               $profile['outbox'] = $apcontact['outbox'];
+               $profile['sharedinbox'] = $apcontact['sharedinbox'];
                $profile['photo'] = $apcontact['photo'];
                $profile['account-type'] = self::getAccountType($apcontact);
                $profile['community'] = ($profile['account-type'] == User::ACCOUNT_TYPE_COMMUNITY);
@@ -189,4 +195,18 @@ class ActivityPub
                        ActivityPub\Receiver::processActivity($ldactivity, '', $uid, true);
                }
        }
+
+       /**
+        * Checks if the given contact url does support ActivityPub
+        *
+        * @param string  $url    profile url
+        * @param boolean $update true = always update, false = never update, null = update when not found or outdated
+        * @return boolean
+        * @throws \Friendica\Network\HTTPException\InternalServerErrorException
+        * @throws \ImagickException
+        */
+       public static function isSupportedByContactUrl($url, $update = null)
+       {
+               return !empty(APContact::getByURL($url, $update));
+       }
 }