X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fskins%2FSkinFallbackTemplate.php;h=1c5f3a6fc498f62b606269a7d241f9c2649d4e1d;hb=bf1341985b4c925079905373e419b15221f24af0;hp=0d072ab22f5490f5136c31b88160d73f9cf7eb42;hpb=8455c2551d1e7cca5c619499b8c0a54d07197667;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/skins/SkinFallbackTemplate.php b/includes/skins/SkinFallbackTemplate.php index 0d072ab22f..1c5f3a6fc4 100644 --- a/includes/skins/SkinFallbackTemplate.php +++ b/includes/skins/SkinFallbackTemplate.php @@ -24,9 +24,11 @@ class SkinFallbackTemplate extends BaseTemplate { return $maybeDir !== '.' && $maybeDir !== '..' && is_dir( "$styleDirectory/$maybeDir" ); } ); - // Only keep the ones that contain a .php file with the same name inside + // Filter out skins that aren't installed $possibleSkins = array_filter( $possibleSkins, function ( $skinDir ) use ( $styleDirectory ) { - return is_file( "$styleDirectory/$skinDir/$skinDir.php" ); + return + is_file( "$styleDirectory/$skinDir/skin.json" ) + || is_file( "$styleDirectory/$skinDir/$skinDir.php" ); } ); return $possibleSkins; @@ -56,7 +58,7 @@ class SkinFallbackTemplate extends BaseTemplate { } else { $skinsInstalledText[] = $this->getMsg( 'default-skin-not-found-row-disabled' ) ->params( $normalizedKey, $skin )->plain(); - $skinsInstalledSnippet[] = "require_once \"\$IP/skins/$skin/$skin.php\";"; + $skinsInstalledSnippet[] = $this->getSnippetForSkin( $skin ); } } @@ -72,6 +74,21 @@ class SkinFallbackTemplate extends BaseTemplate { } } + /** + * Get the appropriate LocalSettings.php snippet to enable the given skin + * + * @param string $skin + * @return string + */ + private function getSnippetForSkin( $skin ) { + global $IP; + if ( file_exists( "$IP/skins/$skin/skin.json" ) ) { + return "wfLoadSkin( '$skin' );"; + } else { + return "require_once \"\$IP/skins/$skin/$skin.php\";"; + } + } + /** * Outputs the entire contents of the page. No navigation (other than search box), just the big * warning message and page content. @@ -91,7 +108,7 @@ class SkinFallbackTemplate extends BaseTemplate {