From: Evan Prodromou Date: Thu, 22 Mar 2012 15:37:45 +0000 (-0400) Subject: flush anonymous scope when a profile is silenced X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=88f3e690c3c34e7c033afbd7bc7734bbec316b2f;p=quix0rs-gnu-social.git flush anonymous scope when a profile is silenced --- diff --git a/classes/Profile.php b/classes/Profile.php index 3b3e43025b..e07d37139b 100644 --- a/classes/Profile.php +++ b/classes/Profile.php @@ -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); + } } /**