jenkins-bot has submitted this change and it was merged.
Change subject: Don't skip UserGetRights hook in addGroup/removeGroup
......................................................................
Don't skip UserGetRights hook in addGroup/removeGroup
The addGroup and removeGroup functions in User were reloading the cached
mRights, but not calling the UserGetRights hook that is supposed to
allow for extensions to modify the rights list. Instead, let's just null
the cache so it will be reloaded next time something calls
$user->getRights().
Note we still call $this->getEffectiveGroups( true ), though, to trigger
that to recache.
Change-Id: I81784917303b639bc7c22c726e9cbdb0d191e674
---
M includes/User.php
1 file changed, 10 insertions(+), 2 deletions(-)
Approvals:
Aaron Schulz: Looks good to me, approved
jenkins-bot: Verified
diff --git a/includes/User.php b/includes/User.php
index bb61e80..f205371 100644
--- a/includes/User.php
+++ b/includes/User.php
@@ -2712,7 +2712,11 @@
// In case loadGroups was not called before, we now have the
right twice.
// Get rid of the duplicate.
$this->mGroups = array_unique( $this->mGroups );
- $this->mRights = User::getGroupPermissions(
$this->getEffectiveGroups( true ) );
+
+ // Refresh the groups caches, and clear the rights cache so it
will be
+ // refreshed on the next call to $this->getRights().
+ $this->getEffectiveGroups( true );
+ $this->mRights = null;
$this->invalidateCache();
}
@@ -2742,7 +2746,11 @@
}
$this->loadGroups();
$this->mGroups = array_diff( $this->mGroups, array( $group ) );
- $this->mRights = User::getGroupPermissions(
$this->getEffectiveGroups( true ) );
+
+ // Refresh the groups caches, and clear the rights cache so it
will be
+ // refreshed on the next call to $this->getRights().
+ $this->getEffectiveGroups( true );
+ $this->mRights = null;
$this->invalidateCache();
}
--
To view, visit https://gerrit.wikimedia.org/r/72765
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I81784917303b639bc7c22c726e9cbdb0d191e674
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Anomie <[email protected]>
Gerrit-Reviewer: Aaron Schulz <[email protected]>
Gerrit-Reviewer: CSteipp <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits