diff --git a/includes/api/ApiQueryUsers.php b/includes/api/ApiQueryUsers.php index 1766bff81fb..ed208260ad1 100644 --- a/includes/api/ApiQueryUsers.php +++ b/includes/api/ApiQueryUsers.php @@ -172,7 +172,10 @@ class ApiQueryUsers extends ApiQueryBase { $this->addTables( 'user_groups' ); $this->addJoinConds( [ 'user_groups' => [ 'JOIN', 'ug_user=user_id' ] ] ); $this->addFields( [ 'user_name' ] ); - $this->addFields( UserGroupMembership::selectFields() ); + $this->addFields( MediaWikiServices::getInstance() + ->getUserGroupManager() + ->getQueryInfo()['fields'] + ); $this->addWhere( 'ug_expiry IS NULL OR ug_expiry >= ' . $db->addQuotes( $db->timestamp() ) ); $userGroupsRes = $this->select( __METHOD__ ); diff --git a/includes/jobqueue/jobs/UserGroupExpiryJob.php b/includes/jobqueue/jobs/UserGroupExpiryJob.php index e685d8d7ea3..0bde4c8565b 100644 --- a/includes/jobqueue/jobs/UserGroupExpiryJob.php +++ b/includes/jobqueue/jobs/UserGroupExpiryJob.php @@ -1,4 +1,7 @@ getUserGroupManager()->purgeExpired(); return true; } } diff --git a/includes/specials/pagers/UsersPager.php b/includes/specials/pagers/UsersPager.php index 5b374fbfaf6..c8e0e2eb8de 100644 --- a/includes/specials/pagers/UsersPager.php +++ b/includes/specials/pagers/UsersPager.php @@ -262,16 +262,19 @@ class UsersPager extends AlphabeticPager { // Lookup groups for all the users $dbr = wfGetDB( DB_REPLICA ); + $groupManager = MediaWikiServices::getInstance()->getUserGroupManager(); + $groupsQueryInfo = $groupManager->getQueryInfo(); $groupRes = $dbr->select( - 'user_groups', - UserGroupMembership::selectFields(), + $groupsQueryInfo['tables'], + $groupsQueryInfo['fields'], [ 'ug_user' => $userIds ], - __METHOD__ + __METHOD__, + $groupsQueryInfo['joins'] ); $cache = []; $groups = []; foreach ( $groupRes as $row ) { - $ugm = UserGroupMembership::newFromRow( $row ); + $ugm = $groupManager->newGroupMembershipFromRow( $row ); if ( !$ugm->isExpired() ) { $cache[$row->ug_user][$row->ug_group] = $ugm; $groups[$row->ug_group] = true; diff --git a/includes/user/UserGroupMembership.php b/includes/user/UserGroupMembership.php index 89af1e66213..0161039f1e0 100644 --- a/includes/user/UserGroupMembership.php +++ b/includes/user/UserGroupMembership.php @@ -119,6 +119,7 @@ class UserGroupMembership { * @deprecated since 1.35, use UserGroupMembership constructor instead */ public static function newFromRow( $row ) { + wfDeprecated( __METHOD__, '1.35' ); return new self( (int)$row->ug_user, $row->ug_group, @@ -134,6 +135,7 @@ class UserGroupMembership { * @deprecated since 1.35, use UserGroupManager::getQueryInfo instead */ public static function selectFields() { + wfDeprecated( __METHOD__, '1.35' ); return MediaWikiServices::getInstance()->getUserGroupManager()->getQueryInfo()['fields']; } @@ -147,6 +149,7 @@ class UserGroupMembership { * @deprecated since 1.35, use UserGroupManager::removeUserFromGroup instead */ public function delete( IDatabase $dbw = null ) { + wfDeprecated( __METHOD__, '1.35' ); return MediaWikiServices::getInstance() ->getUserGroupManager() ->removeUserFromGroup( @@ -172,6 +175,7 @@ class UserGroupMembership { * @deprecated since 1.35, use UserGroupManager::addUserToGroup instead */ public function insert( $allowUpdate = false, IDatabase $dbw = null ) { + wfDeprecated( __METHOD__, '1.35' ); return MediaWikiServices::getInstance() ->getUserGroupManager() ->addUserToGroup( @@ -204,6 +208,7 @@ class UserGroupMembership { * @deprecated since 1.35, use UserGroupManager::purgeExpired instead */ public static function purgeExpired() { + wfDeprecated( __METHOD__, '1.35' ); return MediaWikiServices::getInstance() ->getUserGroupManager() ->purgeExpired(); @@ -220,6 +225,7 @@ class UserGroupMembership { * @deprecated since 1.35, use UserGroupManager::getUserGroupMemberships instead */ public static function getMembershipsForUser( $userId, IDatabase $db = null ) { + wfDeprecated( __METHOD__, '1.35' ); return MediaWikiServices::getInstance() ->getUserGroupManager() ->getUserGroupMemberships( @@ -244,6 +250,7 @@ class UserGroupMembership { * @deprecated since 1.35, use UserGroupManager::getUserGroupMemberships instead */ public static function getMembership( $userId, $group, IDatabase $db = null ) { + wfDeprecated( __METHOD__, '1.35' ); $ugms = MediaWikiServices::getInstance() ->getUserGroupManager() ->getUserGroupMemberships( diff --git a/maintenance/purgeExpiredUserrights.php b/maintenance/purgeExpiredUserrights.php index ee40f5f4e79..c42e79981d4 100644 --- a/maintenance/purgeExpiredUserrights.php +++ b/maintenance/purgeExpiredUserrights.php @@ -20,6 +20,8 @@ * @ingroup Maintenance */ +use MediaWiki\MediaWikiServices; + require_once __DIR__ . '/Maintenance.php'; /* @@ -36,7 +38,7 @@ class PurgeExpiredUserrights extends Maintenance { public function execute() { $this->output( "Purging expired user rights...\n" ); - $res = UserGroupMembership::purgeExpired(); + $res = MediaWikiServices::getInstance()->getUserGroupManager()->purgeExpired(); if ( $res === false ) { $this->output( "Purging failed.\n" ); } else {