From c762e0ced90472fcd013a415eedb6337c7ded025 Mon Sep 17 00:00:00 2001 From: Stephane Bisson Date: Mon, 8 Feb 2016 17:06:33 -0500 Subject: [PATCH] Add 'reason' to UserGroupsChanged hook Used by Echo to display the reason in the 'user-rights' notifications Bug: T126277 Change-Id: Ib9bb28a7a77602e3e729fd0bf13ab8259e15b006 --- docs/hooks.txt | 2 ++ includes/specials/SpecialUserrights.php | 2 +- includes/user/User.php | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/hooks.txt b/docs/hooks.txt index 0fe888fe7e..038df91728 100644 --- a/docs/hooks.txt +++ b/docs/hooks.txt @@ -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). diff --git a/includes/specials/SpecialUserrights.php b/includes/specials/SpecialUserrights.php index 7351c33022..205b67ed8c 100644 --- a/includes/specials/SpecialUserrights.php +++ b/includes/specials/SpecialUserrights.php @@ -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" ); diff --git a/includes/user/User.php b/includes/user/User.php index 749ec46840..95e5ceb98d 100644 --- a/includes/user/User.php +++ b/includes/user/User.php @@ -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 -- 2.20.1