diff --git a/actions/apisearchatom.php b/actions/apisearchatom.php index 6743e92c84..32ff918da3 100644 --- a/actions/apisearchatom.php +++ b/actions/apisearchatom.php @@ -114,7 +114,7 @@ class ApiSearchAtomAction extends ApiPrivateAuthAction $this->page = 1; } - // TODO: Suppport since_id -- we need to tweak the backend + // TODO: Suppport max_id -- we need to tweak the backend // Search classes to support it. $this->since_id = $this->trimmed('since_id'); @@ -177,6 +177,10 @@ class ApiSearchAtomAction extends ApiPrivateAuthAction $this->max_id = $notice->id; } + if ($this->since_id && $notice->id <= $this->since_id) { + break; + } + if ($cnt > $this->rpp) { break; } diff --git a/actions/apisearchjson.php b/actions/apisearchjson.php index 38e612ee39..dd442b7f24 100644 --- a/actions/apisearchjson.php +++ b/actions/apisearchjson.php @@ -85,6 +85,9 @@ class ApiSearchJSONAction extends ApiPrivateAuthAction $this->page = 1; } + // TODO: Suppport max_id -- we need to tweak the backend + // Search classes to support it. + $this->since_id = $this->trimmed('since_id'); $this->geocode = $this->trimmed('geocode'); @@ -127,9 +130,9 @@ class ApiSearchJSONAction extends ApiPrivateAuthAction $cnt = $notice->find(); } - // TODO: since_id, lang, geocode + // TODO: max_id, lang, geocode - $results = new JSONSearchResultsList($notice, $q, $this->rpp, $this->page); + $results = new JSONSearchResultsList($notice, $q, $this->rpp, $this->page, $this->since_id); $this->initDocument('json'); $results->show(); diff --git a/lib/jsonsearchresultslist.php b/lib/jsonsearchresultslist.php index 0d72ddf7ab..80d4036aad 100644 --- a/lib/jsonsearchresultslist.php +++ b/lib/jsonsearchresultslist.php @@ -101,6 +101,10 @@ class JSONSearchResultsList $this->max_id = (int)$this->notice->id; } + if ($this->since_id && $this->notice->id <= $this->since_id) { + break; + } + if ($cnt > $this->rpp) { break; }