<?php
/**
- * @copyright Copyright (C) 2010-2021, the Friendica project
+ * @copyright Copyright (C) 2010-2023, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
namespace Friendica\Module\ActivityPub;
use Friendica\BaseModule;
+use Friendica\Core\System;
use Friendica\Model\Contact;
use Friendica\Model\User;
use Friendica\Protocol\ActivityPub;
+use Friendica\Util\HTTPSignature;
/**
* ActivityPub Followers
*/
class Followers extends BaseModule
{
- public function rawContent()
+ protected function rawContent(array $request = [])
{
- if (empty(static::$parameters['nickname'])) {
+ if (empty($this->parameters['nickname'])) {
throw new \Friendica\Network\HTTPException\NotFoundException();
}
// @TODO: Replace with parameter from router
- $owner = User::getOwnerDataByNick(static::$parameters['nickname']);
+ $owner = User::getOwnerDataByNick($this->parameters['nickname']);
if (empty($owner)) {
throw new \Friendica\Network\HTTPException\NotFoundException();
}
- $page = $_REQUEST['page'] ?? null;
+ $page = !empty($request['page']) ? (int)$request['page'] : null;
- $followers = ActivityPub\Transmitter::getContacts($owner, [Contact::FOLLOWER, Contact::FRIEND], 'followers', $page);
+ $followers = ActivityPub\Transmitter::getContacts($owner, [Contact::FOLLOWER, Contact::FRIEND], 'followers', $page, (string)HTTPSignature::getSigner('', $_SERVER));
- header('Content-Type: application/activity+json');
- echo json_encode($followers);
- exit();
+ System::jsonExit($followers, 'application/activity+json');
}
}