From: Max Semenik Date: Tue, 16 Nov 2010 18:13:35 +0000 (+0000) Subject: Added --env-checks parameter to install.php that checks for prerequisites instead... X-Git-Tag: 1.31.0-rc.0~33851 X-Git-Url: https://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/banques/?a=commitdiff_plain;h=14991fbd39a4df407c3a74e99a2bc9950d268610;p=lhc%2Fweb%2Fwiklou.git Added --env-checks parameter to install.php that checks for prerequisites instead of installing --- 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(); + } } }