]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blobdiff - maintenance/changePassword.php
MediaWiki 1.11.0
[autoinstallsdev/mediawiki.git] / maintenance / changePassword.php
diff --git a/maintenance/changePassword.php b/maintenance/changePassword.php
new file mode 100644 (file)
index 0000000..d612128
--- /dev/null
@@ -0,0 +1,63 @@
+<?php
+/**
+ * Change the password of a given user
+ *
+ * @addtogroup Maintenance
+ *
+ * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
+ * @copyright Copyright © 2005, Ævar Arnfjörð Bjarmason
+ * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
+ */
+
+$optionsWithArgs = array( 'user', 'password' );
+require_once 'commandLine.inc';
+
+$USAGE = 
+       "Usage: php changePassword.php [--user=user --password=password | --help]\n" .
+       "\toptions:\n" .
+       "\t\t--help      show this message\n" .
+       "\t\t--user      the username to operate on\n" .
+       "\t\t--password  the password to use\n";
+
+if( in_array( '--help', $argv ) )
+       wfDie( $USAGE );
+
+$cp = new ChangePassword( @$options['user'], @$options['password'] );
+$cp->main();
+
+class ChangePassword {
+       var $dbw;
+       var $user, $password;
+
+       function ChangePassword( $user, $password ) {
+               global $USAGE;
+               if( !strlen( $user ) or !strlen( $password ) ) {
+                       wfDie( $USAGE );
+               }
+
+               $this->user = User::newFromName( $user );
+               if ( !$this->user->getID() ) {
+                       die ( "No such user: $user\n" );
+               }
+
+               $this->password = $password;
+
+               $this->dbw = wfGetDB( DB_MASTER );
+       }
+
+       function main() {
+               $fname = 'ChangePassword::main';
+
+               $this->dbw->update( 'user',
+                       array(
+                               'user_password' => wfEncryptPassword( $this->user->getID(), $this->password )
+                       ),
+                       array(
+                               'user_id' => $this->user->getID()
+                       ),
+                       $fname
+               );
+       }
+}
+
+