From b22791b8dc77d6c5d545201fbdc8c05c0a914903 Mon Sep 17 00:00:00 2001 From: jan Date: Fri, 5 Oct 2012 23:35:37 +0200 Subject: [PATCH] Add passfile option to install.php Add passfile option to install.php so a file with the password can be used. Change-Id: Ibf45933971374c90726359cff16617cb37d002fc --- maintenance/install.php | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/maintenance/install.php b/maintenance/install.php index 762bb94fa6..365791e986 100644 --- a/maintenance/install.php +++ b/maintenance/install.php @@ -45,7 +45,8 @@ class CommandLineInstaller extends Maintenance { $this->addArg( 'name', 'The name of the wiki', true); $this->addArg( 'admin', 'The username of the wiki administrator (WikiSysop)', true ); - $this->addOption( 'pass', 'The password for the wiki administrator.', true, true ); + $this->addOption( 'pass', 'The password for the wiki administrator.', false, true ); + $this->addOption( 'passfile', 'An alternative way to provide pass option, as the contents of this file', false, true ); /* $this->addOption( 'email', 'The email for the wiki administrator', false, true ); */ $this->addOption( 'scriptpath', 'The relative path of the wiki in the web server (/wiki)', false, true ); @@ -86,6 +87,19 @@ class CommandLineInstaller extends Maintenance { $this->mOptions['dbpass'] = trim( $dbpass, "\r\n" ); } + $passfile = $this->getOption( 'passfile', false ); + if ( $passfile !== false ) { + wfSuppressWarnings(); + $pass = file_get_contents( $passfile ); + wfRestoreWarnings(); + if ( $pass === false ) { + $this->error( "Couldn't open $passfile", true ); + } + $this->mOptions['pass'] = str_replace( array( "\n", "\r" ), "", $pass ); + } elseif ( $this->getOption( 'pass', false ) === false ) { + $this->error( "You need to provide the option pass or passfile", true ); + } + $installer = InstallerOverrides::getCliInstaller( $siteName, $adminName, $this->mOptions ); -- 2.20.1