X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fresourceloader%2FResourceLoaderOOUIImageModule.php;h=55e9e53de918848ca7ad3a77002e32d3f9821af8;hb=e9daa066fe09dea9c06c2a59c64d8ad16be8b0bc;hp=34079c3b7bc196cb53fb97e1562dea55778693b0;hpb=dfec83932fd38a9086eb5a2e212889ad00f35b0e;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/resourceloader/ResourceLoaderOOUIImageModule.php b/includes/resourceloader/ResourceLoaderOOUIImageModule.php index 34079c3b7b..55e9e53de9 100644 --- a/includes/resourceloader/ResourceLoaderOOUIImageModule.php +++ b/includes/resourceloader/ResourceLoaderOOUIImageModule.php @@ -97,6 +97,9 @@ class ResourceLoaderOOUIImageModule extends ResourceLoaderImageModule { // Find the path to the JSON file which contains the actual image definitions for this theme if ( $module ) { $dataPath = $this->getThemeImagesPath( $theme, $module ); + if ( !$dataPath ) { + return []; + } } else { // Backwards-compatibility for things that probably shouldn't have used this class... $dataPath = @@ -116,7 +119,7 @@ class ResourceLoaderOOUIImageModule extends ResourceLoaderImageModule { * @return array|false */ protected function readJSONFile( $dataPath ) { - $localDataPath = $this->localBasePath . '/' . $dataPath; + $localDataPath = $this->getLocalPath( $dataPath ); if ( !file_exists( $localDataPath ) ) { return false; @@ -127,7 +130,15 @@ class ResourceLoaderOOUIImageModule extends ResourceLoaderImageModule { // Expand the paths to images (since they are relative to the JSON file that defines them, not // our base directory) $fixPath = function ( &$path ) use ( $dataPath ) { - $path = dirname( $dataPath ) . '/' . $path; + if ( $dataPath instanceof ResourceLoaderFilePath ) { + $path = new ResourceLoaderFilePath( + dirname( $dataPath->getPath() ) . '/' . $path, + $dataPath->getLocalBasePath(), + $dataPath->getRemoteBasePath() + ); + } else { + $path = dirname( $dataPath ) . '/' . $path; + } }; array_walk( $data['images'], function ( &$value ) use ( $fixPath ) { if ( is_string( $value['file'] ) ) {