X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModule%2FBaseApi.php;h=d6e5f748f23d35976b5cf99eb84e2ddffb0ed520;hb=e1863951986ba5be173758324a00652bc5af870c;hp=8b79aff49152cb515b721dafdecac40ed2c44cf0;hpb=32bb0976046ef9fa2296d0aeb39a01b0b916dc1e;p=friendica.git diff --git a/src/Module/BaseApi.php b/src/Module/BaseApi.php index 8b79aff491..d6e5f748f2 100644 --- a/src/Module/BaseApi.php +++ b/src/Module/BaseApi.php @@ -129,7 +129,18 @@ class BaseApi extends BaseModule $condition = DBA::mergeConditions($condition, ["`uri-id` > ?", intval($request['min_id'])]); } } else { - $order_field = $requested_order; + switch ($requested_order) { + case TimelineOrderByTypes::RECEIVED: + case TimelineOrderByTypes::CHANGED: + case TimelineOrderByTypes::EDITED: + case TimelineOrderByTypes::CREATED: + case TimelineOrderByTypes::COMMENTED: + $order_field = $requested_order; + break; + default: + throw new \Exception("Unrecognized request order: $requested_order"); + } + if (!empty($request['max_id'])) { $condition = DBA::mergeConditions($condition, ["`$order_field` < ?", DateTimeFormat::convert($request['max_id'], DateTimeFormat::MYSQL)]); } @@ -159,19 +170,11 @@ class BaseApi extends BaseModule $requested_order = $request['friendica_order']; switch ($requested_order) { case TimelineOrderByTypes::CHANGED: - $order_field = 'changed'; - break; case TimelineOrderByTypes::CREATED: - $order_field = 'created'; - break; case TimelineOrderByTypes::COMMENTED: - $order_field = 'commented'; - break; case TimelineOrderByTypes::EDITED: - $order_field = 'edited'; - break; case TimelineOrderByTypes::RECEIVED: - $order_field = 'received'; + $order_field = $requested_order; break; case TimelineOrderByTypes::ID: default: @@ -184,7 +187,7 @@ class BaseApi extends BaseModule $params['order'] = [$order_field => true]; } - $params['limit']= $request['limit']; + $params['limit'] = $request['limit']; return $params; } @@ -218,8 +221,8 @@ class BaseApi extends BaseModule } break; case TimelineOrderByTypes::EDITED: - if (!empty($status->friendicaExtension()->editedAt())) { - self::setBoundaries(new DateTime(DateTimeFormat::utc($status->friendicaExtension()->editedAt(), DateTimeFormat::JSON))); + if (!empty($status->editedAt())) { + self::setBoundaries(new DateTime(DateTimeFormat::utc($status->editedAt(), DateTimeFormat::JSON))); } break; case TimelineOrderByTypes::RECEIVED: @@ -278,7 +281,7 @@ class BaseApi extends BaseModule * Get the "link" header with "next" and "prev" links * @return string */ - protected static function getLinkHeader(bool $asDate): string + protected static function getLinkHeader(bool $asDate = false): string { if (empty(self::$boundaries)) { return ''; @@ -369,7 +372,7 @@ class BaseApi extends BaseModule */ public static function appSupportsQuotes(): bool { - $token = self::getCurrentApplication(); + $token = OAuth::getCurrentApplicationToken(); return (!empty($token['name']) && in_array($token['name'], ['Fedilab'])); }