3 * Invalidates the bot passwords of a given user
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 * http://www.gnu.org/copyleft/gpl.html
21 * @ingroup Maintenance
24 use MediaWiki\Maintenance\Maintenance
;
25 use MediaWiki\User\BotPassword
;
27 // @codeCoverageIgnoreStart
28 require_once __DIR__
. '/Maintenance.php';
29 // @codeCoverageIgnoreEnd
32 * Maintenance script to invalidate the bot passwords of a given user.
34 * @ingroup Maintenance
36 class InvalidateBotPasswords
extends Maintenance
{
37 public function __construct() {
38 parent
::__construct();
39 $this->addOption( "user", "The username to operate on", false, true );
40 $this->addOption( "userid", "The user id to operate on", false, true );
41 $this->addDescription( "Invalidate a user's bot passwords" );
44 public function execute() {
45 $user = $this->validateUserOption( "A \"user\" or \"userid\" must be set to invalidate the bot passwords for" );
47 $res = BotPassword
::invalidateAllPasswordsForUser( $user->getName() );
50 $this->output( "Bot passwords invalidated for " . $user->getName() . "\n" );
52 $this->output( "No bot passwords invalidated for " . $user->getName() . "\n" );
57 // @codeCoverageIgnoreStart
58 $maintClass = InvalidateBotPasswords
::class;
59 require_once RUN_MAINTENANCE_IF_MAIN
;
60 // @codeCoverageIgnoreEnd