X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Fapisearchatom.php;h=c1aa43483e4549b1cc04b2b45d48997e301a78a8;hb=d6b28c64830f632bb2f4b6f3c9369b9e56ad217a;hp=6743e92c84648ed8e3c13b862915cc59e9125557;hpb=c1cee3b27ffa1529009195604c5495bef4f83bc2;p=quix0rs-gnu-social.git diff --git a/actions/apisearchatom.php b/actions/apisearchatom.php index 6743e92c84..c1aa43483e 100644 --- a/actions/apisearchatom.php +++ b/actions/apisearchatom.php @@ -31,8 +31,6 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); } -require_once INSTALLDIR.'/lib/apiprivateauth.php'; - /** * Action for outputting search results in Twitter compatible Atom * format. @@ -90,10 +88,8 @@ class ApiSearchAtomAction extends ApiPrivateAuthAction * * @return boolean success */ - function prepare($args) + function prepare(array $args=array()) { - common_debug("in apisearchatom prepare()"); - parent::prepare($args); $this->query = $this->trimmed('q'); @@ -114,7 +110,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'); @@ -132,7 +128,7 @@ class ApiSearchAtomAction extends ApiPrivateAuthAction * * @return void */ - function handle($args) + function handle(array $args=array()) { parent::handle($args); common_debug("In apisearchatom handle()"); @@ -171,12 +167,22 @@ class ApiSearchAtomAction extends ApiPrivateAuthAction if ($this->cnt > 0) { while ($notice->fetch()) { + // Check scope of notice to current profile (including guests) + if (!$notice->isCurrentProfileInScope()) { + // Not in scope + continue; + } + ++$cnt; if (!$this->max_id) { $this->max_id = $notice->id; } + if ($this->since_id && $notice->id <= $this->since_id) { + break; + } + if ($cnt > $this->rpp) { break; } @@ -339,7 +345,7 @@ class ApiSearchAtomAction extends ApiPrivateAuthAction $source = null; $ns = $notice->getSource(); - if ($ns) { + if ($ns instanceof Notice_source) { if (!empty($ns->name) && !empty($ns->url)) { $source = '