$this->addOption( 'installdbpass', 'The pasword for the DB user to install as.', false, true );
$this->addOption( 'dbuser', 'The user to use for normal operations (wikiuser)', false, true );
$this->addOption( 'dbpass', 'The pasword for the DB user for normal operations', false, true );
+ $this->addOption( 'dbpassfile', 'An alternative way to provide dbpass option, as the contents of this file', false, true );
$this->addOption( 'confpath', "Path to write LocalSettings.php to, default $IP", false, true );
/* $this->addOption( 'dbschema', 'The schema for the MediaWiki DB in pg (mediawiki)', false, true ); */
/* $this->addOption( 'namespace', 'The project namespace (same as the name)', false, true ); */
$adminName = isset( $this->mArgs[1] ) ? $this->mArgs[1] : null;
$wgTitle = Title::newFromText( 'Installer script' );
+ $dbpassfile = $this->getOption( 'dbpassfile', false );
+ if ( $dbpassfile !== false ) {
+ wfSuppressWarnings();
+ $dbpass = file_get_contents( $dbpassfile );
+ wfRestoreWarnings();
+ if ( $dbpass === false ) {
+ $this->error( "Couldn't open $dbpassfile", true );
+ }
+ $this->mOptions['dbpass'] = $dbpass;
+ }
+
$installer =
new CliInstaller( $siteName, $adminName, $this->mOptions );