Fix variants for OO UI images
authorMatthew Flaschen <mflaschen@wikimedia.org>
Tue, 9 Jun 2015 20:55:50 +0000 (16:55 -0400)
committerRoan Kattouw <roan.kattouw@gmail.com>
Tue, 9 Jun 2015 22:51:59 +0000 (15:51 -0700)
Fixes T101895, caused by https://gerrit.wikimedia.org/r/#/c/212917/

Bug: T101895
Change-Id: Icd9af0d2eba2a62a1761cb9c9dcd90fc736c2b39

includes/resourceloader/ResourceLoaderOOUIImageModule.php

index 6d76493..ebbeb01 100644 (file)
@@ -43,9 +43,16 @@ class ResourceLoaderOOUIImageModule extends ResourceLoaderImageModule {
 
                        if ( file_exists( $dataPath ) ) {
                                $data = json_decode( file_get_contents( $dataPath ), true );
-                               array_walk_recursive( $data['images'], function ( &$path ) use ( $rootPath, $theme ) {
+                               $fixPath = function ( &$path ) use ( $rootPath, $theme ) {
                                        // TODO Allow extensions to specify this path somehow
                                        $path = $rootPath . '/' . $theme . '/' . $path;
+                               };
+                               array_walk( $data['images'], function ( &$value ) use ( $fixPath ) {
+                                       if ( is_string( $value['file'] ) ) {
+                                               $fixPath( $value['file'] );
+                                       } else if ( is_array( $value['file'] ) ) {
+                                               array_walk_recursive( $value['file'], $fixPath );
+                                       }
                                } );
                        } else {
                                $data = array();