+ protected function updateBoundaries(Status $status, array $post_item, string $order) {
+ ;
+ 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->friendicaExtension()->editedAt())){
+ self::setBoundaries(new DateTime(DateTimeFormat::utc($status->friendicaExtension()->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]);
+ }
+ }
+