* @ingroup Maintenance
*/
class CreateAndPromote extends Maintenance {
- private static $permitRoles = array( 'sysop', 'bureaucrat', 'bot' );
+ private static $permitRoles = [ 'sysop', 'bureaucrat', 'bot' ];
public function __construct() {
parent::__construct();
- $this->mDescription = "Create a new user account and/or grant it additional rights";
+ $this->addDescription( 'Create a new user account and/or grant it additional rights' );
$this->addOption(
'force',
'If acccount exists already, just grant it rights or change password.'
$username = $this->getArg( 0 );
$password = $this->getArg( 1 );
$force = $this->hasOption( 'force' );
- $inGroups = array();
+ $inGroups = [];
$user = User::newFromName( $username );
if ( !is_object( $user ) ) {
$inGroups = $user->getGroups();
}
- $groups = array_filter( self::$permitRoles, array( $this, 'hasOption' ) );
+ $groups = array_filter( self::$permitRoles, [ $this, 'hasOption' ] );
if ( $this->hasOption( 'custom-groups' ) ) {
$customGroupsText = $this->getOption( 'custom-groups' );
if ( $customGroupsText !== '' ) {
}
}
+ if ( !$exists ) {
+ # Insert the account into the database
+ $user->addToDatabase();
+ $user->saveSettings();
+ }
+
if ( $password ) {
# Try to set the password
try {
}
}
- if ( !$exists ) {
- # Insert the account into the database
- $user->addToDatabase();
- $user->saveSettings();
- }
-
# Promote user
- array_map( array( $user, 'addGroup' ), $promotions );
+ array_map( [ $user, 'addGroup' ], $promotions );
if ( !$exists ) {
# Increment site_stats.ss_users