MediaWiki  1.28.0
SvgHandler Class Reference

Handler for SVG images. More...

Inheritance diagram for SvgHandler:
Collaboration diagram for SvgHandler:

Public Member Functions

 canAnimateThumbnail ($file)
 We do not support making animated svg thumbnails. More...
 
 doTransform ($image, $dstPath, $dstUrl, $params, $flags=0)
 
 formatMetadata ($file, $context=false)
 
 getAvailableLanguages (File $file)
 Which languages (systemLanguage attribute) is supported. More...
 
 getCommonMetaArray (File $file)
 
 getDefaultRenderLanguage (File $file)
 What language to render file in if none selected. More...
 
 getImageSize ($file, $path, $metadata=false)
 
 getLongDesc ($file)
 Subtitle for the image. More...
 
 getMetadata ($file, $filename)
 
 getMetadataType ($image)
 
 getParamMap ()
 
 getScriptParams ($params)
 
 getThumbType ($ext, $mime, $params=null)
 
 isAnimatedImage ($file)
 
static array isEnabled ()
 
 isMetadataValid ($image, $metadata)
 
 isVectorized ($file)
 
 makeParamString ($params)
 
 mustRender ($file)
 
 normaliseParams ($image, &$params)
 
 parseParamString ($str)
 
 rasterize ($srcPath, $dstPath, $width, $height, $lang=false)
 Transform an SVG file to PNG This function can be called outside of thumbnail contexts. More...
 
 unpackMetadata ($metadata)
 
 validateParam ($name, $value)
 
- Public Member Functions inherited from ImageHandler
 canRender ($file)
 
 getDimensionsString ($file)
 
 getImageArea ($image)
 Function that returns the number of pixels to be thumbnailed. More...
 
 getImageSize ($image, $path)
 
 getLongDesc ($file)
 
 getParamMap ()
 
 getScriptedTransform ($image, $script, $params)
 
 getScriptParams ($params)
 
 getShortDesc ($file)
 
 makeParamString ($params)
 
 normaliseParams ($image, &$params)
 
 parseParamString ($str)
 
 sanitizeParamsForBucketing ($params)
 
 validateParam ($name, $value)
 
 validateThumbParams (&$width, &$height, $srcWidth, $srcHeight, $mimeType)
 Validate thumbnail parameters and fill in the correct height. More...
 
