Add 'reason' to UserGroupsChanged hook

Used by Echo to display the reason in the 'user-rights' notifications

Bug: T126277
Change-Id: Ib9bb28a7a77602e3e729fd0bf13ab8259e15b006
This commit is contained in:
Stephane Bisson 2016-02-08 17:06:33 -05:00
parent db47c86bc5
commit c762e0ced9
3 changed files with 4 additions and 2 deletions

View file

@ -3285,6 +3285,8 @@ $user: User whose groups changed
$added: Groups added
$removed: Groups removed
$performer: User who performed the change, false if via autopromotion
$reason: The reason, if any, given by the user performing the change,
false if via autopromotion.
'UserIsBlockedFrom': Check if a user is blocked from a specific page (for
specific block exemptions).

View file

@ -292,7 +292,7 @@ class UserrightsPage extends SpecialPage {
$user->invalidateCache();
// update groups in external authentication database
Hooks::run( 'UserGroupsChanged', array( $user, $add, $remove, $this->getUser() ) );
Hooks::run( 'UserGroupsChanged', array( $user, $add, $remove, $this->getUser(), $reason ) );
$wgAuth->updateExternalDBGroups( $user, $add, $remove );
wfDebug( 'oldGroups: ' . print_r( $oldGroups, true ) . "\n" );

View file

@ -1387,7 +1387,7 @@ class User implements IDBAccessObject {
$this->addGroup( $group );
}
// update groups in external authentication database
Hooks::run( 'UserGroupsChanged', array( $this, $toPromote, array(), false ) );
Hooks::run( 'UserGroupsChanged', array( $this, $toPromote, array(), false, false ) );
$wgAuth->updateExternalDBGroups( $this, $toPromote );
$newGroups = array_merge( $oldGroups, $toPromote ); // all groups