X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=classes%2FProfile.php;h=7005e776a59da542c91ee18fff2d8ff5e0e1ae71;hb=96d7b68c50291c4768f331f6693d8afb8cbb4afa;hp=3b3e43025ba7189b0c1f3ce558bdd0cd0bc8d483;hpb=cd3bc8f4ef068636a8f169b357cf012f6e99f291;p=quix0rs-gnu-social.git diff --git a/classes/Profile.php b/classes/Profile.php index 3b3e43025b..7005e776a5 100644 --- a/classes/Profile.php +++ b/classes/Profile.php @@ -595,6 +595,8 @@ class Profile extends Managed_DataObject if (Event::handle('StartJoinGroup', array($group, $this))) { $join = Group_member::join($group->id, $this->id); self::blow('profile:groups:%d', $this->id); + self::blow('group:member_ids:%d', $group->id); + self::blow('group:member_count:%d', $group->id); Event::handle('EndJoinGroup', array($group, $this)); } } @@ -615,6 +617,8 @@ class Profile extends Managed_DataObject if (Event::handle('StartLeaveGroup', array($group, $this))) { Group_member::leave($group->id, $this->id); self::blow('profile:groups:%d', $this->id); + self::blow('group:member_ids:%d', $group->id); + self::blow('group:member_count:%d', $group->id); Event::handle('EndLeaveGroup', array($group, $this)); } } @@ -1139,11 +1143,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); + } } /** @@ -1174,6 +1194,8 @@ class Profile extends Managed_DataObject case Right::SILENCEUSER: case Right::DELETEUSER: case Right::DELETEGROUP: + case Right::TRAINSPAM: + case Right::REVIEWSPAM: $result = $this->hasRole(Profile_role::MODERATOR); break; case Right::CONFIGURESITE: