X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=maintenance%2FchangePassword.php;h=a6bef5c7c3326317c66f32f957cafaaf43eba16f;hb=38e663d0eda5ba2be6ca8b71050ea020a64ea8cf;hp=0fe8c0bea3e1d7510ee4be9bc022c90dae20e88b;hpb=1c9773bd015adbf8aedb3b1777f0e087906baf6f;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/changePassword.php b/maintenance/changePassword.php index 0fe8c0bea3..a6bef5c7c3 100644 --- a/maintenance/changePassword.php +++ b/maintenance/changePassword.php @@ -2,55 +2,51 @@ /** * Change the password of a given user * - * @file - * @ingroup Maintenance + * 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 * * @author Ævar Arnfjörð Bjarmason * @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(); - -/** * @ingroup Maintenance */ -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; +require_once( dirname( __FILE__ ) . '/Maintenance.php' ); - $this->dbw = wfGetDB( DB_MASTER ); +class ChangePassword extends Maintenance { + public function __construct() { + parent::__construct(); + $this->addOption( "user", "The username to operate on", true, true ); + $this->addOption( "password", "The password to use", true, true ); + $this->mDescription = "Change a user's password"; } - - function main() { - $this->user->setPassword( $this->password ); - $this->user->saveSettings(); + + public function execute() { + $user = User::newFromName( $this->getOption( 'user' ) ); + if ( !$user->getId() ) { + $this->error( "No such user: " . $this->getOption( 'user' ), true ); + } + try { + $user->setPassword( $this->getOption( 'password' ) ); + $user->saveSettings(); + $this->output( "Password set for " . $user->getName() . "\n" ); + } catch ( PasswordError $pwe ) { + $this->error( $pwe->getText(), true ); + } } } + +$maintClass = "ChangePassword"; +require_once( DO_MAINTENANCE );