X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModule%2FActivityPub%2FObjects.php;h=34d4609511447a577b32b413badac788dd331ed6;hb=b5f20203134bda1b7899e92527e34ae4bf3fd142;hp=dc9eaaf60c46a5535b25a440eb575cace805352f;hpb=6eb9dff807b65729363ff094eba62746f4301c28;p=friendica.git diff --git a/src/Module/ActivityPub/Objects.php b/src/Module/ActivityPub/Objects.php index dc9eaaf60c..34d4609511 100644 --- a/src/Module/ActivityPub/Objects.php +++ b/src/Module/ActivityPub/Objects.php @@ -1,6 +1,6 @@ redirect(str_replace('objects/', 'display/', DI::args()->getQueryString())); } - $data = PageCache::fetch($_SERVER['REQUEST_URI']); - if (!empty($data)) { - header('Access-Control-Allow-Origin: *'); - - System::jsonExit($data, 'application/activity+json'); - } - $itemuri = DBA::selectFirst('item-uri', ['id'], ['guid' => $this->parameters['guid']]); if (DBA::isResult($itemuri)) { Logger::info('Provided GUID found.', ['guid' => $this->parameters['guid'], 'uri-id' => $itemuri['id']]); } else { // The item URI does not always contain the GUID. This means that we have to search the URL instead - $url = DI::baseUrl()->get() . '/' . DI::args()->getQueryString(); + $url = DI::baseUrl() . '/' . DI::args()->getQueryString(); $nurl = Strings::normaliseLink($url); $ssl_url = str_replace('http://', 'https://', $nurl); @@ -105,8 +97,8 @@ class Objects extends BaseModule $last_modified = $item['changed']; Network::checkEtagModified($etag, $last_modified); - if (empty($this->parameters['activity']) && ($item['gravity'] != GRAVITY_ACTIVITY)) { - $activity = ActivityPub\Transmitter::createActivityFromItem($item['id'], true); + if (empty($this->parameters['activity']) && ($item['gravity'] != Item::GRAVITY_ACTIVITY)) { + $activity = ActivityPub\Transmitter::createCachedActivityFromItem($item['id'], false, true); if (empty($activity['type'])) { throw new HTTPException\NotFoundException(); } @@ -123,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(); } @@ -135,10 +127,6 @@ class Objects extends BaseModule throw new HTTPException\NotFoundException(); } - if (in_array($item['private'], [Item::PUBLIC, Item::UNLISTED])) { - PageCache::add($_SERVER['REQUEST_URI'], $data); - } - // Relaxed CORS header for public items header('Access-Control-Allow-Origin: *');