- $posts = Post::selectPosts(['uri-id', 'thr-parent-id'],
- ['parent-uri-id' => $parent['parent-uri-id'], 'gravity' => [GRAVITY_PARENT, GRAVITY_COMMENT]]);
+ $id = $parent['uri-id'];
+ $params = ['order' => ['uri-id' => true]];
+ $condition = ['parent-uri-id' => $parent['parent-uri-id'], 'gravity' => [Item::GRAVITY_PARENT, Item::GRAVITY_COMMENT]];
+
+ if (!empty($request['max_id'])) {
+ $condition = DBA::mergeConditions($condition, ["`uri-id` < ?", $request['max_id']]);
+ }
+
+ if (!empty($request['since_id'])) {
+ $condition = DBA::mergeConditions($condition, ["`uri-id` > ?", $request['since_id']]);
+ }
+
+ if (!empty($request['min_id'])) {
+ $condition = DBA::mergeConditions($condition, ["`uri-id` > ?", $request['min_id']]);
+ $params['order'] = ['uri-id'];
+ }
+
+ if (!empty($uid) && !$request['show_all']) {
+ $condition = DBA::mergeConditions(
+ $condition,
+ ["NOT `author-id` IN (SELECT `cid` FROM `user-contact` WHERE `uid` = ? AND (`blocked` OR `ignored`))", $uid]
+ );
+ }
+
+ $posts = Post::selectPosts(['uri-id', 'thr-parent-id', 'deleted'], $condition, $params);