MediaWiki  REL1_23
SvgHandler Class Reference

Handler for SVG images. More...

Inheritance diagram for SvgHandler:
Collaboration diagram for SvgHandler:

List of all members.

Public Member Functions

 canAnimateThumb ($file)
 We do not support making animated svg thumbnails.
 doTransform ($image, $dstPath, $dstUrl, $params, $flags=0)
 formatMetadata ($file)
 getAvailableLanguages (File $file)
 Which languages (systemLanguage attribute) is supported.
 getCommonMetaArray (File $file)
 Get an array of standard (FormatMetadata type) metadata values.
 getDefaultRenderLanguage (File $file)
 What language to render file in if none selected.
 getImageSize ($file, $path, $metadata=false)
 getLongDesc ($file)
 Subtitle for the image.
 getMetadata ($file, $filename)
 getMetadataType ($image)
 Get a string describing the type of metadata, for display purposes.
 getParamMap ()
 Get an associative array mapping magic word IDs to parameter names.
 getScriptParams ($params)
 getThumbType ($ext, $mime, $params=null)
 Get the thumbnail extension and MIME type for a given source MIME type.
 isAnimatedImage ($file)
 isEnabled ()
 False if the handler is disabled for all files.
 isMetadataValid ($image, $metadata)
 Check if the metadata string is valid for this handler.
 isVectorized ($file)
 The material is vectorized and thus scaling is lossless.
 makeParamString ($params)
 mustRender ($file)
 True if handled types cannot be displayed directly in a browser but can be rendered.
 normaliseParams ($image, &$params)
 parseParamString ($str)
 Parse a param string made with makeParamString back into an array.
 rasterize ($srcPath, $dstPath, $width, $height, $lang=false)
 Transform an SVG file to PNG This function can be called outside of thumbnail contexts.
 unpackMetadata ($metadata)
 validateParam ($name, $value)

Static Public Member Functions

static rasterizeImagickExt ($srcPath, $dstPath, $width, $height)

Public Attributes

const SVG_METADATA_VERSION = 2

Protected Member Functions

 visibleMetadataFields ()
 Get a list of metadata items which should be displayed when the metadata table is collapsed.

Static Private Attributes

static $metaConversion

Detailed Description

Handler for SVG images.

Definition at line 29 of file SVG.php.


Member Function Documentation

We do not support making animated svg thumbnails.

Definition at line 119 of file SVG.php.

SvgHandler::doTransform ( image,
dstPath,
dstUrl,
params,
flags = 0 
)
Parameters:
File$image
string$dstPath
string$dstUrl
array$params
int$flags
Returns:
bool|MediaTransformError|ThumbnailImage|TransformParameterError

Reimplemented from MediaHandler.

Reimplemented in MockSvgHandler.

Definition at line 161 of file SVG.php.

References $flags, $params, getDefaultRenderLanguage(), normaliseParams(), rasterize(), text, unpackMetadata(), wfMessage(), and wfMkdirParents().

Parameters:
File$file
Returns:
array|bool

Reimplemented from MediaHandler.

Definition at line 381 of file SVG.php.

References $file, $name, $result, $value, MediaHandler\addMeta(), array(), as, unpackMetadata(), and visibleMetadataFields().

Which languages (systemLanguage attribute) is supported.

Note:
This list is not guaranteed to be exhaustive. To avoid OOM errors, we only look at first bit of a file. Thus all languages on this list are present in the file, but its possible for the file to have a language not on this list.
Parameters:
File$file
Returns:
Array of language codes, or empty if no language switching supported.

Reimplemented from MediaHandler.

Definition at line 91 of file SVG.php.

References array(), as, File\getMetadata(), and unpackMetadata().

Get an array of standard (FormatMetadata type) metadata values.

The returned data is largely the same as that from getMetadata(), but formatted in a standard, stable, handler-independent way. The idea being that some values like ImageDescription or Artist are universal and should be retrievable in a handler generic way.

The specific properties are the type of properties that can be handled by the FormatMetadata class. These values are exposed to the user via the filemetadata parser function.

Details of the response format of this function can be found at https://www.mediawiki.org/wiki/Manual:File_metadata_handling tl/dr: the response is an associative array of properties keyed by name, but the value can be complex. You probably want to call one of the FormatMetadata::flatten* functions on the property values before using them, or call FormatMetadata::getFormattedData() on the full response array, which transforms all values into prettified, human-readable text.

Subclasses overriding this function must return a value which is a valid API response fragment (all associative array keys are valid XML tagnames).

Note, if the file simply has no metadata, but the handler supports this interface, it should return an empty array, not false.

Parameters:
File$file
Returns:
array|bool False if interface not supported
Since:
1.23

Reimplemented from MediaHandler.

Definition at line 493 of file SVG.php.

References $name, $value, array(), as, File\getMetadata(), and unpackMetadata().

What language to render file in if none selected.

Returns:
String language code.

Reimplemented from MediaHandler.

Definition at line 112 of file SVG.php.

Referenced by doTransform().

SvgHandler::getImageSize ( file,
path,
metadata = false 
)
Parameters:
File$file
string$pathUnused
bool | array$metadata
Returns:
array

Definition at line 274 of file SVG.php.

References $file, and array().

Subtitle for the image.

