Merge "Hard-deprecate UserGroupMembership methods replaced by manager"

This commit is contained in:
jenkins-bot 2020-06-24 18:35:42 +00:00 committed by Gerrit Code Review
commit a4fd6ef060
5 changed files with 25 additions and 8 deletions

View file

@ -172,7 +172,10 @@ class ApiQueryUsers extends ApiQueryBase {
$this->addTables( 'user_groups' ); $this->addTables( 'user_groups' );
$this->addJoinConds( [ 'user_groups' => [ 'JOIN', 'ug_user=user_id' ] ] ); $this->addJoinConds( [ 'user_groups' => [ 'JOIN', 'ug_user=user_id' ] ] );
$this->addFields( [ 'user_name' ] ); $this->addFields( [ 'user_name' ] );
$this->addFields( UserGroupMembership::selectFields() ); $this->addFields( MediaWikiServices::getInstance()
->getUserGroupManager()
->getQueryInfo()['fields']
);
$this->addWhere( 'ug_expiry IS NULL OR ug_expiry >= ' . $this->addWhere( 'ug_expiry IS NULL OR ug_expiry >= ' .
$db->addQuotes( $db->timestamp() ) ); $db->addQuotes( $db->timestamp() ) );
$userGroupsRes = $this->select( __METHOD__ ); $userGroupsRes = $this->select( __METHOD__ );

View file

@ -1,4 +1,7 @@
<?php <?php
use MediaWiki\MediaWikiServices;
/** /**
* Job that purges expired user group memberships. * Job that purges expired user group memberships.
* *
@ -32,8 +35,7 @@ class UserGroupExpiryJob extends Job implements GenericParameterJob {
* @return bool Success * @return bool Success
*/ */
public function run() { public function run() {
UserGroupMembership::purgeExpired(); MediaWikiServices::getInstance()->getUserGroupManager()->purgeExpired();
return true; return true;
} }
} }

View file

