Move System::jsonExit to BaseModule->jsonExit

- This will ensure headers set in BaseModule->run will be carried in jsonExit scenarios
- Deprecate jsonExit() method in Core\System
This commit is contained in:
Hypolite Petovan 2023-09-21 12:16:17 -04:00
parent e424b7bacb
commit 81279dad9e
119 changed files with 165 additions and 162 deletions

View file

@ -495,4 +495,19 @@ abstract class BaseModule implements ICanHandleRequests
$this->httpExit($content); $this->httpExit($content);
} }
/**
* Display the response using JSON to encode the content
*
* @param mixed $content
* @param string $content_type
* @param int $options A combination of json_encode() binary flags
* @return void
* @throws HTTPException\InternalServerErrorException
* @see json_encode()
*/
public function jsonExit($content, string $content_type = 'application/json', int $options = JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT)
{
$this->httpExit(json_encode($content, $options), ICanCreateResponses::TYPE_JSON, $content_type);
}
} }

View file

@ -392,14 +392,12 @@ class System
* @param mixed $content The input content * @param mixed $content The input content
* @param string $content_type Type of the input (Default: 'application/json') * @param string $content_type Type of the input (Default: 'application/json')
* @param integer $options JSON options * @param integer $options JSON options
* @throws \Friendica\Network\HTTPException\InternalServerErrorException * @throws InternalServerErrorException
* @deprecated since 2023.09 Use BaseModule->jsonExit instead
*/ */
public static function jsonExit($content, $content_type = 'application/json', int $options = JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT) { public static function jsonExit($content, string $content_type = 'application/json', int $options = JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT)
DI::apiResponse()->setType(Response::TYPE_JSON, $content_type); {
DI::apiResponse()->addContent(json_encode($content, $options)); self::httpExit(json_encode($content, $options), Response::TYPE_JSON, $content_type);
self::echoResponse(DI::apiResponse()->generate());
self::exit();
} }
/** /**

View file

@ -79,6 +79,6 @@ class AccountManagementControlDocument extends BaseModule
], ],
]; ];
System::jsonExit($output); $this->jsonExit($output);
} }
} }

View file

@ -46,6 +46,6 @@ class Featured extends BaseModule
$featured = ActivityPub\Transmitter::getFeatured($owner, $page); $featured = ActivityPub\Transmitter::getFeatured($owner, $page);
System::jsonExit($featured, 'application/activity+json'); $this->jsonExit($featured, 'application/activity+json');
} }
} }

View file

@ -49,6 +49,6 @@ class Followers extends BaseModule
$followers = ActivityPub\Transmitter::getContacts($owner, [Contact::FOLLOWER, Contact::FRIEND], 'followers', $page, (string)HTTPSignature::getSigner('', $_SERVER)); $followers = ActivityPub\Transmitter::getContacts($owner, [Contact::FOLLOWER, Contact::FRIEND], 'followers', $page, (string)HTTPSignature::getSigner('', $_SERVER));
System::jsonExit($followers, 'application/activity+json'); $this->jsonExit($followers, 'application/activity+json');
} }
} }

View file

@ -47,6 +47,6 @@ class Following extends BaseModule
$following = ActivityPub\Transmitter::getContacts($owner, [Contact::SHARING, Contact::FRIEND], 'following', $page); $following = ActivityPub\Transmitter::getContacts($owner, [Contact::SHARING, Contact::FRIEND], 'following', $page);
System::jsonExit($following, 'application/activity+json'); $this->jsonExit($following, 'application/activity+json');
} }
} }

View file

@ -66,7 +66,7 @@ class Inbox extends BaseApi
$inbox = ActivityPub\ClientToServer::getPublicInbox($uid, $page, $request['max_id'] ?? null); $inbox = ActivityPub\ClientToServer::getPublicInbox($uid, $page, $request['max_id'] ?? null);
} }
System::jsonExit($inbox, 'application/activity+json'); $this->jsonExit($inbox, 'application/activity+json');
} }
protected function post(array $request = []) protected function post(array $request = [])

View file

@ -130,6 +130,6 @@ class Objects extends BaseModule
// Relaxed CORS header for public items // Relaxed CORS header for public items
header('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Origin: *');
System::jsonExit($data, 'application/activity+json'); $this->jsonExit($data, 'application/activity+json');
} }
} }

View file

@ -53,7 +53,7 @@ class Outbox extends BaseApi
$outbox = ActivityPub\ClientToServer::getOutbox($owner, $uid, $page, $request['max_id'] ?? null, HTTPSignature::getSigner('', $_SERVER)); $outbox = ActivityPub\ClientToServer::getOutbox($owner, $uid, $page, $request['max_id'] ?? null, HTTPSignature::getSigner('', $_SERVER));
System::jsonExit($outbox, 'application/activity+json'); $this->jsonExit($outbox, 'application/activity+json');
} }
protected function post(array $request = []) protected function post(array $request = [])
@ -79,6 +79,6 @@ class Outbox extends BaseApi
throw new \Friendica\Network\HTTPException\BadRequestException(); throw new \Friendica\Network\HTTPException\BadRequestException();
} }
System::jsonExit(ActivityPub\ClientToServer::processActivity($activity, $uid, self::getCurrentApplication() ?? [])); $this->jsonExit(ActivityPub\ClientToServer::processActivity($activity, $uid, self::getCurrentApplication() ?? []));
} }
} }

View file

@ -100,6 +100,6 @@ class Whoami extends BaseApi
]; ];
$data['generator'] = ActivityPub\Transmitter::getService(); $data['generator'] = ActivityPub\Transmitter::getService();
System::jsonExit($data, 'application/activity+json'); $this->jsonExit($data, 'application/activity+json');
} }
} }

View file

@ -49,6 +49,6 @@ class Dislike extends BaseApi
Item::performActivity($item['id'], 'dislike', $uid); Item::performActivity($item['id'], 'dislike', $uid);
System::jsonExit(DI::mstdnStatus()->createFromUriId($this->parameters['id'], $uid, self::appSupportsQuotes())->toArray()); $this->jsonExit(DI::mstdnStatus()->createFromUriId($this->parameters['id'], $uid, self::appSupportsQuotes())->toArray());
} }
} }

View file

@ -57,6 +57,6 @@ class DislikedBy extends BaseApi
$accounts[] = DI::mstdnAccount()->createFromContactId($activity['author-id'], $uid); $accounts[] = DI::mstdnAccount()->createFromContactId($activity['author-id'], $uid);
} }
System::jsonExit($accounts); $this->jsonExit($accounts);
} }
} }

View file

@ -49,6 +49,6 @@ class Undislike extends BaseApi
Item::performActivity($item['id'], 'undislike', $uid); Item::performActivity($item['id'], 'undislike', $uid);
System::jsonExit(DI::mstdnStatus()->createFromUriId($this->parameters['id'], $uid, self::appSupportsQuotes())->toArray()); $this->jsonExit(DI::mstdnStatus()->createFromUriId($this->parameters['id'], $uid, self::appSupportsQuotes())->toArray());
} }
} }

View file

@ -58,6 +58,6 @@ class Accounts extends BaseApi
} }
$account = DI::mstdnAccount()->createFromContactId($id, $uid); $account = DI::mstdnAccount()->createFromContactId($id, $uid);
System::jsonExit($account); $this->jsonExit($account);
} }
} }

View file

@ -52,6 +52,6 @@ class Block extends BaseApi
} }
} }
System::jsonExit(DI::mstdnRelationship()->createFromContactId($this->parameters['id'], $uid)->toArray()); $this->jsonExit(DI::mstdnRelationship()->createFromContactId($this->parameters['id'], $uid)->toArray());
} }
} }

View file

@ -36,6 +36,6 @@ class FeaturedTags extends BaseApi
{ {
self::checkAllowedScope(self::SCOPE_READ); self::checkAllowedScope(self::SCOPE_READ);
System::jsonExit([]); $this->jsonExit([]);
} }
} }

View file

@ -54,6 +54,6 @@ class Follow extends BaseApi
Contact::update(['notify_new_posts' => $request['notify']], ['id' => $result['cid']]); Contact::update(['notify_new_posts' => $request['notify']], ['id' => $result['cid']]);
System::jsonExit(DI::mstdnRelationship()->createFromContactId($result['cid'], $uid)->toArray()); $this->jsonExit(DI::mstdnRelationship()->createFromContactId($result['cid'], $uid)->toArray());
} }
} }

View file

@ -115,6 +115,6 @@ class Followers extends BaseApi
} }
self::setLinkHeader(); self::setLinkHeader();
System::jsonExit($accounts); $this->jsonExit($accounts);
} }
} }

View file

@ -115,6 +115,6 @@ class Following extends BaseApi
} }
self::setLinkHeader(); self::setLinkHeader();
System::jsonExit($accounts); $this->jsonExit($accounts);
} }
} }

View file

@ -36,6 +36,6 @@ class IdentityProofs extends BaseApi
{ {
self::checkAllowedScope(self::SCOPE_READ); self::checkAllowedScope(self::SCOPE_READ);
System::jsonExit([]); $this->jsonExit([]);
} }
} }

View file

@ -60,6 +60,6 @@ class Lists extends BaseApi
DBA::close($circles); DBA::close($circles);
} }
System::jsonExit($lists); $this->jsonExit($lists);
} }
} }

View file

@ -42,6 +42,6 @@ class Mute extends BaseApi
Contact\User::setIgnored($this->parameters['id'], $uid, true); Contact\User::setIgnored($this->parameters['id'], $uid, true);
System::jsonExit(DI::mstdnRelationship()->createFromContactId($this->parameters['id'], $uid)->toArray()); $this->jsonExit(DI::mstdnRelationship()->createFromContactId($this->parameters['id'], $uid)->toArray());
} }
} }

View file

@ -52,6 +52,6 @@ class Note extends BaseApi
Contact::update(['info' => $request['comment']], ['id' => $cdata['user']]); Contact::update(['info' => $request['comment']], ['id' => $cdata['user']]);
System::jsonExit(DI::mstdnRelationship()->createFromContactId($this->parameters['id'], $uid)->toArray()); $this->jsonExit(DI::mstdnRelationship()->createFromContactId($this->parameters['id'], $uid)->toArray());
} }
} }

View file

@ -57,6 +57,6 @@ class Relationships extends BaseApi
$relationships[] = DI::mstdnRelationship()->createFromContactId($id, $uid); $relationships[] = DI::mstdnRelationship()->createFromContactId($id, $uid);
} }
System::jsonExit($relationships); $this->jsonExit($relationships);
} }
} }

View file

@ -67,6 +67,6 @@ class Search extends BaseApi
DBA::close($contacts); DBA::close($contacts);
} }
System::jsonExit($accounts); $this->jsonExit($accounts);
} }
} }

View file

@ -122,6 +122,6 @@ class Statuses extends BaseApi
} }
self::setLinkHeader($request['friendica_order'] != TimelineOrderByTypes::ID); self::setLinkHeader($request['friendica_order'] != TimelineOrderByTypes::ID);
System::jsonExit($statuses); $this->jsonExit($statuses);
} }
} }

View file

@ -42,6 +42,6 @@ class Unblock extends BaseApi
Contact\User::setBlocked($this->parameters['id'], $uid, false); Contact\User::setBlocked($this->parameters['id'], $uid, false);
System::jsonExit(DI::mstdnRelationship()->createFromContactId($this->parameters['id'], $uid)->toArray()); $this->jsonExit(DI::mstdnRelationship()->createFromContactId($this->parameters['id'], $uid)->toArray());
} }
} }

View file

@ -49,6 +49,6 @@ class Unfollow extends BaseApi
Contact::unfollow($contact); Contact::unfollow($contact);
System::jsonExit(DI::mstdnRelationship()->createFromContactId($this->parameters['id'], $uid)->toArray()); $this->jsonExit(DI::mstdnRelationship()->createFromContactId($this->parameters['id'], $uid)->toArray());
} }
} }

View file

@ -42,6 +42,6 @@ class Unmute extends BaseApi
Contact\User::setIgnored($this->parameters['id'], $uid, false); Contact\User::setIgnored($this->parameters['id'], $uid, false);
System::jsonExit(DI::mstdnRelationship()->createFromContactId($this->parameters['id'], $uid)->toArray()); $this->jsonExit(DI::mstdnRelationship()->createFromContactId($this->parameters['id'], $uid)->toArray());
} }
} }

View file

@ -37,6 +37,6 @@ class Announcements extends BaseApi
self::checkAllowedScope(self::SCOPE_READ); self::checkAllowedScope(self::SCOPE_READ);
// @todo Possibly use the message from the pageheader addon for this // @todo Possibly use the message from the pageheader addon for this
System::jsonExit([]); $this->jsonExit([]);
} }
} }

View file

@ -66,7 +66,7 @@ class Apps extends BaseApi
if (!empty($request['redirect_uris']) && is_array($request['redirect_uris'])) { if (!empty($request['redirect_uris']) && is_array($request['redirect_uris'])) {
$request['redirect_uris'] = $request['redirect_uris'][0]; $request['redirect_uris'] = $request['redirect_uris'][0];
} }
} }
if (empty($request['client_name']) || empty($request['redirect_uris'])) { if (empty($request['client_name']) || empty($request['redirect_uris'])) {
@ -95,6 +95,6 @@ class Apps extends BaseApi
DI::mstdnError()->InternalError(); DI::mstdnError()->InternalError();
} }
System::jsonExit(DI::mstdnApplication()->createFromApplicationId(DBA::lastInsertId())->toArray()); $this->jsonExit(DI::mstdnApplication()->createFromApplicationId(DBA::lastInsertId())->toArray());
} }
} }

View file

@ -39,6 +39,6 @@ class VerifyCredentials extends BaseApi
DI::mstdnError()->Unauthorized(); DI::mstdnError()->Unauthorized();
} }
System::jsonExit(DI::mstdnApplication()->createFromApplicationId($application['id'])); $this->jsonExit(DI::mstdnApplication()->createFromApplicationId($application['id']));
} }
} }

View file

@ -77,6 +77,6 @@ class Blocks extends BaseApi
} }
self::setLinkHeader(); self::setLinkHeader();
System::jsonExit($accounts); $this->jsonExit($accounts);
} }
} }

View file

@ -88,6 +88,6 @@ class Bookmarks extends BaseApi
} }
self::setLinkHeader(); self::setLinkHeader();
System::jsonExit($statuses); $this->jsonExit($statuses);
} }
} }

View file

@ -43,7 +43,7 @@ class Conversations extends BaseApi
DBA::delete('conv', ['id' => $this->parameters['id'], 'uid' => $uid]); DBA::delete('conv', ['id' => $this->parameters['id'], 'uid' => $uid]);
DBA::delete('mail', ['convid' => $this->parameters['id'], 'uid' => $uid]); DBA::delete('mail', ['convid' => $this->parameters['id'], 'uid' => $uid]);
System::jsonExit([]); $this->jsonExit([]);
} }
/** /**
@ -95,6 +95,6 @@ class Conversations extends BaseApi
} }
self::setLinkHeader(); self::setLinkHeader();
System::jsonExit($conversations); $this->jsonExit($conversations);
} }
} }

View file

@ -42,6 +42,6 @@ class Read extends BaseApi
DBA::update('mail', ['seen' => true], ['convid' => $this->parameters['id'], 'uid' => $uid]); DBA::update('mail', ['seen' => true], ['convid' => $this->parameters['id'], 'uid' => $uid]);
System::jsonExit(DI::mstdnConversation()->createFromConvId($this->parameters['id'])->toArray()); $this->jsonExit(DI::mstdnConversation()->createFromConvId($this->parameters['id'])->toArray());
} }
} }

View file

@ -41,6 +41,6 @@ class CustomEmojis extends BaseApi
{ {
$emojis = DI::mstdnEmoji()->createCollectionFromSmilies(Smilies::getList()); $emojis = DI::mstdnEmoji()->createCollectionFromSmilies(Smilies::getList());
System::jsonExit($emojis->getArrayCopy()); $this->jsonExit($emojis->getArrayCopy());
} }
} }

View file

@ -68,6 +68,6 @@ class Directory extends BaseApi
} }
DBA::close($contacts); DBA::close($contacts);
System::jsonExit($accounts); $this->jsonExit($accounts);
} }
} }

View file

@ -34,6 +34,6 @@ class Endorsements extends BaseApi
*/ */
protected function rawContent(array $request = []) protected function rawContent(array $request = [])
{ {
System::jsonExit([]); $this->jsonExit([]);
} }
} }

