dépôts
/
lhc
/
web
/
wiklou.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge "CalendarWidget: Fix left arrow position in header"
[lhc/web/wiklou.git]
/
includes
/
resourceloader
/
ResourceLoaderImage.php
diff --git
a/includes/resourceloader/ResourceLoaderImage.php
b/includes/resourceloader/ResourceLoaderImage.php
index
d38a175
..
d9c369d
100644
(file)
--- a/
includes/resourceloader/ResourceLoaderImage.php
+++ b/
includes/resourceloader/ResourceLoaderImage.php
@@
-44,14
+44,18
@@
class ResourceLoaderImage {
* @param string|array $descriptor Path to image file, or array structure containing paths
* @param string $basePath Directory to which paths in descriptor refer
* @param array $variants
* @param string|array $descriptor Path to image file, or array structure containing paths
* @param string $basePath Directory to which paths in descriptor refer
* @param array $variants
+ * @param string|null $defaultColor of the base variant
* @throws InvalidArgumentException
*/
* @throws InvalidArgumentException
*/
- public function __construct( $name, $module, $descriptor, $basePath, $variants ) {
+ public function __construct( $name, $module, $descriptor, $basePath, $variants,
+ $defaultColor = null
+ ) {
$this->name = $name;
$this->module = $module;
$this->descriptor = $descriptor;
$this->basePath = $basePath;
$this->variants = $variants;
$this->name = $name;
$this->module = $module;
$this->descriptor = $descriptor;
$this->basePath = $basePath;
$this->variants = $variants;
+ $this->defaultColor = $defaultColor;
// Expand shorthands:
// [ "en,de,fr" => "foo.svg" ]
// Expand shorthands:
// [ "en,de,fr" => "foo.svg" ]
@@
-136,13
+140,9
@@
class ResourceLoaderImage {
if ( isset( $desc['lang'][$contextLang] ) ) {
return $this->basePath . '/' . $desc['lang'][$contextLang];
}
if ( isset( $desc['lang'][$contextLang] ) ) {
return $this->basePath . '/' . $desc['lang'][$contextLang];
}
- $fallbacks = Language::getFallbacksFor( $contextLang );
+ $fallbacks = Language::getFallbacksFor( $contextLang
, Language::STRICT_FALLBACKS
);
foreach ( $fallbacks as $lang ) {
foreach ( $fallbacks as $lang ) {
- // Images will fallback to 'default' instead of 'en', except for 'en-*' variants
- if (
- ( $lang !== 'en' || substr( $contextLang, 0, 3 ) === 'en-' ) &&
- isset( $desc['lang'][$lang] )
- ) {
+ if ( isset( $desc['lang'][$lang] ) ) {
return $this->basePath . '/' . $desc['lang'][$lang];
}
}
return $this->basePath . '/' . $desc['lang'][$lang];
}
}
@@
-250,7
+250,10
@@
class ResourceLoaderImage {
if ( $variant && isset( $this->variants[$variant] ) ) {
$data = $this->variantize( $this->variants[$variant], $context );
} else {
if ( $variant && isset( $this->variants[$variant] ) ) {
$data = $this->variantize( $this->variants[$variant], $context );
} else {
- $data = file_get_contents( $path );
+ $defaultColor = $this->defaultColor;
+ $data = $defaultColor ?
+ $this->variantize( [ 'color' => $defaultColor ], $context ) :
+ file_get_contents( $path );
}
if ( $format === 'rasterized' ) {
}
if ( $format === 'rasterized' ) {