X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Ftagnoticestream.php;h=28f5d0e82483ab4536b4427c07002f0c80e00e12;hb=73dbc5ca1b203758693f73d6423fea71ef6b6fb6;hp=567f04b7e45c56ba8866da522e11a9e4656b1f78;hpb=cb183359e23ae7a5cfb483fa06c6c4b7a8b05fff;p=quix0rs-gnu-social.git diff --git a/lib/tagnoticestream.php b/lib/tagnoticestream.php index 567f04b7e4..28f5d0e824 100644 --- a/lib/tagnoticestream.php +++ b/lib/tagnoticestream.php @@ -28,11 +28,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { - // This check helps protect against security problems; - // your code file can't be executed directly from the web. - exit(1); -} +if (!defined('GNUSOCIAL')) { exit(1); } /** * Stream of notices with a given tag @@ -89,7 +85,23 @@ class RawTagNoticeStream extends NoticeStream Notice::addWhereSinceId($nt, $since_id, 'notice_id'); Notice::addWhereMaxId($nt, $max_id, 'notice_id'); - $nt->orderBy('created DESC, notice_id DESC'); + if (!empty($this->selectVerbs)) { + $nt->joinAdd(array('notice_id', 'notice:id')); + + $filter = array_keys(array_filter($this->selectVerbs)); + if (!empty($filter)) { + // include verbs in selectVerbs with values that equate to true + $nt->whereAddIn('notice.verb', $filter, 'string'); + } + + $filter = array_keys(array_filter($this->selectVerbs, function ($v) { return !$v; })); + if (!empty($filter)) { + // exclude verbs in selectVerbs with values that equate to false + $nt->whereAddIn('!notice.verb', $filter, 'string'); + } + } + + $nt->orderBy('notice.created DESC, notice_id DESC'); if (!is_null($offset)) { $nt->limit($offset, $limit);