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->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__ );

View file

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

View file

@ -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;

View file

@ -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(

View file

@ -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 {