* @ingroup Maintenance
*/
-require_once( __DIR__ . '/Maintenance.php' );
+require_once __DIR__ . '/Maintenance.php';
/**
* Maintenance script that protects or unprotects a page.
class Protect extends Maintenance {
public function __construct() {
parent::__construct();
- $this->mDescription = "Protect or unprotect a page from the command line.";
+ $this->addDescription( 'Protect or unprotect a page from the command line.' );
$this->addOption( 'unprotect', 'Removes protection' );
$this->addOption( 'semiprotect', 'Adds semi-protection' );
$this->addOption( 'cascade', 'Add cascading protection' );
}
public function execute() {
- $userName = $this->getOption( 'u', 'Maintenance script' );
+ $userName = $this->getOption( 'u', false );
$reason = $this->getOption( 'r', '' );
$cascade = $this->hasOption( 'cascade' );
$protection = "";
}
- $user = User::newFromName( $userName );
+ if ( $userName === false ) {
+ $user = User::newSystemUser( 'Maintenance script', array( 'steal' => true ) );
+ } else {
+ $user = User::newFromName( $userName );
+ }
if ( !$user ) {
$this->error( "Invalid username", true );
}