getWebfinger(); exit; } catch (\Exception $e) { header('Content-Type: text/plain; charset=utf-8'); echo 'フェディバースの作成に失敗: '.$e->getMessage(); exit; } } /** * @param array $params パラメータ配列 * @return void */ public function apactor(array $params): void { try { header('Content-Type: application/activity+json'); $ap = new Activitypub(); echo $ap->getActor(); exit; } catch (\Exception $e) { header('Content-Type: text/plain; charset=utf-8'); echo 'フェディバースの作成に失敗: '.$e->getMessage(); exit; } } /** * @param array $params パラメータ配列 * @return void */ public function apinbox(array $params): void { if ($_SERVER['REQUEST_METHOD'] !== 'POST') { header('HTTP/1.1 405 Method Not Allowed'); header('Allow: POST'); exit; } $input = file_get_contents('php://input'); $activity = json_decode($input, true); if (!$activity || !isset($activity['type'])) { header('HTTP/1.1 400 Bad Request'); header('Content-Type: application/activity+json'); echo json_encode(['error' => '不正なアクティビティ']); exit; } logger(\LogType::ActivityPub, "受付に入れた:".json_encode($activity)); try { header('Content-Type: application/activity+json'); $ap = new Activitypub(); $ap->postInbox($activity); exit; } catch (\Exception $e) { header('Content-Type: text/plain; charset=utf-8'); echo 'フェディバースの作成に失敗: '.$e->getMessage(); exit; } } /** * @param array $params パラメータ配列 * @return void */ public function apactivity(array $params): void { $uuid = ''; if (isset($params['uuid'])) $uuid = $params['uuid']; try { header('Content-Type: application/activity+json'); $posts = $this->getPosts('/blog/', null); $ap = new Activitypub($posts); echo $ap->getActivity($uuid); exit; } catch (\Exception $e) { header('Content-Type: text/plain; charset=utf-8'); echo 'フェディバースの作成に失敗: '.$e->getMessage(); exit; } } /** * @param array $params パラメータ配列 * @return void */ public function apoutbox(array $params): void { try { header('Content-Type: application/activity+json'); $posts = $this->getPosts('/blog/', null); $ap = new Activitypub($posts); echo $ap->getOutbox(); exit; } catch (\Exception $e) { header('Content-Type: text/plain; charset=utf-8'); echo 'フェディバースの作成に失敗: '.$e->getMessage(); exit; } } /** * @param array $params パラメータ配列 * @return void */ public function apfollowers(array $params): void { try { header('Content-Type: application/activity+json'); $ap = new Activitypub(); echo $ap->getFollowers(); exit; } catch (\Exception $e) { header('Content-Type: text/plain; charset=utf-8'); echo 'フェディバースの作成に失敗: '.$e->getMessage(); exit; } } /** * @param array $params パラメータ配列 * @return void */ public function apfollowing(array $params): void { try { header('Content-Type: application/activity+json'); $ap = new Activitypub(); echo $ap->getFollowing(); exit; } catch (\Exception $e) { header('Content-Type: text/plain; charset=utf-8'); echo 'フェディバースの作成に失敗: '.$e->getMessage(); exit; } } }