Page MenuHomeWickedGov Phorge

GlobalRenameUserValidator.php
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

GlobalRenameUserValidator.php

<?php
namespace MediaWiki\Extension\CentralAuth\GlobalRename;
use MediaWiki\Extension\CentralAuth\User\CentralAuthUser;
use MediaWiki\Status\Status;
use MediaWiki\User\UserIdentity;
use MediaWiki\User\UserNameUtils;
/**
* Verify whether a potential global rename is valid
*
* @license GPL-2.0-or-later
* @author Marius Hoch < hoo@online.de >
*/
class GlobalRenameUserValidator {
private UserNameUtils $userNameUtils;
public function __construct( UserNameUtils $userNameUtils ) {
$this->userNameUtils = $userNameUtils;
}
/**
* Check that we can perform the rename
*
* @param UserIdentity $oldUser
* @param UserIdentity $newUser
*
* @return Status
*/
public function validate( UserIdentity $oldUser, UserIdentity $newUser ) {
$status = new Status();
if ( !$this->userNameUtils->isCreatable( $newUser->getName() ) ) {
$status->fatal( 'centralauth-rename-badusername' );
}
$caOldUser = CentralAuthUser::getInstance( $oldUser );
if ( !$caOldUser->exists() ) {
$status->fatal( 'centralauth-rename-doesnotexist' );
}
$caNewUser = CentralAuthUser::getInstance( $newUser );
if ( $caNewUser->exists() ) {
$status->fatal( 'centralauth-rename-alreadyexists' );
}
$unattached = $caNewUser->listUnattached();
if ( $unattached ) {
$status->fatal( 'centralauth-rename-unattached-intheway' );
}
// Check we're not currently renaming the user
$renameState = $caOldUser->renameInProgress();
if ( $renameState ) {
$status->fatal( 'centralauth-rename-alreadyinprogress', $renameState[1] );
}
return $status;
}
}

File Metadata

Mime Type
text/x-php
Expires
Aug 16 2026, 20:40 (12 w, 1 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
c6/c9/08cfee6135067ddf1e8d4bfb25da
Default Alt Text
GlobalRenameUserValidator.php (1 KB)

Event Timeline