X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=includes%2Fresourceloader%2FResourceLoaderOOUIImageModule.php;h=c6d4cdfde370a1467cc28244a90142074757d55d;hb=eee30a9434ba5ba2dc2f1c2b3b5632543fcbc773;hp=34079c3b7bc196cb53fb97e1562dea55778693b0;hpb=204d0df4d2bb8139109253f3da1df42cd455850c;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/resourceloader/ResourceLoaderOOUIImageModule.php b/includes/resourceloader/ResourceLoaderOOUIImageModule.php index 34079c3b7b..c6d4cdfde3 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 false; + } } 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'] ) ) {