Merge branch 'limitdist' of gitorious.org:~evan/statusnet/evans-mainline into limitdist

Conflicts:
	classes/Notice.php
This commit is contained in:
Evan Prodromou 2011-03-22 18:17:09 -04:00
commit fd8dad3963
1 changed files with 40 additions and 0 deletions

View File

@ -1156,4 +1156,44 @@ class Profile extends Memcached_DataObject
return $profile;
}
function canRead(Notice $notice)
{
if ($notice->scope & Notice::SITE_SCOPE) {
$user = $this->getUser();
if (empty($user)) {
return false;
}
}
if ($notice->scope & Notice::ADDRESSEE_SCOPE) {
$replies = $notice->getReplies();
if (!in_array($this->id, $replies)) {
$groups = $notice->getGroups();
$foundOne = false;
foreach ($groups as $group) {
if ($this->isMember($group)) {
$foundOne = true;
break;
}
}
if (!$foundOne) {
return false;
}
}
}
if ($notice->scope & Notice::FOLLOWER_SCOPE) {
$author = $notice->getProfile();
if (!Subscription::exists($this, $author)) {
return false;
}
}
return true;
}
}