- self::checkAllowedScope(self::SCOPE_WRITE);
-
- if (!$this->app->isLoggedIn()) {
- throw new HTTPException\ForbiddenException($this->t('Permission denied.'));
+ 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]);