Different from the base class so it can be denoted that SVG's have a "nominal" resolution, and not a fixed one, as well as so animation can be denoted.

Parameters:
File$file
Returns:
string

Reimplemented from ImageHandler.

Definition at line 301 of file SVG.php.

References $file, $size, $wgLang, global, isAnimatedImage(), unpackMetadata(), and wfMessage().

SvgHandler::getMetadata ( file,
filename 
)
Parameters:
File$file
string$filename
Returns:
string Serialised metadata

Reimplemented from MediaHandler.

Definition at line 327 of file SVG.php.

References $e, array(), and wfDebug().

Get a string describing the type of metadata, for display purposes.

Parameters:
File$image
Returns:
string

Reimplemented from MediaHandler.

Definition at line 354 of file SVG.php.

Get an associative array mapping magic word IDs to parameter names.

Will be used by the parser to identify parameters.

Reimplemented from ImageHandler.

Definition at line 476 of file SVG.php.

References array().

Parameters:
array$params
Returns:
array

Reimplemented from ImageHandler.

Definition at line 484 of file SVG.php.

References $params, and array().

SvgHandler::getThumbType ( ext,
mime,
params = null 
)

Get the thumbnail extension and MIME type for a given source MIME type.

Parameters:
string$extExtension of original file
string$mimeMIME type of original file
array$paramsHandler specific rendering parameters
Returns:
array thumbnail extension and MIME type

Reimplemented from MediaHandler.

Definition at line 288 of file SVG.php.

References array().

Parameters:
File$file
Returns:
bool

Reimplemented from MediaHandler.

Definition at line 66 of file SVG.php.

References $file, and unpackMetadata().

Referenced by getLongDesc().

False if the handler is disabled for all files.

Returns:
bool

Reimplemented from MediaHandler.

Definition at line 43 of file SVG.php.

References global, and wfDebug().

SvgHandler::isMetadataValid ( image,
metadata 
)

Check if the metadata string is valid for this handler.

If it returns MediaHandler::METADATA_BAD (or false), Image will reload the metadata from the file and update the database. MediaHandler::METADATA_GOOD for if the metadata is a-ok, MediaHanlder::METADATA_COMPATIBLE if metadata is old but backwards compatible (which may or may not trigger a metadata reload).

Parameters:
File$image
array$metadata
Returns:
bool

Reimplemented from MediaHandler.

Definition at line 358 of file SVG.php.

References MediaHandler\METADATA_BAD, MediaHandler\METADATA_COMPATIBLE, MediaHandler\METADATA_GOOD, and unpackMetadata().

The material is vectorized and thus scaling is lossless.

Parameters:
File$file
Returns:
bool

Reimplemented from MediaHandler.

Definition at line 58 of file SVG.php.

Parameters:
array$paramsname=>value pairs of parameters
Returns:
string Filename to use

Reimplemented from ImageHandler.

Definition at line 452 of file SVG.php.

References $params.

True if handled types cannot be displayed directly in a browser but can be rendered.

Parameters:
File$file
Returns:
bool

Reimplemented from MediaHandler.

Definition at line 54 of file SVG.php.

SvgHandler::normaliseParams ( image,
&$  params 
)
Parameters:
File$image
array$params
Returns:
bool

Reimplemented from ImageHandler.

Definition at line 128 of file SVG.php.

References $params, global, and File\scaleHeight().

Referenced by doTransform().

Parse a param string made with makeParamString back into an array.

Parameters:
string$strThe parameter string without file name (e.g. 122px)
Returns:
array|bool Array of parameters or false on failure.

Reimplemented from ImageHandler.

Definition at line 465 of file SVG.php.

References array().

SvgHandler::rasterize ( srcPath,
dstPath,
width,
height,
lang = false 
)

Transform an SVG file to PNG This function can be called outside of thumbnail contexts.

Parameters:
string$srcPath
string$dstPath
string$width
string$height
bool | string$langLanguage code of the language to render the SVG in
Exceptions:
MWException
Returns:
bool|MediaTransformError

Definition at line 207 of file SVG.php.

References $retval, array(), global, MediaHandler\logErrorForExternalProcess(), MediaHandler\removeBadFile(), wfDebug(), wfEscapeShellArg(), wfProfileIn(), wfProfileOut(), and wfShellExecWithStderr().

Referenced by doTransform().

static SvgHandler::rasterizeImagickExt ( srcPath,
dstPath,
width,
height 
) [static]

Definition at line 254 of file SVG.php.

SvgHandler::validateParam ( name,
value 
)
Parameters:
string$nameParameter name
mixed$valueParameter value
Returns:
bool Validity

Reimplemented from ImageHandler.

Definition at line 429 of file SVG.php.

References $name, $value, array(), and wfDebug().

Get a list of metadata items which should be displayed when the metadata table is collapsed.

Returns:
array of strings

Reimplemented from MediaHandler.

Definition at line 371 of file SVG.php.

References array().

Referenced by formatMetadata().


Member Data Documentation

SvgHandler::$metaConversion [static, private]
Initial value:
 array(
        'originalwidth' => 'ImageWidth',
        'originalheight' => 'ImageLength',
        'description' => 'ImageDescription',
        'title' => 'ObjectName',
    )

Definition at line 36 of file SVG.php.

Definition at line 30 of file SVG.php.


The documentation for this class was generated from the following file: