Manual talk:CreateAndPromote.php

Helpful page

 * After installation, sysop username does not exist? Odessaukrain 20:13, 28 May 2009 (UTC)

CreateUser (without promote)
I created a version of this maintenance script (createUser.php) that just creates a user, but doesn't do any promotion. I added settings of the user's real name as well. I hope this is helpful to people.

<?php

/** * Maintenance script to create an account * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * http://www.gnu.org/copyleft/gpl.html * * @ingroup Maintenance * @author Rob Church  */

require_once( dirname(__FILE__) . '/Maintenance.php' );

class CreateUser extends Maintenance {

public function __construct { parent::__construct; $this->mDescription = "Create a new user account"; $this->addArg( "username", "Username of new user" ); $this->addArg( "password", "Password to set" ); $this->addArg( "realname", "Real name for user" ); }

public function execute { $username = $this->getArg(0); $password = $this->getArg(1); $realname = $this->getArg(2);

$this->output( wfWikiID . ": Creating User:{$username}..." );

$user = User::newFromName( $username ); if( !is_object( $user ) ) { $this->error( "invalid username.", true ); } elseif( 0 != $user->idForName ) { $this->error( "account exists.", true ); }

# Try to set the password try { $user->setPassword( $password ); } catch( PasswordError $pwe ) { $this->error( $pwe->getText, true ); }

# Set real name $user->setRealName( $realname );

# Insert the account into the database $user->addToDatabase; $user->saveSettings;

# Increment site_stats.ss_users $ssu = new SiteStatsUpdate( 0, 0, 0, 0, 1 ); $ssu->doUpdate;

$this->output( "done.\n" ); } }

$maintClass = "CreateUser"; require_once( DO_MAINTENANCE ); Dmulter 17:19, 11 January 2011 (UTC)

Batch Create
Is there any way to use this script to create multiple users without having to execute it over and over again? --Zackmann08 (talk) 14:45, 17 July 2012 (UTC)
 * Maybe create a script that puts the list of users in an array and then does a shell_exec foreach of them? Leucosticte (talk) 00:32, 30 December 2013 (UTC)