}
public function updateExternalDBGroups( $user, $addgroups, $delgroups = [] ) {
- \Hooks::run( 'UserGroupsChanged', [ $user, $addgroups, $delgroups ] );
- return true;
+ throw new \BadMethodCallException(
+ 'Update of user groups via AuthPlugin is not supported with AuthManager.'
+ );
}
public function canCreateAccounts() {
}
$oldGroups = $this->getGroups(); // previous groups
+ $oldUGMs = $this->getGroupMemberships();
foreach ( $toPromote as $group ) {
$this->addGroup( $group );
}
+ $newGroups = array_merge( $oldGroups, $toPromote ); // all groups
+ $newUGMs = $this->getGroupMemberships();
+
// update groups in external authentication database
- Hooks::run( 'UserGroupsChanged', [ $this, $toPromote, [], false, false ] );
+ Hooks::run( 'UserGroupsChanged', [ $this, $toPromote, [], false, false, $oldUGMs, $newUGMs ] );
AuthManager::callLegacyAuthPlugin( 'updateExternalDBGroups', [ $this, $toPromote ] );
- $newGroups = array_merge( $oldGroups, $toPromote ); // all groups
-
$logEntry = new ManualLogEntry( 'rights', 'autopromote' );
$logEntry->setPerformer( $this );
$logEntry->setTarget( $this->getUserPage() );