From 14991fbd39a4df407c3a74e99a2bc9950d268610 Mon Sep 17 00:00:00 2001 From: Max Semenik Date: Tue, 16 Nov 2010 18:13:35 +0000 Subject: [PATCH] Added --env-checks parameter to install.php that checks for prerequisites instead of installing --- includes/installer/CliInstaller.php | 6 +++++- maintenance/install.php | 21 +++++++++++++++++---- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/includes/installer/CliInstaller.php b/includes/installer/CliInstaller.php index 61c9470d65..fc71c0c214 100644 --- a/includes/installer/CliInstaller.php +++ b/includes/installer/CliInstaller.php @@ -120,7 +120,11 @@ class CliInstaller extends CoreInstaller { } public function showMessage( $msg /*, ... */ ) { - echo html_entity_decode( strip_tags( $msg ), ENT_QUOTES ); + $params = func_get_args(); + array_shift( $params ); + $text = wfMsgExt( $msg, array( 'parseinline' ), $params ); + $text = preg_replace( '/(.*?)<\/a>/', '$2 <$1>', $text ); + echo html_entity_decode( strip_tags( $text ), ENT_QUOTES ) . "\n"; flush(); } diff --git a/maintenance/install.php b/maintenance/install.php index 14247941d3..56e49cf83c 100644 --- a/maintenance/install.php +++ b/maintenance/install.php @@ -52,17 +52,30 @@ class CommandLineInstaller extends Maintenance { /* $this->addOption( 'dbschema', 'The schema for the MediaWiki DB in pg (mediawiki)', false, true ); */ /* $this->addOption( 'dbtsearch2schema', 'The schema for the tsearch2 DB in pg (public)', false, true ); */ /* $this->addOption( 'namespace', 'The project namespace (same as the name)', false, true ); */ + $this->addOption( 'env-checks', "Run environment checks only, don't change anything" ); } public function execute() { - global $IP; + global $IP, $wgTitle; + $siteName = isset( $this->mArgs[0] ) ? $this->mArgs[0] : "Don't care"; // Will not be set if used with --env-checks $adminName = isset( $this->mArgs[1] ) ? $this->mArgs[1] : null; + $wgTitle = Title::newFromText( 'Installer script' ); $installer = - new CliInstaller( $this->mArgs[0], $adminName, $this->mOptions ); + new CliInstaller( $siteName, $adminName, $this->mOptions ); + + if ( $this->hasOption( 'env-checks' ) ) { + $installer->doEnvironmentChecks(); + } else { + $installer->execute(); + $installer->writeConfigurationFile( $this->getOption( 'confpath', $IP ) ); + } + } - $installer->execute(); - $installer->writeConfigurationFile( $this->getOption( 'confpath', $IP ) ); + protected function validateParamsAndArgs() { + if ( !$this->hasOption( 'env-checks' ) ) { + parent::validateParamsAndArgs(); + } } } -- 2.20.1