@ -262,16 +262,19 @@ class UsersPager extends AlphabeticPager {
// Lookup groups for all the users // Lookup groups for all the users
$dbr = wfGetDB( DB_REPLICA ); $dbr = wfGetDB( DB_REPLICA );
$groupManager = MediaWikiServices::getInstance()->getUserGroupManager();
$groupsQueryInfo = $groupManager->getQueryInfo();
$groupRes = $dbr->select( $groupRes = $dbr->select(
'user_groups', $groupsQueryInfo['tables'],
UserGroupMembership::selectFields(), $groupsQueryInfo['fields'],
[ 'ug_user' => $userIds ], [ 'ug_user' => $userIds ],
__METHOD__ __METHOD__,
$groupsQueryInfo['joins']
); );
$cache = []; $cache = [];
$groups = []; $groups = [];
foreach ( $groupRes as $row ) { foreach ( $groupRes as $row ) {
$ugm = UserGroupMembership::newFromRow( $row ); $ugm = $groupManager->newGroupMembershipFromRow( $row );
if ( !$ugm->isExpired() ) { if ( !$ugm->isExpired() ) {
$cache[$row->ug_user][$row->ug_group] = $ugm; $cache[$row->ug_user][$row->ug_group] = $ugm;
$groups[$row->ug_group] = true; $groups[$row->ug_group] = true;

View file

@ -119,6 +119,7 @@ class UserGroupMembership {
* @deprecated since 1.35, use UserGroupMembership constructor instead * @deprecated since 1.35, use UserGroupMembership constructor instead
*/ */
public static function newFromRow( $row ) { public static function newFromRow( $row ) {
wfDeprecated( __METHOD__, '1.35' );
return new self( return new self(
(int)$row->ug_user, (int)$row->ug_user,
$row->ug_group, $row->ug_group,
@ -134,6 +135,7 @@ class UserGroupMembership {
* @deprecated since 1.35, use UserGroupManager::getQueryInfo instead * @deprecated since 1.35, use UserGroupManager::getQueryInfo instead
*/ */
public static function selectFields() { public static function selectFields() {
wfDeprecated( __METHOD__, '1.35' );
return MediaWikiServices::getInstance()->getUserGroupManager()->getQueryInfo()['fields']; return MediaWikiServices::getInstance()->getUserGroupManager()->getQueryInfo()['fields'];
} }
@ -147,6 +149,7 @@ class UserGroupMembership {
* @deprecated since 1.35, use UserGroupManager::removeUserFromGroup instead * @deprecated since 1.35, use UserGroupManager::removeUserFromGroup instead
*/ */
public function delete( IDatabase $dbw = null ) { public function delete( IDatabase $dbw = null ) {
wfDeprecated( __METHOD__, '1.35' );
return MediaWikiServices::getInstance() return MediaWikiServices::getInstance()
->getUserGroupManager() ->getUserGroupManager()
->removeUserFromGroup( ->removeUserFromGroup(
@ -172,6 +175,7 @@ class UserGroupMembership {
* @deprecated since 1.35, use UserGroupManager::addUserToGroup instead * @deprecated since 1.35, use UserGroupManager::addUserToGroup instead
*/ */
public function insert( $allowUpdate = false, IDatabase $dbw = null ) { public function insert( $allowUpdate = false, IDatabase $dbw = null ) {
wfDeprecated( __METHOD__, '1.35' );
return MediaWikiServices::getInstance() return MediaWikiServices::getInstance()
->getUserGroupManager() ->getUserGroupManager()
->addUserToGroup( ->addUserToGroup(
@ -204,6 +208,7 @@ class UserGroupMembership {
* @deprecated since 1.35, use UserGroupManager::purgeExpired instead * @deprecated since 1.35, use UserGroupManager::purgeExpired instead
*/ */
public static function purgeExpired() { public static function purgeExpired() {
wfDeprecated( __METHOD__, '1.35' );
return MediaWikiServices::getInstance() return MediaWikiServices::getInstance()
->getUserGroupManager() ->getUserGroupManager()
->purgeExpired(); ->purgeExpired();
@ -220,6 +225,7 @@ class UserGroupMembership {
* @deprecated since 1.35, use UserGroupManager::getUserGroupMemberships instead * @deprecated since 1.35, use UserGroupManager::getUserGroupMemberships instead
*/ */
public static function getMembershipsForUser( $userId, IDatabase $db = null ) { public static function getMembershipsForUser( $userId, IDatabase $db = null ) {
wfDeprecated( __METHOD__, '1.35' );
return MediaWikiServices::getInstance() return MediaWikiServices::getInstance()
->getUserGroupManager() ->getUserGroupManager()
->getUserGroupMemberships( ->getUserGroupMemberships(
@ -244,6 +250,7 @@ class UserGroupMembership {
* @deprecated since 1.35, use UserGroupManager::getUserGroupMemberships instead * @deprecated since 1.35, use UserGroupManager::getUserGroupMemberships instead
*/ */
public static function getMembership( $userId, $group, IDatabase $db = null ) { public static function getMembership( $userId, $group, IDatabase $db = null ) {
wfDeprecated( __METHOD__, '1.35' );
$ugms = MediaWikiServices::getInstance() $ugms = MediaWikiServices::getInstance()
->getUserGroupManager() ->getUserGroupManager()
->getUserGroupMemberships( ->getUserGroupMemberships(

View file

@ -20,6 +20,8 @@
* @ingroup Maintenance * @ingroup Maintenance
*/ */
use MediaWiki\MediaWikiServices;
require_once __DIR__ . '/Maintenance.php'; require_once __DIR__ . '/Maintenance.php';
/* /*
@ -36,7 +38,7 @@ class PurgeExpiredUserrights extends Maintenance {
public function execute() { public function execute() {
$this->output( "Purging expired user rights...\n" ); $this->output( "Purging expired user rights...\n" );
$res = UserGroupMembership::purgeExpired(); $res = MediaWikiServices::getInstance()->getUserGroupManager()->purgeExpired();
if ( $res === false ) { if ( $res === false ) {
$this->output( "Purging failed.\n" ); $this->output( "Purging failed.\n" );
} else { } else {