View file

@ -90,6 +90,6 @@ class Favourited extends BaseApi
} }
self::setLinkHeader(); self::setLinkHeader();
System::jsonExit($statuses); $this->jsonExit($statuses);
} }
} }

View file

@ -45,6 +45,6 @@ class Filters extends BaseApi
{ {
self::checkAllowedScope(self::SCOPE_READ); self::checkAllowedScope(self::SCOPE_READ);
System::jsonExit([]); $this->jsonExit([]);
} }
} }

View file

@ -79,7 +79,7 @@ class FollowRequests extends BaseApi
throw new HTTPException\BadRequestException('Unexpected action parameter, expecting "authorize", "ignore" or "reject"'); throw new HTTPException\BadRequestException('Unexpected action parameter, expecting "authorize", "ignore" or "reject"');
} }
System::jsonExit($relationship); $this->jsonExit($relationship);
} }
/** /**
@ -115,6 +115,6 @@ class FollowRequests extends BaseApi
} }
self::setLinkHeader(); self::setLinkHeader();
System::jsonExit($return); $this->jsonExit($return);
} }
} }

View file

@ -77,6 +77,6 @@ class FollowedTags extends BaseApi
} }
self::setLinkHeader(); self::setLinkHeader();
System::jsonExit($return); $this->jsonExit($return);
} }
} }

View file

@ -59,6 +59,6 @@ class Instance extends BaseApi
*/ */
protected function rawContent(array $request = []) protected function rawContent(array $request = [])
{ {
System::jsonExit(new InstanceEntity($this->config, $this->baseUrl, $this->database, System::getRules())); $this->jsonExit(new InstanceEntity($this->config, $this->baseUrl, $this->database, System::getRules()));
} }
} }