- Public Member Functions inherited from MediaHandler
 canAnimateThumbnail ($file)
 If the material is animated, we can animate the thumbnail. More...
 
 canRender ($file)
 True if the handled types can be transformed. More...
 
 canRotate ()
 True if the handler can rotate the media. More...
 
 convertMetadataVersion ($metadata, $version=1)
 Convert metadata version. More...
 
 doTransform ($image, $dstPath, $dstUrl, $params, $flags=0)
 Get a MediaTransformOutput object representing the transformed output. More...
 
 filterThumbnailPurgeList (&$files, $options)
 Remove files from the purge list. More...
 
 formatMetadata ($image, $context=false)
 Get an array structure that looks like this: More...
 
 formatMetadataHelper ($metadataArray, $context=false)
 sorts the visible/invisible field. More...
 
 getAvailableLanguages (File $file)
 Get list of languages file can be viewed in. More...
 
 getCommonMetaArray (File $file)
 Get an array of standard (FormatMetadata type) metadata values. More...
 
 getDefaultRenderLanguage (File $file)
 On file types that support renderings in multiple languages, which language is used by default if unspecified. More...
 
 getDimensionsString ($file)
 Shown in file history box on image description page. More...
 
 getEntireText (File $file)
 Get the text of the entire document. More...
 
 getImageSize ($image, $path)
 Get an image size array like that returned by getimagesize(), or false if it can't be determined. More...
 
 getLength ($file)
 If its an audio file, return the length of the file. More...
 
 getLongDesc ($file)
 Long description. More...
 
 getMetadata ($image, $path)
 Get handler-specific metadata which will be saved in the img_metadata field. More...
 
 getMetadataType ($image)
 Get a string describing the type of metadata, for display purposes. More...
 
 getPageDimensions (File $image, $page)
 Get an associative array of page dimensions Currently "width" and "height" are understood, but this might be expanded in the future. More...
 
 getPageText (File $image, $page)
 Generic getter for text layer. More...
 
 getParamMap ()
 Get an associative array mapping magic word IDs to parameter names. More...
 
 getRotation ($file)
 On supporting image formats, try to read out the low-level orientation of the file and return the angle that the file needs to be rotated to be viewed. More...
 
 getScriptedTransform ($image, $script, $params)
 Get a MediaTransformOutput object representing an alternate of the transformed output which will call an intermediary thumbnail assist script. More...
 
 getShortDesc ($file)
 Short description. More...
 
 getStreamHeaders ($metadata)
 Get useful response headers for GET/HEAD requests for a file with the given metadata. More...
 
 getThumbType ($ext, $mime, $params=null)
 Get the thumbnail extension and MIME type for a given source MIME type. More...
 
 getTransform ($image, $dstPath, $dstUrl, $params)
 Get a MediaTransformOutput object representing the transformed output. More...
 
 getWarningConfig ($file)
 Gets configuration for the file warning message. More...
 
 isAnimatedImage ($file)
 The material is an image, and is animated. More...
 
 isEnabled ()
 False if the handler is disabled for all files. More...
 
 isExpensiveToThumbnail ($file)
 True if creating thumbnails from the file is large or otherwise resource-intensive. More...
 
 isMetadataValid ($image, $metadata)
 Check if the metadata string is valid for this handler. More...
 
 isMultiPage ($file)
 True if the type has multi-page capabilities. More...
 
 isVectorized ($file)
 The material is vectorized and thus scaling is lossless. More...
 
 makeParamString ($params)
 Merge a parameter array into a string appropriate for inclusion in filenames. More...
 
 mustRender ($file)
 True if handled types cannot be displayed directly in a browser but can be rendered. More...
 
 normaliseParams ($image, &$params)
 Changes the parameter array as necessary, ready for transformation. More...
 
 pageCount (File $file)
 Page count for a multi-page document, false if unsupported or unknown. More...
 
 parseParamString ($str)
 Parse a param string made with makeParamString back into an array. More...
 
 parserTransformHook ($parser, $file)
 Modify the parser object post-transform. More...
 
 removeBadFile ($dstPath, $retval=0)
 Check for zero-sized thumbnails. More...
 
 sanitizeParamsForBucketing ($params)
 Returns a normalised params array for which parameters have been cleaned up for bucketing purposes. More...
 
 supportsBucketing ()
 Returns whether or not this handler supports the chained generation of thumbnails according to buckets. More...
 
 validateParam ($name, $value)
 Validate a thumbnail parameter at parse time. More...
 
 verifyUpload ($fileName)
 File validation hook called on upload. More...
 

Static Public Member Functions

static rasterizeImagickExt ($srcPath, $dstPath, $width, $height)
 
- Static Public Member Functions inherited from MediaHandler
static fitBoxWidth ($boxWidth, $boxHeight, $maxHeight)
 Calculate the largest thumbnail width for a given original file size such that the thumbnail's height is at most $maxHeight. More...
 
static getGeneralLongDesc ($file)
 Used instead of getLongDesc if there is no handler registered for file. More...
 
static getGeneralShortDesc ($file)
 Used instead of getShortDesc if there is no handler registered for file. More...
 
static getHandler ($type)
 Get a MediaHandler for a given MIME type from the instance cache. More...
 
static getMetadataVersion ()
 Get metadata version. More...
 

Public Attributes

const SVG_METADATA_VERSION = 2
 
- Public Attributes inherited from MediaHandler
const MAX_ERR_LOG_SIZE = 65535
 Max length of error logged by logErrorForExternalProcess() More...
 
const METADATA_BAD = false
 
const METADATA_COMPATIBLE = 2
 
const METADATA_GOOD = true
 
const TRANSFORM_LATER = 1
 

Protected Member Functions

 visibleMetadataFields ()
 
- Protected Member Functions inherited from MediaHandler
 logErrorForExternalProcess ($retval, $err, $cmd)
 Log an error that occurred in an external process. More...
 
 visibleMetadataFields ()
 Get a list of metadata items which should be displayed when the metadata table is collapsed. More...
 

Static Private Attributes

static array $metaConversion
 A list of metadata tags that can be converted to the commonly used exif tags. More...
 

Additional Inherited Members

- Static Protected Member Functions inherited from MediaHandler
static addMeta (&$array, $visibility, $type, $id, $value, $param=false)
 This is used to generate an array element for each metadata value That array is then used to generate the table of metadata values on the image page. More...
 

