flush anonymous scope when a profile is silenced

This commit is contained in:
Evan Prodromou 2012-03-22 11:37:45 -04:00
parent d4bb8fa77a
commit 3b09465fc4

View File

@ -1139,11 +1139,27 @@ class Profile extends Managed_DataObject
function silence()
{
$this->grantRole(Profile_role::SILENCED);
if (common_config('notice', 'hidespam')) {
$this->flushVisibility();
}
}
function unsilence()
{
$this->revokeRole(Profile_role::SILENCED);
if (common_config('notice', 'hidespam')) {
$this->flushVisibility();
}
}
function flushVisibility()
{
// Get all notices
$stream = new ProfileNoticeStream($this, $this);
$ids = $stream->getNoticeIds(0, CachingNoticeStream::CACHE_WINDOW);
foreach ($ids as $id) {
self::blow('notice:in-scope-for:%d:null', $id);
}
}
/**