- $path = DI::args()->getQueryString();
- Logger::info('Unimplemented API call', ['method' => $method, 'path' => $path, 'agent' => $_SERVER['HTTP_USER_AGENT'] ?? '', 'request' => HTTPInputData::process()]);
- $error = DI::l10n()->t('API endpoint %s %s is not implemented', strtoupper($method), $path);
- $error_description = DI::l10n()->t('The API endpoint is currently not implemented but might be in the future.');
- $errorobj = new \Friendica\Object\Api\Mastodon\Error($error, $error_description);
- System::jsonError(501, $errorobj->toArray());
+ try {
+ switch ($order) {
+ case TimelineOrderByTypes::CHANGED:
+ if (!empty($status->friendicaExtension()->changedAt())) {
+ self::setBoundaries(new DateTime(DateTimeFormat::utc($status->friendicaExtension()->changedAt(), DateTimeFormat::JSON)));
+ }
+ break;
+ case TimelineOrderByTypes::CREATED:
+ if (!empty($status->createdAt())) {
+ self::setBoundaries(new DateTime(DateTimeFormat::utc($status->createdAt(), DateTimeFormat::JSON)));
+ }
+ break;
+ case TimelineOrderByTypes::COMMENTED:
+ if (!empty($status->friendicaExtension()->commentedAt())) {
+ self::setBoundaries(new DateTime(DateTimeFormat::utc($status->friendicaExtension()->commentedAt(), DateTimeFormat::JSON)));
+ }
+ break;
+ case TimelineOrderByTypes::EDITED:
+ if (!empty($status->editedAt())) {
+ self::setBoundaries(new DateTime(DateTimeFormat::utc($status->editedAt(), DateTimeFormat::JSON)));
+ }
+ break;
+ case TimelineOrderByTypes::RECEIVED:
+ if (!empty($status->friendicaExtension()->receivedAt())) {
+ self::setBoundaries(new DateTime(DateTimeFormat::utc($status->friendicaExtension()->receivedAt(), DateTimeFormat::JSON)));
+ }
+ break;
+ case TimelineOrderByTypes::ID:
+ default:
+ self::setBoundaries($post_item['uri-id']);
+ }
+ } catch (\Exception $e) {
+ Logger::debug('Error processing page boundary calculation, skipping', ['error' => $e]);
+ }