Maintenance script to create an account and promote it to administrator
authorRob Church <robchurch@users.mediawiki.org>
Sat, 17 Jun 2006 23:07:16 +0000 (23:07 +0000)
committerRob Church <robchurch@users.mediawiki.org>
Sat, 17 Jun 2006 23:07:16 +0000 (23:07 +0000)
maintenance/createAndPromote.php [new file with mode: 0644]

diff --git a/maintenance/createAndPromote.php b/maintenance/createAndPromote.php
new file mode 100644 (file)
index 0000000..df29c11
--- /dev/null
@@ -0,0 +1,48 @@
+<?php
+
+/**
+ * Maintenance script to create an account and grant it administrator rights
+ *
+ * @package MediaWiki
+ * @subpackage Maintenance
+ * @author Rob Church <robchur@gmail.com>
+ */
+require_once( 'commandLine.inc' );
+
+if( !count( $args ) == 2 ) {
+       echo( "Please provide a username and password for the new account.\n" );
+       die( 1 );
+}
+
+$username = $args[0];
+$password = $args[1];
+
+global $wgDBname;
+echo( "{$wgDBname}: Creating and promoting User:{$username}..." );
+
+# Validate username and check it doesn't exist
+$user = User::newFromName( $username );
+if( !is_object( $user ) ) {
+       echo( "invalid username.\n" );
+       die( 1 );
+} elseif( 0 != $user->idForName() ) {
+       echo( "account exists.\n" );
+       die( 1 );
+}
+
+# Insert the account into the database
+$user->addToDatabase();
+$user->setPassword( $password );
+$user->setToken();
+
+# Promote user
+$user->addGroup( 'sysop' );
+
+# Increment site_stats.ss_users
+$ssu = new SiteStatsUpdate( 0, 0, 0, 0, 1 );
+$ssu->doUpdate();
+
+echo( "done.\n" );
+
+?>
\ No newline at end of file