static function getStream($tag, $offset=0, $limit=20, $sinceId=0, $maxId=0)
{
$stream = new TagNoticeStream($tag);
-
- return $stream->getNotices($offset, $limit, $sinceId, $maxId);
+ return $stream;
}
function blowCache($blowLast=false)
*
* @return $inScope Whether the current profile is allowed to see this tag
*/
- public function isCurrentProfileInScope () {
+ function isCurrentProfileInScope () {
// Check scope, default is allowed
$inScope = TRUE;
// 1) Get notice object and set id
$notice = new Notice();
- $notice->id = $this->notice_id;
- $notice->scope = $this->scope;
- /* NOISY-DEBUG: */ common_debug('[' . __METHOD__ . ':' . __LINE__ . '] this->tag=' . $this->tag . ',notice->id=' . $notice->id . ',notice->scope=' . $notice->scope);
+ $notice->id = $this->notice_id;
- // Is it private scope?
- if ($notice->isPrivateScope()) {
- // 2) Get current profile
- $profile = Profile::current();
+ //* NOISY-DEBUG: */ common_debug('[' . __METHOD__ . ':' . __LINE__ . '] this->tag=' . $this->tag . ',this->notice_id=' . $this->notice_id . ' - Calling find() ... fetch() ...');
- // Is the profile not set?
- if (!$profile instanceof Profile) {
- // Public viewer shall not see a tag from a private dent (privacy leak)
- /* NOISY-DEBUG: */ common_debug('[' . __METHOD__ . ':' . __LINE__ . '] Not logged in, skipping ...');
- $inScope = FALSE;
- } elseif (!$notice->inScope($profile)) {
- // Current profile is not in scope (not allowed to see) of notice
- /* NOISY-DEBUG: */ common_debug('[' . __METHOD__ . ':' . __LINE__ . '] profile->id=' . $profile->id . ' is not allowed to see this tag, skipping ...');
- $inScope = FALSE;
- }
+ // Fetch notice
+ if ((!$notice->find()) || (!$notice->fetch())) {
+ // No longer valid, so better don't allow to see it
+ return FALSE;
}
+ //* NOISY-DEBUG: */ common_debug('[' . __METHOD__ . ':' . __LINE__ . '] this->tag=' . $this->tag . ',notice->id=' . $notice->id . ',notice->scope=' . $notice->scope);
+
+ // Is it private scope?
+ $inScope = $notice->isCurrentProfileInScope();
+
// Return result
- /* NOISY-DEBUG: */ common_debug('[' . __METHOD__ . ':' . __LINE__ . '] this->tag=' . $this->tag . ',this->weight=' . $this->weight . ',inScope=' . intval($inScope) . ' - EXIT!');
+ //* NOISY-DEBUG: */ common_debug('[' . __METHOD__ . ':' . __LINE__ . '] this->tag=' . $this->tag . ',this->weight=' . $this->weight . ',inScope=' . intval($inScope) . ' - EXIT!');
return $inScope;
}
}