* Double-escaping, checkLabel, fixed another label
[mediawiki.git] / maintenance / changePassword.php
blobd61212803571e6de37097c12bc47313a0fda0148
1 <?php
2 /**
3 * Change the password of a given user
5 * @addtogroup Maintenance
7 * @author Ævar Arnfjörð Bjarmason <avarab@gmail.com>
8 * @copyright Copyright © 2005, Ævar Arnfjörð Bjarmason
9 * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 2.0 or later
12 $optionsWithArgs = array( 'user', 'password' );
13 require_once 'commandLine.inc';
15 $USAGE =
16 "Usage: php changePassword.php [--user=user --password=password | --help]\n" .
17 "\toptions:\n" .
18 "\t\t--help show this message\n" .
19 "\t\t--user the username to operate on\n" .
20 "\t\t--password the password to use\n";
22 if( in_array( '--help', $argv ) )
23 wfDie( $USAGE );
25 $cp = new ChangePassword( @$options['user'], @$options['password'] );
26 $cp->main();
28 class ChangePassword {
29 var $dbw;
30 var $user, $password;
32 function ChangePassword( $user, $password ) {
33 global $USAGE;
34 if( !strlen( $user ) or !strlen( $password ) ) {
35 wfDie( $USAGE );
38 $this->user = User::newFromName( $user );
39 if ( !$this->user->getID() ) {
40 die ( "No such user: $user\n" );
43 $this->password = $password;
45 $this->dbw = wfGetDB( DB_MASTER );
48 function main() {
49 $fname = 'ChangePassword::main';
51 $this->dbw->update( 'user',
52 array(
53 'user_password' => wfEncryptPassword( $this->user->getID(), $this->password )
55 array(
56 'user_id' => $this->user->getID()
58 $fname