X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModule%2FActivityPub%2FObjects.php;h=96b3f638e789660df8790608e392712b78ca3914;hb=5a236e0af2b815777261ce4e8dd6965deb8bdde6;hp=0a523ea435471079021f64906fcac793f3824157;hpb=618dda7dd258f2368fc607e51c6d680de3f88be8;p=friendica.git diff --git a/src/Module/ActivityPub/Objects.php b/src/Module/ActivityPub/Objects.php index 0a523ea435..96b3f638e7 100644 --- a/src/Module/ActivityPub/Objects.php +++ b/src/Module/ActivityPub/Objects.php @@ -31,7 +31,6 @@ use Friendica\Model\Item; use Friendica\Model\Post; use Friendica\Network\HTTPException; use Friendica\Protocol\ActivityPub; -use Friendica\Security\PermissionSet\Repository\PermissionSet; use Friendica\Util\HTTPSignature; use Friendica\Util\Network; use Friendica\Util\Strings; @@ -81,6 +80,7 @@ class Objects extends BaseModule $requester = HTTPSignature::getSigner('', $_SERVER); if (!empty($requester)) { $receivers = Item::enumeratePermissions($item, false); + $receivers[] = $item['contact-id']; $validated = in_array(Contact::getIdForURL($requester, $item['uid']), $receivers); if (!$validated) { @@ -98,7 +98,7 @@ class Objects extends BaseModule Network::checkEtagModified($etag, $last_modified); if (empty($this->parameters['activity']) && ($item['gravity'] != GRAVITY_ACTIVITY)) { - $activity = ActivityPub\Transmitter::createActivityFromItem($item['id'], true); + $activity = ActivityPub\Transmitter::createCachedActivityFromItem($item['id'], false, true); if (empty($activity['type'])) { throw new HTTPException\NotFoundException(); } @@ -115,7 +115,7 @@ class Objects extends BaseModule } elseif (empty($this->parameters['activity']) || in_array($this->parameters['activity'], ['Create', 'Announce', 'Update', 'Like', 'Dislike', 'Accept', 'Reject', 'TentativeAccept', 'Follow', 'Add'])) { - $data = ActivityPub\Transmitter::createActivityFromItem($item['id']); + $data = ActivityPub\Transmitter::createCachedActivityFromItem($item['id']); if (empty($data)) { throw new HTTPException\NotFoundException(); } @@ -129,6 +129,7 @@ class Objects extends BaseModule // Relaxed CORS header for public items header('Access-Control-Allow-Origin: *'); + System::jsonExit($data, 'application/activity+json'); } }