From: Chad Horohoe Date: Sun, 24 May 2015 13:06:54 +0000 (+0200) Subject: Installer: fix images in CSS X-Git-Tag: 1.31.0-rc.0~11300 X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=commitdiff_plain;h=3809b6a39b459afc629b4cedc614ec527b55806d;hp=5eda39e04ba76d73885fa1d7554e5e8d5622e47a Installer: fix images in CSS Paths are tricky and installer code is old and ugly. Somebody should really clean this up. Prep the paths always, not just on the environment checks page. Co-Authored-By: Timo Tijhof Bug: T100145 Change-Id: I4e55c59c2bed0dc94e6bc3a8c59709ec80822235 --- diff --git a/includes/installer/WebInstaller.php b/includes/installer/WebInstaller.php index f3dba3a72d..156606a6d6 100644 --- a/includes/installer/WebInstaller.php +++ b/includes/installer/WebInstaller.php @@ -1154,6 +1154,25 @@ class WebInstaller extends Installer { * @return bool */ public function envCheckPath() { + // PHP_SELF isn't available sometimes, such as when PHP is CGI but + // cgi.fix_pathinfo is disabled. In that case, fall back to SCRIPT_NAME + // to get the path to the current script... hopefully it's reliable. SIGH + $path = false; + if ( !empty( $_SERVER['PHP_SELF'] ) ) { + $path = $_SERVER['PHP_SELF']; + } elseif ( !empty( $_SERVER['SCRIPT_NAME'] ) ) { + $path = $_SERVER['SCRIPT_NAME']; + } + if ( $path === false ) { + $this->showError( 'config-no-uri' ); + return false; + } + + return parent::envCheckPath(); + } + + public function envPrepPath() { + parent::envPrepPath(); // PHP_SELF isn't available sometimes, such as when PHP is CGI but // cgi.fix_pathinfo is disabled. In that case, fall back to SCRIPT_NAME // to get the path to the current script... hopefully it's reliable. SIGH @@ -1175,14 +1194,8 @@ class WebInstaller extends Installer { $this->setVar( 'wgLocalStylePath', "$scriptPath/skins" ); $this->setVar( 'wgExtensionAssetsPath', "$scriptPath/extensions" ); $this->setVar( 'wgUploadPath', "$scriptPath/images" ); - - } else { - $this->showError( 'config-no-uri' ); - - return false; + $this->setVar( 'wgResourceBasePath', "$scriptPath" ); } - - return parent::envCheckPath(); } /**