MediaWiki  REL1_24
SvgHandler Class Reference

Handler for SVG images. More...

Inheritance diagram for SvgHandler:
Collaboration diagram for SvgHandler:

List of all members.

Public Member Functions

 canAnimateThumbnail ($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.

Parameters:
File$file
Returns:
bool

Reimplemented from MediaHandler.

Definition at line 122 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 164 of file SVG.php.

References $flags, $ok, $params, getDefaultRenderLanguage(), normaliseParams(), rasterize(), text, unpackMetadata(), wfDebugLog(), wfHostname(), wfMessage(), wfMkdirParents(), wfRandomString(), wfRestoreWarnings(), wfSuppressWarnings(), and wfTempDir().

Parameters:
File$file
Returns:
array|bool

Reimplemented from MediaHandler.

Definition at line 417 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 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 529 of file SVG.php.

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

What language to render file in if none selected.

Parameters:
File$file
Returns:
string Language code.

Reimplemented from MediaHandler.

Definition at line 113 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 310 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 337 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 363 of file SVG.php.

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

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

Note:
This method is currently unused.
Parameters:
File$image
Returns:
string

Reimplemented from MediaHandler.

Definition at line 390 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 512 of file SVG.php.

References array().

Parameters:
array$params
Returns:
array

Reimplemented from ImageHandler.

Definition at line 520 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 324 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, MediaHandler::METADATA_COMPATIBLE if metadata is old but backwards compatible (which may or may not trigger a metadata reload).

Note:
Returning self::METADATA_BAD will trigger a metadata reload from file on page view. Always returning this from a broken file, or suddenly triggering as bad metadata for a large number of files can cause performance problems.
Parameters:
File$image
string$metadataThe metadata in serialized form
Returns:
bool

Reimplemented from MediaHandler.

Definition at line 394 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 488 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 131 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 501 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 243 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 290 of file SVG.php.

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

Reimplemented from ImageHandler.

Definition at line 465 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 Array of strings

Reimplemented from MediaHandler.

Definition at line 407 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: