MediaWiki REL1_32
|
Class encapsulating an image used in a ResourceLoaderImageModule. More...
Public Member Functions | |
__construct ( $name, $module, $descriptor, $basePath, $variants, $defaultColor=null) | |
getDataUri (ResourceLoaderContext $context, $variant, $format) | |
Get the data: URI that will produce this image. | |
getExtension ( $format='original') | |
Get the extension of the image. | |
getImageData (ResourceLoaderContext $context, $variant=false, $format=false) | |
Get actual image data for this image. | |
getMimeType ( $format='original') | |
Get the MIME type of the image. | |
getModule () | |
Get name of the module this image belongs to. | |
getName () | |
Get name of this image. | |
getPath (ResourceLoaderContext $context) | |
Get the path to image file for given context. | |
getUrl (ResourceLoaderContext $context, $script, $variant, $format) | |
Get the load.php URL that will produce this image. | |
getVariants () | |
Get the list of variants this image can be converted to. | |
sendResponseHeaders (ResourceLoaderContext $context) | |
Send response headers (using the header() function) that are necessary to correctly serve the image data for this image, as returned by getImageData(). | |
Protected Member Functions | |
massageSvgPathdata ( $svg) | |
Massage the SVG image data for converters which don't understand some path data syntax. | |
rasterize ( $svg) | |
Convert passed image data, which is assumed to be SVG, to PNG. | |
variantize ( $variantConf, ResourceLoaderContext $context) | |
Convert this image, which is assumed to be SVG, to given variant. | |
Static Protected Attributes | |
static array | $fileTypes |
Map of allowed file extensions to their MIME types. | |
Class encapsulating an image used in a ResourceLoaderImageModule.
Definition at line 28 of file ResourceLoaderImage.php.
ResourceLoaderImage::__construct | ( | $name, | |
$module, | |||
$descriptor, | |||
$basePath, | |||
$variants, | |||
$defaultColor = null |
|||
) |
string | $name | Image name |
string | $module | Module name |
string | array | $descriptor | Path to image file, or array structure containing paths |
string | $basePath | Directory to which paths in descriptor refer |
array | $variants | |
string | null | $defaultColor | of the base variant |
InvalidArgumentException |
Definition at line 50 of file ResourceLoaderImage.php.
References $basePath, $ext, $name, $path, array(), as, name, and use.
ResourceLoaderImage::getDataUri | ( | ResourceLoaderContext | $context, |
$variant, | |||
$format | |||
) |
Get the data: URI that will produce this image.
ResourceLoaderContext | $context | Any context |
string | null | $variant | Variant to get the URI for |
string | $format | Format to get the URI for, 'original' or 'rasterized' |
Definition at line 211 of file ResourceLoaderImage.php.
References $type, CSSMin\encodeStringAsDataURI(), getImageData(), and getMimeType().
ResourceLoaderImage::getExtension | ( | $format = 'original' | ) |
Get the extension of the image.
string | $format | Format to get the extension for, 'original' or 'rasterized' |
Definition at line 162 of file ResourceLoaderImage.php.
Referenced by getImageData(), getMimeType(), and sendResponseHeaders().
ResourceLoaderImage::getImageData | ( | ResourceLoaderContext | $context, |
$variant = false , |
|||
$format = false |
|||
) |
Get actual image data for this image.
This can be saved to a file or sent to the browser to produce the converted image.
Call getExtension() or getMimeType() with the same $format argument to learn what file type the returned data uses.
ResourceLoaderContext | $context | Image context, or any context if $variant and $format given. |
string | null | $variant | Variant to get the data for. Optional; if given, overrides the data from $context. |
string | $format | Format to get the data for, 'original' or 'rasterized'. Optional; if given, overrides the data from $context. |
MWException | If the image file doesn't exist |
Definition at line 233 of file ResourceLoaderImage.php.
References $context, $path, getExtension(), getPath(), rasterize(), variantize(), and wfDebugLog().
Referenced by getDataUri().
ResourceLoaderImage::getMimeType | ( | $format = 'original' | ) |
Get the MIME type of the image.
string | $format | Format to get the MIME type for, 'original' or 'rasterized' |
Definition at line 175 of file ResourceLoaderImage.php.
References $ext, and getExtension().
Referenced by getDataUri(), and sendResponseHeaders().
ResourceLoaderImage::getModule | ( | ) |
Get name of the module this image belongs to.
Definition at line 114 of file ResourceLoaderImage.php.
Referenced by getUrl().
ResourceLoaderImage::getName | ( | ) |
Get name of this image.
Definition at line 105 of file ResourceLoaderImage.php.
Referenced by getUrl(), and sendResponseHeaders().
ResourceLoaderImage::getPath | ( | ResourceLoaderContext | $context | ) |
Get the path to image file for given context.
ResourceLoaderContext | $context | Any context |
Definition at line 133 of file ResourceLoaderImage.php.
References $context, $lang, and as.
Referenced by getImageData(), and variantize().
ResourceLoaderImage::getUrl | ( | ResourceLoaderContext | $context, |
$script, | |||
$variant, | |||
$format | |||
) |
Get the load.php URL that will produce this image.
ResourceLoaderContext | $context | Any context |
string | $script | URL to load.php |
string | null | $variant | Variant to get the URL for |
string | $format | Format to get the URL for, 'original' or 'rasterized' |
Definition at line 189 of file ResourceLoaderImage.php.
References $context, $query, getModule(), getName(), and wfAppendQuery().
ResourceLoaderImage::getVariants | ( | ) |
Get the list of variants this image can be converted to.
Definition at line 123 of file ResourceLoaderImage.php.
|
protected |
Massage the SVG image data for converters which don't understand some path data syntax.
This is necessary for rsvg and ImageMagick when compiled with rsvg support. Upstream bug is https://bugzilla.gnome.org/show_bug.cgi?id=620923, fixed 2014-11-10, so this will be needed for a while. (T76852)
string | $svg | SVG image data |
Reimplemented in ResourceLoaderImageTestable.
Definition at line 317 of file ResourceLoaderImage.php.
References as.
Referenced by rasterize().
|
protected |
Convert passed image data, which is assumed to be SVG, to PNG.
string | $svg | SVG image data |
Reimplemented in ResourceLoaderImageTestable.
Definition at line 338 of file ResourceLoaderImage.php.
References $command, $handler, $res, $wgSVGConverter, $wgSVGConverterPath, SVGMetadataExtractor\getMetadata(), massageSvgPathdata(), SvgHandler\rasterize(), wfEscapeShellArg(), and wfTempDir().
Referenced by getImageData().
ResourceLoaderImage::sendResponseHeaders | ( | ResourceLoaderContext | $context | ) |
Send response headers (using the header() function) that are necessary to correctly serve the image data for this image, as returned by getImageData().
Note that the headers are independent of the language or image variant.
ResourceLoaderContext | $context | Image context |
Definition at line 277 of file ResourceLoaderImage.php.
References $context, $mime, getExtension(), getMimeType(), getName(), and FileBackend\makeContentDisposition().
|
protected |
Convert this image, which is assumed to be SVG, to given variant.
array | $variantConf | Array with a 'color' key, its value will be used as fill color |
ResourceLoaderContext | $context | Image context |
Definition at line 294 of file ResourceLoaderImage.php.
References getPath().
Referenced by getImageData().
|
staticprotected |
Map of allowed file extensions to their MIME types.
Definition at line 34 of file ResourceLoaderImage.php.