View file

@ -52,6 +52,6 @@ class Peers extends BaseApi
} }
DBA::close($instances); DBA::close($instances);
System::jsonExit($return); $this->jsonExit($return);
} }
} }

View file

@ -38,6 +38,6 @@ class Rules extends BaseApi
*/ */
protected function rawContent(array $request = []) protected function rawContent(array $request = [])
{ {
System::jsonExit(System::getRules()); $this->jsonExit(System::getRules());
} }
} }

View file

@ -94,7 +94,7 @@ class InstanceV2 extends BaseApi
$contact = $this->buildContactInfo(); $contact = $this->buildContactInfo();
$friendica_extensions = $this->buildFriendicaExtensionInfo(); $friendica_extensions = $this->buildFriendicaExtensionInfo();
$rules = System::getRules(); $rules = System::getRules();
System::jsonExit(new InstanceEntity( $this->jsonExit(new InstanceEntity(
$domain, $domain,
$title, $title,
$version, $version,

View file

@ -48,7 +48,7 @@ class Lists extends BaseApi
DI::mstdnError()->InternalError(); DI::mstdnError()->InternalError();
} }
System::jsonExit([]); $this->jsonExit([]);
} }
protected function post(array $request = []) protected function post(array $request = [])
@ -71,7 +71,7 @@ class Lists extends BaseApi
DI::mstdnError()->InternalError(); DI::mstdnError()->InternalError();
} }
System::jsonExit(DI::mstdnList()->createFromCircleId($id)); $this->jsonExit(DI::mstdnList()->createFromCircleId($id));
} }
public function put(array $request = []) public function put(array $request = [])
@ -111,6 +111,6 @@ class Lists extends BaseApi
$lists = DI::mstdnList()->createFromCircleId($id); $lists = DI::mstdnList()->createFromCircleId($id);
} }
System::jsonExit($lists); $this->jsonExit($lists);
} }
} }

