<?php /** * @file src/Module/Objects.php */ namespace Friendica\Module; use Friendica\BaseModule; use Friendica\Protocol\ActivityPub; use Friendica\Core\System; use Friendica\Model\Item; use Friendica\Database\DBA; /** * ActivityPub Objects */ class Objects extends BaseModule { public static function rawContent() { $a = self::getApp(); if (empty($a->argv[1])) { System::httpExit(404); } if (!ActivityPub::isRequest()) { $a->redirect(str_replace('objects/', 'display/', $a->query_string)); } $item = Item::selectFirst(['id'], ['guid' => $a->argv[1], 'wall' => true, 'private' => false]); if (!DBA::isResult($item)) { System::httpExit(404); } $data = ActivityPub\Transmitter::createObjectFromItemID($item['id']); header('Content-Type: application/activity+json'); echo json_encode($data); exit(); } }