Detailed Description

Handler for SVG images.

Definition at line 30 of file SVG.php.

Member Function Documentation

SvgHandler::canAnimateThumbnail (   $file)

We do not support making animated svg thumbnails.

Parameters
File$file
Returns
bool

Definition at line 123 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

Definition at line 165 of file SVG.php.

References $flags, $image, $lang, $params, $status, getDefaultRenderLanguage(), normaliseParams(), rasterize(), text, unpackMetadata(), use, wfDebugLog(), wfHostname(), wfMessage(), wfMkdirParents(), wfRandomString(), and wfTempDir().

SvgHandler::formatMetadata (   $file,
  $context = false 
)
Parameters
File$file
bool | IContextSource$contextContext to use (optional)
Returns
array|bool

Definition at line 418 of file SVG.php.

References $name, $tag, $value, as, unpackMetadata(), and visibleMetadataFields().

SvgHandler::getAvailableLanguages ( File  $file)

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.

Definition at line 92 of file SVG.php.

References $lang, as, File\getMetadata(), SVGReader\LANG_FULL_MATCH, and unpackMetadata().

SvgHandler::getCommonMetaArray ( File  $file)

Definition at line 530 of file SVG.php.

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

SvgHandler::getDefaultRenderLanguage ( File  $file)

What language to render file in if none selected.

Parameters
File$file
Returns
string Language code.

Definition at line 114 of file SVG.php.

Referenced by doTransform().

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

Definition at line 310 of file SVG.php.

References unpackMetadata().

SvgHandler::getLongDesc (   $file)

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

Definition at line 337 of file SVG.php.

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

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

Definition at line 363 of file SVG.php.

References $e, SVGMetadataExtractor\getMetadata(), serialize(), and wfDebug().

SvgHandler::getMetadataType (   $image)

Definition at line 390 of file SVG.php.

SvgHandler::getParamMap ( )

Definition at line 513 of file SVG.php.

SvgHandler::getScriptParams (   $params)
Parameters
array$params
Returns
array

Definition at line 521 of file SVG.php.

References $params.

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

Definition at line 324 of file SVG.php.

SvgHandler::isAnimatedImage (   $file)
Parameters
File$file
Returns
bool

Definition at line 67 of file SVG.php.

References unpackMetadata().

Referenced by getLongDesc().

static array SvgHandler::isEnabled ( )

Definition at line 44 of file SVG.php.

References $wgSVGConverter, $wgSVGConverters, global, and wfDebug().

SvgHandler::isMetadataValid (   $image,
  $metadata 
)

Definition at line 394 of file SVG.php.

References unpackMetadata().

SvgHandler::isVectorized (   $file)

Definition at line 59 of file SVG.php.

SvgHandler::makeParamString (   $params)
Parameters
array$paramsName=>value pairs of parameters
Returns
string Filename to use

Definition at line 489 of file SVG.php.

References $lang, and $params.

SvgHandler::mustRender (   $file)

Definition at line 55 of file SVG.php.

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

Definition at line 132 of file SVG.php.

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

Referenced by doTransform().

SvgHandler::parseParamString (   $str)

Definition at line 502 of file SVG.php.

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 245 of file SVG.php.

References $args, $lang, $retval, $wgSVGConverter, $wgSVGConverterPath, $wgSVGConverters, global, MediaHandler\logErrorForExternalProcess(), MediaHandler\removeBadFile(), wfDebug(), wfEscapeShellArg(), and wfShellExecWithStderr().

Referenced by doTransform().

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

Definition at line 290 of file SVG.php.

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

Definition at line 466 of file SVG.php.

References $name, $value, Language\isValidBuiltInCode(), and wfDebug().

SvgHandler::visibleMetadataFields ( )
protected

Definition at line 407 of file SVG.php.

Referenced by formatMetadata().

Member Data Documentation

array SvgHandler::$metaConversion
staticprivate
Initial value:
= [
'originalwidth' => 'ImageWidth'

A list of metadata tags that can be converted to the commonly used exif tags.

This allows messages to be reused, and consistent tag names for {{#formatmetadata:..}}

Definition at line 37 of file SVG.php.

const SvgHandler::SVG_METADATA_VERSION = 2

Definition at line 31 of file SVG.php.


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