View file

@ -127,6 +127,6 @@ class Accounts extends BaseApi
} }
self::setLinkHeader(); self::setLinkHeader();
System::jsonExit($accounts); $this->jsonExit($accounts);
} }
} }

View file

@ -61,7 +61,7 @@ class Markers extends BaseApi
$fields = ['last_read_id' => $last_read_id, 'version' => $version, 'updated_at' => DateTimeFormat::utcNow()]; $fields = ['last_read_id' => $last_read_id, 'version' => $version, 'updated_at' => DateTimeFormat::utcNow()];
DBA::update('application-marker', $fields, $condition, true); DBA::update('application-marker', $fields, $condition, true);
System::jsonExit($this->fetchTimelines($application['id'], $uid)); $this->jsonExit($this->fetchTimelines($application['id'], $uid));
} }
/** /**
@ -73,7 +73,7 @@ class Markers extends BaseApi
$uid = self::getCurrentUserID(); $uid = self::getCurrentUserID();
$application = self::getCurrentApplication(); $application = self::getCurrentApplication();
System::jsonExit($this->fetchTimelines($application['id'], $uid)); $this->jsonExit($this->fetchTimelines($application['id'], $uid));
} }
private function fetchTimelines(int $application_id, int $uid) private function fetchTimelines(int $application_id, int $uid)

View file

@ -58,7 +58,7 @@ class Media extends BaseApi
Logger::info('Uploaded photo', ['media' => $media]); Logger::info('Uploaded photo', ['media' => $media]);
System::jsonExit(DI::mstdnAttachment()->createFromPhoto($media['id'])); $this->jsonExit(DI::mstdnAttachment()->createFromPhoto($media['id']));
} }
public function put(array $request = []) public function put(array $request = [])
@ -87,12 +87,12 @@ class Media extends BaseApi
DI::mstdnError()->RecordNotFound(); DI::mstdnError()->RecordNotFound();
} }
Post\Media::updateById(['description' => $request['description']], $this->parameters['id']); Post\Media::updateById(['description' => $request['description']], $this->parameters['id']);
System::jsonExit(DI::mstdnAttachment()->createFromId($this->parameters['id'])); $this->jsonExit(DI::mstdnAttachment()->createFromId($this->parameters['id']));
} }
Photo::update(['desc' => $request['description']], ['resource-id' => $photo['resource-id']]); Photo::update(['desc' => $request['description']], ['resource-id' => $photo['resource-id']]);
System::jsonExit(DI::mstdnAttachment()->createFromPhoto($this->parameters['id'])); $this->jsonExit(DI::mstdnAttachment()->createFromPhoto($this->parameters['id']));
} }
/** /**
@ -112,6 +112,6 @@ class Media extends BaseApi
DI::mstdnError()->RecordNotFound(); DI::mstdnError()->RecordNotFound();
} }
System::jsonExit(DI::mstdnAttachment()->createFromPhoto($id)); $this->jsonExit(DI::mstdnAttachment()->createFromPhoto($id));
} }
} }

View file

@ -85,6 +85,6 @@ class Mutes extends BaseApi
} }
self::setLinkHeader(); self::setLinkHeader();
System::jsonExit($accounts); $this->jsonExit($accounts);
} }
} }

View file

@ -48,7 +48,7 @@ class Notifications extends BaseApi
$id = $this->parameters['id']; $id = $this->parameters['id'];
try { try {
$notification = DI::notification()->selectOneForUser($uid, ['id' => $id]); $notification = DI::notification()->selectOneForUser($uid, ['id' => $id]);
System::jsonExit(DI::mstdnNotification()->createFromNotification($notification, self::appSupportsQuotes())); $this->jsonExit(DI::mstdnNotification()->createFromNotification($notification, self::appSupportsQuotes()));
} catch (\Exception $e) { } catch (\Exception $e) {
DI::mstdnError()->RecordNotFound(); DI::mstdnError()->RecordNotFound();
} }
@ -132,7 +132,7 @@ class Notifications extends BaseApi
if ($request['summary']) { if ($request['summary']) {
$count = DI::notification()->countForUser($uid, $condition); $count = DI::notification()->countForUser($uid, $condition);
System::jsonExit(['count' => $count]); $this->jsonExit(['count' => $count]);
} else { } else {
$mstdnNotifications = []; $mstdnNotifications = [];
@ -154,7 +154,7 @@ class Notifications extends BaseApi
} }
self::setLinkHeader(); self::setLinkHeader();
System::jsonExit($mstdnNotifications); $this->jsonExit($mstdnNotifications);
} }
} }
} }

View file

@ -37,6 +37,6 @@ class Clear extends BaseApi
DI::notification()->setAllDismissedForUser($uid); DI::notification()->setAllDismissedForUser($uid);
System::jsonExit([]); $this->jsonExit([]);
} }
} }

View file

@ -46,6 +46,6 @@ class Dismiss extends BaseApi
$Notification->setDismissed(); $Notification->setDismissed();
DI::notification()->save($Notification); DI::notification()->save($Notification);
System::jsonExit([]); $this->jsonExit([]);
} }
} }

View file

@ -42,6 +42,6 @@ class Polls extends BaseApi
DI::mstdnError()->UnprocessableEntity(); DI::mstdnError()->UnprocessableEntity();
} }
System::jsonExit(DI::mstdnPoll()->createFromId($this->parameters['id'], $uid)); $this->jsonExit(DI::mstdnPoll()->createFromId($this->parameters['id'], $uid));
} }
} }

View file

@ -55,6 +55,6 @@ class Preferences extends BaseApi
$preferences = new \Friendica\Object\Api\Mastodon\Preferences($visibility, $sensitive, $language, $media, $spoilers); $preferences = new \Friendica\Object\Api\Mastodon\Preferences($visibility, $sensitive, $language, $media, $spoilers);
System::jsonExit($preferences); $this->jsonExit($preferences);
} }
} }

View file

@ -82,6 +82,6 @@ class Reports extends BaseApi
$this->reportRepo->save($report); $this->reportRepo->save($report);
System::jsonExit([]); $this->jsonExit([]);
} }
} }

View file

@ -56,7 +56,7 @@ class ScheduledStatuses extends BaseApi
Post\Delayed::deleteById($this->parameters['id']); Post\Delayed::deleteById($this->parameters['id']);
System::jsonExit([]); $this->jsonExit([]);
} }
/** /**
@ -68,7 +68,7 @@ class ScheduledStatuses extends BaseApi
$uid = self::getCurrentUserID(); $uid = self::getCurrentUserID();
if (isset($this->parameters['id'])) { if (isset($this->parameters['id'])) {
System::jsonExit(DI::mstdnScheduledStatus()->createFromDelayedPostId($this->parameters['id'], $uid)->toArray()); $this->jsonExit(DI::mstdnScheduledStatus()->createFromDelayedPostId($this->parameters['id'], $uid)->toArray());
} }
$request = $this->getRequest([ $request = $this->getRequest([
@ -109,6 +109,6 @@ class ScheduledStatuses extends BaseApi
} }
self::setLinkHeader(); self::setLinkHeader();
System::jsonExit($statuses); $this->jsonExit($statuses);
} }
} }

View file

@ -91,7 +91,7 @@ class Search extends BaseApi
$result['hashtags'] = self::searchHashtags($request['q'], $request['exclude_unreviewed'], $limit, $request['offset'], $this->parameters['version']); $result['hashtags'] = self::searchHashtags($request['q'], $request['exclude_unreviewed'], $limit, $request['offset'], $this->parameters['version']);
} }
System::jsonExit($result); $this->jsonExit($result);
} }
/** /**

View file

@ -159,7 +159,7 @@ class Statuses extends BaseApi
Item::updateDisplayCache($post['uri-id']); Item::updateDisplayCache($post['uri-id']);
System::jsonExit(DI::mstdnStatus()->createFromUriId($post['uri-id'], $uid, self::appSupportsQuotes())); $this->jsonExit(DI::mstdnStatus()->createFromUriId($post['uri-id'], $uid, self::appSupportsQuotes()));
} }
protected function post(array $request = []) protected function post(array $request = [])
@ -299,14 +299,14 @@ class Statuses extends BaseApi
if (empty($id)) { if (empty($id)) {
DI::mstdnError()->InternalError(); DI::mstdnError()->InternalError();
} }
System::jsonExit(DI::mstdnScheduledStatus()->createFromDelayedPostId($id, $uid)->toArray()); $this->jsonExit(DI::mstdnScheduledStatus()->createFromDelayedPostId($id, $uid)->toArray());
} }
$id = Item::insert($item, true); $id = Item::insert($item, true);
if (!empty($id)) { if (!empty($id)) {
$item = Post::selectFirst(['uri-id'], ['id' => $id]); $item = Post::selectFirst(['uri-id'], ['id' => $id]);
if (!empty($item['uri-id'])) { if (!empty($item['uri-id'])) {
System::jsonExit(DI::mstdnStatus()->createFromUriId($item['uri-id'], $uid, self::appSupportsQuotes())); $this->jsonExit(DI::mstdnStatus()->createFromUriId($item['uri-id'], $uid, self::appSupportsQuotes()));
} }
} }
@ -331,7 +331,7 @@ class Statuses extends BaseApi
DI::mstdnError()->RecordNotFound(); DI::mstdnError()->RecordNotFound();
} }
System::jsonExit([]); $this->jsonExit([]);
} }
/** /**
@ -345,7 +345,7 @@ class Statuses extends BaseApi
DI::mstdnError()->UnprocessableEntity(); DI::mstdnError()->UnprocessableEntity();
} }
System::jsonExit(DI::mstdnStatus()->createFromUriId($this->parameters['id'], $uid, self::appSupportsQuotes(), false)); $this->jsonExit(DI::mstdnStatus()->createFromUriId($this->parameters['id'], $uid, self::appSupportsQuotes(), false));
} }
private function getApp(): string private function getApp(): string
@ -422,7 +422,7 @@ class Statuses extends BaseApi
if (preg_match("/\[url=[^\[\]]*\](.*)\[\/url\]\z/ism", $status, $matches)) { if (preg_match("/\[url=[^\[\]]*\](.*)\[\/url\]\z/ism", $status, $matches)) {
$status = preg_replace("/\[url=[^\[\]]*\].*\[\/url\]\z/ism", PageInfo::getFooterFromUrl($matches[1]), $status); $status = preg_replace("/\[url=[^\[\]]*\].*\[\/url\]\z/ism", PageInfo::getFooterFromUrl($matches[1]), $status);
} }
return $status; return $status;
} }
} }

View file

@ -70,6 +70,6 @@ class Bookmark extends BaseApi
// Issue tracking the behavior of createFromUriId: https://github.com/friendica/friendica/issues/13350 // Issue tracking the behavior of createFromUriId: https://github.com/friendica/friendica/issues/13350
$isReblog = $item['uri-id'] != $this->parameters['id']; $isReblog = $item['uri-id'] != $this->parameters['id'];
System::jsonExit(DI::mstdnStatus()->createFromUriId($this->parameters['id'], $uid, self::appSupportsQuotes(), $isReblog)->toArray()); $this->jsonExit(DI::mstdnStatus()->createFromUriId($this->parameters['id'], $uid, self::appSupportsQuotes(), $isReblog)->toArray());
} }
} }

View file

@ -49,6 +49,6 @@ class Card extends BaseApi
$card = DI::mstdnCard()->createFromUriId($post['uri-id']); $card = DI::mstdnCard()->createFromUriId($post['uri-id']);
System::jsonExit($card->toArray()); $this->jsonExit($card->toArray());
} }
} }

View file

@ -140,7 +140,7 @@ class Context extends BaseApi
$statuses['descendants'][] = DI::mstdnStatus()->createFromUriId($descendant, $uid, $display_quotes); $statuses['descendants'][] = DI::mstdnStatus()->createFromUriId($descendant, $uid, $display_quotes);
} }
System::jsonExit($statuses); $this->jsonExit($statuses);
} }
private static function getParents(int $id, array $parents, array $list = []) private static function getParents(int $id, array $parents, array $list = [])

View file

@ -54,6 +54,6 @@ class Favourite extends BaseApi
// Issue tracking the behavior of createFromUriId: https://github.com/friendica/friendica/issues/13350 // Issue tracking the behavior of createFromUriId: https://github.com/friendica/friendica/issues/13350
$isReblog = $item['uri-id'] != $this->parameters['id']; $isReblog = $item['uri-id'] != $this->parameters['id'];
System::jsonExit(DI::mstdnStatus()->createFromUriId($this->parameters['id'], $uid, self::appSupportsQuotes(), $isReblog)->toArray()); $this->jsonExit(DI::mstdnStatus()->createFromUriId($this->parameters['id'], $uid, self::appSupportsQuotes(), $isReblog)->toArray());
} }
} }

View file

@ -56,6 +56,6 @@ class FavouritedBy extends BaseApi
$accounts[] = DI::mstdnAccount()->createFromContactId($activity['author-id'], $uid); $accounts[] = DI::mstdnAccount()->createFromContactId($activity['author-id'], $uid);
} }
System::jsonExit($accounts); $this->jsonExit($accounts);
} }
} }

View file

@ -58,6 +58,6 @@ class Mute extends BaseApi
// Issue tracking the behavior of createFromUriId: https://github.com/friendica/friendica/issues/13350 // Issue tracking the behavior of createFromUriId: https://github.com/friendica/friendica/issues/13350
$isReblog = $item['uri-id'] != $this->parameters['id']; $isReblog = $item['uri-id'] != $this->parameters['id'];
System::jsonExit(DI::mstdnStatus()->createFromUriId($this->parameters['id'], $uid, self::appSupportsQuotes(), $isReblog)->toArray()); $this->jsonExit(DI::mstdnStatus()->createFromUriId($this->parameters['id'], $uid, self::appSupportsQuotes(), $isReblog)->toArray());
} }
} }

View file

@ -53,6 +53,6 @@ class Pin extends BaseApi
// Issue tracking the behavior of createFromUriId: https://github.com/friendica/friendica/issues/13350 // Issue tracking the behavior of createFromUriId: https://github.com/friendica/friendica/issues/13350
$isReblog = $item['uri-id'] != $this->parameters['id']; $isReblog = $item['uri-id'] != $this->parameters['id'];
System::jsonExit(DI::mstdnStatus()->createFromUriId($this->parameters['id'], $uid, self::appSupportsQuotes(),$isReblog)->toArray()); $this->jsonExit(DI::mstdnStatus()->createFromUriId($this->parameters['id'], $uid, self::appSupportsQuotes(),$isReblog)->toArray());
} }
} }

View file

@ -63,6 +63,6 @@ class Reblog extends BaseApi
// Issue tracking the behavior of createFromUriId: https://github.com/friendica/friendica/issues/13350 // Issue tracking the behavior of createFromUriId: https://github.com/friendica/friendica/issues/13350
$isReblog = $item['uri-id'] != $this->parameters['id']; $isReblog = $item['uri-id'] != $this->parameters['id'];
System::jsonExit(DI::mstdnStatus()->createFromUriId($this->parameters['id'], $uid, self::appSupportsQuotes(), $isReblog)->toArray()); $this->jsonExit(DI::mstdnStatus()->createFromUriId($this->parameters['id'], $uid, self::appSupportsQuotes(), $isReblog)->toArray());
} }
} }

View file

@ -56,6 +56,6 @@ class RebloggedBy extends BaseApi
$accounts[] = DI::mstdnAccount()->createFromContactId($activity['author-id'], $uid); $accounts[] = DI::mstdnAccount()->createFromContactId($activity['author-id'], $uid);
} }
System::jsonExit($accounts); $this->jsonExit($accounts);
} }
} }

View file

@ -52,6 +52,6 @@ class Source extends BaseApi
$source = DI::mstdnStatusSource()->createFromUriId($id, $uid); $source = DI::mstdnStatusSource()->createFromUriId($id, $uid);
System::jsonExit($source->toArray()); $this->jsonExit($source->toArray());
} }
} }

View file

@ -70,6 +70,6 @@ class Unbookmark extends BaseApi
// Issue tracking the behavior of createFromUriId: https://github.com/friendica/friendica/issues/13350 // Issue tracking the behavior of createFromUriId: https://github.com/friendica/friendica/issues/13350
$isReblog = $item['uri-id'] != $this->parameters['id']; $isReblog = $item['uri-id'] != $this->parameters['id'];
System::jsonExit(DI::mstdnStatus()->createFromUriId($this->parameters['id'], $uid, self::appSupportsQuotes(), $isReblog)->toArray()); $this->jsonExit(DI::mstdnStatus()->createFromUriId($this->parameters['id'], $uid, self::appSupportsQuotes(), $isReblog)->toArray());
} }
} }

View file

@ -54,6 +54,6 @@ class Unfavourite extends BaseApi
// Issue tracking the behavior of createFromUriId: https://github.com/friendica/friendica/issues/13350 // Issue tracking the behavior of createFromUriId: https://github.com/friendica/friendica/issues/13350
$isReblog = $item['uri-id'] != $this->parameters['id']; $isReblog = $item['uri-id'] != $this->parameters['id'];
System::jsonExit(DI::mstdnStatus()->createFromUriId($this->parameters['id'], $uid, self::appSupportsQuotes(), $isReblog)->toArray()); $this->jsonExit(DI::mstdnStatus()->createFromUriId($this->parameters['id'], $uid, self::appSupportsQuotes(), $isReblog)->toArray());
} }
} }

View file

@ -58,6 +58,6 @@ class Unmute extends BaseApi
// Issue tracking the behavior of createFromUriId: https://github.com/friendica/friendica/issues/13350 // Issue tracking the behavior of createFromUriId: https://github.com/friendica/friendica/issues/13350
$isReblog = $item['uri-id'] != $this->parameters['id']; $isReblog = $item['uri-id'] != $this->parameters['id'];
System::jsonExit(DI::mstdnStatus()->createFromUriId($this->parameters['id'], $uid, self::appSupportsQuotes(), $isReblog)->toArray()); $this->jsonExit(DI::mstdnStatus()->createFromUriId($this->parameters['id'], $uid, self::appSupportsQuotes(), $isReblog)->toArray());
} }
} }

View file

@ -53,6 +53,6 @@ class Unpin extends BaseApi
// Issue tracking the behavior of createFromUriId: https://github.com/friendica/friendica/issues/13350 // Issue tracking the behavior of createFromUriId: https://github.com/friendica/friendica/issues/13350
$isReblog = $item['uri-id'] != $this->parameters['id']; $isReblog = $item['uri-id'] != $this->parameters['id'];
System::jsonExit(DI::mstdnStatus()->createFromUriId($this->parameters['id'], $uid, self::appSupportsQuotes(), $isReblog)->toArray()); $this->jsonExit(DI::mstdnStatus()->createFromUriId($this->parameters['id'], $uid, self::appSupportsQuotes(), $isReblog)->toArray());
} }
} }

View file

@ -69,6 +69,6 @@ class Unreblog extends BaseApi
// Issue tracking the behavior of createFromUriId: https://github.com/friendica/friendica/issues/13350 // Issue tracking the behavior of createFromUriId: https://github.com/friendica/friendica/issues/13350
$isReblog = $item['uri-id'] != $this->parameters['id']; $isReblog = $item['uri-id'] != $this->parameters['id'];
System::jsonExit(DI::mstdnStatus()->createFromUriId($this->parameters['id'], $uid, self::appSupportsQuotes(), $isReblog)->toArray()); $this->jsonExit(DI::mstdnStatus()->createFromUriId($this->parameters['id'], $uid, self::appSupportsQuotes(), $isReblog)->toArray());
} }
} }

View file

@ -54,6 +54,6 @@ class Suggestions extends BaseApi
]; ];
} }
System::jsonExit($accounts); $this->jsonExit($accounts);
} }
} }

View file

@ -47,6 +47,6 @@ class Tags extends BaseApi
$following = DBA::exists('search', ['uid' => $uid, 'term' => '#' . $tag]); $following = DBA::exists('search', ['uid' => $uid, 'term' => '#' . $tag]);
$hashtag = new \Friendica\Object\Api\Mastodon\Tag($this->baseUrl, ['name' => $tag], [], $following); $hashtag = new \Friendica\Object\Api\Mastodon\Tag($this->baseUrl, ['name' => $tag], [], $following);
System::jsonExit($hashtag->toArray()); $this->jsonExit($hashtag->toArray());
} }
} }

View file

@ -46,6 +46,6 @@ class Follow extends BaseApi
} }
$hashtag = new \Friendica\Object\Api\Mastodon\Tag($this->baseUrl, ['name' => ltrim($this->parameters['hashtag'])], [], true); $hashtag = new \Friendica\Object\Api\Mastodon\Tag($this->baseUrl, ['name' => ltrim($this->parameters['hashtag'])], [], true);
System::jsonExit($hashtag->toArray()); $this->jsonExit($hashtag->toArray());
} }
} }

View file

@ -45,6 +45,6 @@ class Unfollow extends BaseApi
DBA::delete('search', $term); DBA::delete('search', $term);
$hashtag = new \Friendica\Object\Api\Mastodon\Tag($this->baseUrl, ['name' => ltrim($this->parameters['hashtag'])], [], false); $hashtag = new \Friendica\Object\Api\Mastodon\Tag($this->baseUrl, ['name' => ltrim($this->parameters['hashtag'])], [], false);
System::jsonExit($hashtag->toArray()); $this->jsonExit($hashtag->toArray());
} }
} }

View file

@ -86,6 +86,6 @@ class Direct extends BaseApi
} }
self::setLinkHeader(); self::setLinkHeader();
System::jsonExit($statuses); $this->jsonExit($statuses);
} }
} }

View file

@ -101,6 +101,6 @@ class Home extends BaseApi
self::setLinkHeader($request['friendica_order'] != TimelineOrderByTypes::ID); self::setLinkHeader($request['friendica_order'] != TimelineOrderByTypes::ID);
System::jsonExit($statuses); $this->jsonExit($statuses);
} }
} }

View file

@ -105,6 +105,6 @@ class ListTimeline extends BaseApi
} }
self::setLinkHeader($request['friendica_order'] != TimelineOrderByTypes::ID); self::setLinkHeader($request['friendica_order'] != TimelineOrderByTypes::ID);
System::jsonExit($statuses); $this->jsonExit($statuses);
} }
} }

View file

@ -102,6 +102,6 @@ class PublicTimeline extends BaseApi
} }
self::setLinkHeader($request['friendica_order'] != TimelineOrderByTypes::ID); self::setLinkHeader($request['friendica_order'] != TimelineOrderByTypes::ID);
System::jsonExit($statuses); $this->jsonExit($statuses);
} }
} }

View file

@ -131,6 +131,6 @@ class Tag extends BaseApi
} }
self::setLinkHeader(); self::setLinkHeader();
System::jsonExit($statuses); $this->jsonExit($statuses);
} }
} }

View file

@ -60,6 +60,6 @@ class Links extends BaseApi
self::setLinkHeaderByOffsetLimit($request['offset'], $request['limit']); self::setLinkHeaderByOffsetLimit($request['offset'], $request['limit']);
} }
System::jsonExit($trending); $this->jsonExit($trending);
} }
} }

View file

@ -67,6 +67,6 @@ class Statuses extends BaseApi
self::setLinkHeaderByOffsetLimit($request['offset'], $request['limit']); self::setLinkHeaderByOffsetLimit($request['offset'], $request['limit']);
} }
System::jsonExit($trending); $this->jsonExit($trending);
} }
} }

View file

@ -60,6 +60,6 @@ class Tags extends BaseApi
self::setLinkHeaderByOffsetLimit($request['offset'], $request['limit']); self::setLinkHeaderByOffsetLimit($request['offset'], $request['limit']);
} }
System::jsonExit($trending); $this->jsonExit($trending);
} }
} }

View file

@ -83,6 +83,6 @@ class Ids extends ContactEndpoint
self::setLinkHeader(); self::setLinkHeader();
System::jsonExit($return); $this->jsonExit($return);
} }
} }

View file

@ -114,6 +114,6 @@ class Ids extends ContactEndpoint
self::setLinkHeader(); self::setLinkHeader();
System::jsonExit($return); $this->jsonExit($return);
} }
} }

View file

@ -114,6 +114,6 @@ class Ids extends ContactEndpoint
self::setLinkHeader(); self::setLinkHeader();
System::jsonExit($return); $this->jsonExit($return);
} }
} }

View file

@ -121,7 +121,7 @@ abstract class BaseNotifications extends BaseModule
'page' => $pager->getPage(), 'page' => $pager->getPage(),
]; ];
System::jsonExit($notifications); $this->jsonExit($notifications);
} }
/** /**

View file

@ -69,7 +69,7 @@ class Get extends \Friendica\BaseModule
$events = Event::getListByDate($owner['uid'], $request['start'] ?? '', $request['end'] ?? ''); $events = Event::getListByDate($owner['uid'], $request['start'] ?? '', $request['end'] ?? '');
} }
System::jsonExit($events ? self::map($events) : []); $this->jsonExit($events ? self::map($events) : []);
} }
private static function map(array $events): array private static function map(array $events): array

View file

@ -132,7 +132,7 @@ class Circle extends BaseModule
} }
DI::sysmsg()->addInfo($message); DI::sysmsg()->addInfo($message);
System::jsonExit(['status' => 'OK', 'message' => $message]); $this->jsonExit(['status' => 'OK', 'message' => $message]);
} catch (\Exception $e) { } catch (\Exception $e) {
DI::sysmsg()->addNotice($e->getMessage()); DI::sysmsg()->addNotice($e->getMessage());
System::jsonError($e->getCode(), ['status' => 'error', 'message' => $e->getMessage()]); System::jsonError($e->getCode(), ['status' => 'error', 'message' => $e->getMessage()]);

View file

@ -142,7 +142,7 @@ class Friendica extends BaseModule
$data = ActivityPub\Transmitter::getProfile(0); $data = ActivityPub\Transmitter::getProfile(0);
header('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Origin: *');
header('Cache-Control: max-age=23200, stale-while-revalidate=23200'); header('Cache-Control: max-age=23200, stale-while-revalidate=23200');
System::jsonExit($data, 'application/activity+json'); $this->jsonExit($data, 'application/activity+json');
} catch (HTTPException\NotFoundException $e) { } catch (HTTPException\NotFoundException $e) {
System::jsonError(404, ['error' => 'Record not found']); System::jsonError(404, ['error' => 'Record not found']);
} }
@ -200,6 +200,6 @@ class Friendica extends BaseModule
'no_scrape_url' => $this->baseUrl . '/noscrape', 'no_scrape_url' => $this->baseUrl . '/noscrape',
]; ];
System::jsonExit($data); $this->jsonExit($data);
} }
} }

View file

@ -36,7 +36,7 @@ class Hashtag extends BaseModule
$result = []; $result = [];
if (empty($request['t'])) { if (empty($request['t'])) {
System::jsonExit($result); $this->jsonExit($result);
} }
$taglist = DBA::select( $taglist = DBA::select(
@ -50,6 +50,6 @@ class Hashtag extends BaseModule
} }
DBA::close($taglist); DBA::close($taglist);
System::jsonExit($result); $this->jsonExit($result);
} }
} }

View file

@ -89,6 +89,6 @@ class Activity extends BaseModule
'state' => 1, 'state' => 1,
]; ];
System::jsonExit($return); $this->jsonExit($return);
} }
} }

View file

@ -71,6 +71,6 @@ class Follow extends BaseModule
'state' => 1 'state' => 1
]; ];
System::jsonExit($return); $this->jsonExit($return);
} }
} }

View file

@ -82,6 +82,6 @@ class Ignore extends BaseModule
'state' => $ignored, 'state' => $ignored,
]; ];
System::jsonExit($return); $this->jsonExit($return);
} }
} }

View file

@ -84,6 +84,6 @@ class Pin extends BaseModule
'state' => (int)$pinned, 'state' => (int)$pinned,
]; ];
System::jsonExit($return); $this->jsonExit($return);
} }
} }

Some files were not shown because too many files have changed in this diff Show more