Page MenuHomeWickedGov Phorge

SpecialCreateLocalAccount.php
No OneTemporary

Size
2 KB
Referenced Files
None
Subscribers
None

SpecialCreateLocalAccount.php

<?php
namespace MediaWiki\Extension\CentralAuth\Special;
use MediaWiki\Extension\CentralAuth\User\CentralAuthForcedLocalCreationService;
use MediaWiki\Extension\CentralAuth\Widget\HTMLGlobalUserTextField;
use MediaWiki\SpecialPage\FormSpecialPage;
use MediaWiki\Status\Status;
/**
* Special page that can be used to manually create a local account for a global account.
*
* @author Taavi "Majavah" Väänänen
* @ingroup SpecialPage
* @since 1.36
*/
class SpecialCreateLocalAccount extends FormSpecialPage {
private CentralAuthForcedLocalCreationService $forcedLocalCreationService;
public function __construct( CentralAuthForcedLocalCreationService $forcedLocalCreationService ) {
parent::__construct( 'CreateLocalAccount', 'centralauth-createlocal' );
$this->forcedLocalCreationService = $forcedLocalCreationService;
}
/**
* @return bool
*/
public function doesWrites() {
return true;
}
/**
* @return string
*/
protected function getGroupName() {
return 'users';
}
/**
* @return string
*/
protected function getDisplayFormat() {
return 'ooui';
}
protected function preHtml() {
return $this->msg( 'centralauth-createlocal-pretext' )->parse();
}
/** @inheritDoc */
public function execute( $par ) {
$this->requireNamedUser();
$this->checkPermissions();
$this->addHelpLink( 'Help:Extension:CentralAuth/CreateLocalAccount' );
parent::execute( $par );
}
/**
* @return array[]
*/
public function getFormFields() {
return [
'username' => [
'class' => HTMLGlobalUserTextField::class,
'name' => 'target',
'label-message' => 'centralauth-createlocal-username',
],
'reason' => [
'type' => 'text',
'label-message' => 'centralauth-createlocal-reason',
]
];
}
/**
* @param array $data
* @return Status
*/
public function onSubmit( array $data ) {
$username = $data['username'];
$reason = $data['reason'];
return $this->forcedLocalCreationService
->attemptAutoCreateLocalUserFromName( $username, $this->getUser(), $reason );
}
public function onSuccess() {
$this->getOutput()->addWikiMsg( 'centralauth-createlocal-success' );
}
}

File Metadata

Mime Type
text/x-php
Expires
Sat, Oct 3, 08:06 (1 w, 6 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
fa/df/0115f4a77ed1aa2a2a9a686c4ee3
Default Alt Text
SpecialCreateLocalAccount.php (2 KB)

Event Timeline