X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fpublicnoticestream.php;h=1dd59059fd7e357f8ce2c2d1676ec6ea391c44ff;hb=b4271a3533bdf12329f27dd75452c1ef2a6ee3d1;hp=6a861ca26e68109921ca1acd4042a0c2602df88b;hpb=d36f0707a488b6e2513193a0a2f72811435553ec;p=quix0rs-gnu-social.git diff --git a/lib/publicnoticestream.php b/lib/publicnoticestream.php index 6a861ca26e..1dd59059fd 100644 --- a/lib/publicnoticestream.php +++ b/lib/publicnoticestream.php @@ -1,14 +1,68 @@ . + * + * @category Stream + * @package StatusNet + * @author Evan Prodromou + * @copyright 2011 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 + * @link http://status.net/ + */ -class PublicNoticeStream extends CachingNoticeStream +if (!defined('GNUSOCIAL')) { exit(1); } + +/** + * Public stream + * + * @category Stream + * @package StatusNet + * @author Evan Prodromou + * @copyright 2011 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 + * @link http://status.net/ + */ + +class PublicNoticeStream extends ScopingNoticeStream { - function __construct() + function __construct(Profile $scoped=null) { - parent::__construct(new RawPublicNoticeStream(), 'public'); + parent::__construct(new CachingNoticeStream(new RawPublicNoticeStream(), + 'public'), + $scoped); } } -class RawPublicNoticeStream extends NoticeStream +/** + * Raw public stream + * + * @category Stream + * @package StatusNet + * @author Evan Prodromou + * @copyright 2011 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 + * @link http://status.net/ + */ + +class RawPublicNoticeStream extends FullNoticeStream { function getNoticeIds($offset, $limit, $since_id, $max_id) { @@ -23,17 +77,14 @@ class RawPublicNoticeStream extends NoticeStream $notice->limit($offset, $limit); } - if (common_config('public', 'localonly')) { - $notice->whereAdd('is_local = ' . Notice::LOCAL_PUBLIC); - } else { - // -1 == blacklisted, -2 == gateway (i.e. Twitter) - $notice->whereAdd('is_local !='. Notice::LOCAL_NONPUBLIC); - $notice->whereAdd('is_local !='. Notice::GATEWAY); - } + // This feed always gives only local activities. + $notice->whereAdd('is_local = ' . Notice::LOCAL_PUBLIC); Notice::addWhereSinceId($notice, $since_id); Notice::addWhereMaxId($notice, $max_id); + self::filterVerbs($notice, $this->selectVerbs); + $ids = array(); if ($notice->find()) { @@ -47,4 +98,4 @@ class RawPublicNoticeStream extends NoticeStream return $ids; } -} \ No newline at end of file +}