Movatterモバイル変換


[0]ホーム

URL:


MediaWiki master
Public Member Functions |Static Public Member Functions |Public Attributes |Protected Member Functions |List of all members
SvgHandler Class Reference
Media

Handler for SVG images.More...

InheritsImageHandler.

Collaboration diagram for SvgHandler:
Collaboration graph
[legend]

Public Member Functions

 allowRenderingByUserAgent ( $file)
 
 canAnimateThumbnail ( $file)
 We do not support making animated svg thumbnails.
 
 doTransform ( $image, $dstPath, $dstUrl, $params, $flags=0)
 
 formatMetadata ( $file, $context=false)
 
 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.
 
 getLongDesc ( $file)
 Subtitle for the image.
 
 getMatchedLanguage ( $userPreferredLanguage, array $svgLanguages)
 SVG's systemLanguage matching rules state: 'ThesystemLanguage attribute ... [e]valuates to "true" if one of the languages indicated by user preferences exactly equals one of the languages given in the value of this parameter, or if one of the languages indicated by user preferences exactly equals a prefix of one of the languages given in the value of this parameter such that the first tag character following the prefix is "-".
 
 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.Will be used by the parser to identify parameters.

Returns
string[]
Stability: stable
to override
Returns
string[]

 
 getSizeAndMetadata ( $state, $filename)
 
 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.
 
 isFileMetadataValid ( $image)
 Check if the metadata 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.
Parameters
string$strThe parameter string without file name (e.g. 122px)
Returns
array|false Array of parameters or false on failure.
Stability: stable
to override

 
 rasterize ( $srcPath, $dstPath, $width, $height, $lang=false)
 Transform an SVG file to PNG This function can be called outside of thumbnail contexts.
 
 validateParam ( $name, $value)
 
- Public Member Functions inherited fromImageHandler
 canRender ( $file)
 True if the handled types can be transformed.
Stability: stable
to override
Parameters
File$file
Returns
bool

 
 getDimensionsString ( $file)
 Shown in file history box on image description page.
Stability: stable
to override
Parameters
File$file
Returns
string Dimensions (plain text)

 
 getImageArea ( $image)
 Function that returns the number of pixels to be thumbnailed.
 
 getImageSize ( $image, $path)
 Get an image size array like that returned by getimagesize(), or false if it can't be determined.
 
 getScriptedTransform ( $image, $script, $params)
 Get aMediaTransformOutput object representing an alternate of the transformed output which will call an intermediary thumbnail assist script.Used when the repository has a thumbnailScriptUrl option configured.Return false to fall back to the regular getTransform().
Stability: stable
to override
Parameters
File$image
string$script
array$params
Returns
ThumbnailImage|false

 
 getShortDesc ( $file)
 Short description.Shown on Special:Search results.UntilMediaWiki 1.45, the return value was poorly documented, and some subclasses returned HTML while others returned plain text. When overriding this method, you should return safe HTML, e.g. usingMessage::escaped(). When calling this method, you should treat it as returning unsafe HTML, and callSanitizer::removeSomeTags() on the result.
Stability: stable
to override
Parameters
File$file
Returns
string HTML (possibly unsafe, callSanitizer::removeSomeTags() on the result)

 
 sanitizeParamsForBucketing ( $params)
 Returns a normalised params array for which parameters have been cleaned up for bucketing purposes.
Stability: stable
to override
Parameters
array$params
Returns
array

 
- Public Member Functions inherited fromMediaHandler
 canRotate ()
 True if the handler can rotate the media.
 
 convertMetadataVersion ( $metadata, $version=1)
 Convert metadata version.
 
 filterThumbnailPurgeList (&$files, $options)
 Remove files from the purge list.
 
 getContentHeaders ( $metadata)
 Get useful response headers for GET/HEAD requests for a file with the given metadata.
 
 getEntireText (File $file)
 Get the text of the entire document.
 
 getLength ( $file)
 If it's an audio file, return the length of the file.
 
 getMetadata ( $image, $path)
 Get handler-specific metadata which will be saved in the img_metadata field.
 
 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.
 
 getPageText (File $image, $page)
 Generic getter for text layer.
 
 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.
 
 getSizeAndMetadataWithFallback ( $file, $path)
 Get the metadata array and the image size, with b/c fallback.
 
 getTransform ( $image, $dstPath, $dstUrl, $params)
 Get aMediaTransformOutput object representing the transformed output.
 
 getWarningConfig ( $file)
 Gets configuration for the file warning message.
 
 isExpensiveToThumbnail ( $file)
 True if creating thumbnails from the file is large or otherwise resource-intensive.
 
 isMetadataValid ( $image, $metadata)
 Check if the metadata string is valid for this handler.
 
 isMultiPage ( $file)
 True if the type has multi-page capabilities.
 
 pageCount (File $file)
 Page count for a multi-page document, false if unsupported or unknown.
 
 parserTransformHook ( $parser, $file)
 Modify the parser object post-transform.
 
 removeBadFile ( $dstPath, $retval=0)
 Check for zero-sized thumbnails.
 
 supportsBucketing ()
 Returns whether or not this handler supports the chained generation of thumbnails according to buckets.
 
 useSplitMetadata ()
 If this returns true, LocalFile may split metadata up and store its constituent items separately.
 
 verifyUpload ( $fileName)
 File validation hook called on upload.
 

Static Public Member Functions

static rasterizeImagickExt ( $srcPath, $dstPath, $width, $height)
 
- Static Public Member Functions inherited fromMediaHandler
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.
 
static getGeneralLongDesc ( $file)
 Used instead of getLongDesc if there is no handler registered for file.
 
static getGeneralShortDesc ( $file)
 Used instead of getShortDesc if there is no handler registered for file.
 
static getHandler ( $type)
 Get aMediaHandler for a given MIME type from the instance cache.
 
static getMetadataVersion ()
 Get metadata version.
 
static getPageRangesByDimensions ( $pagesByDimensions)
 Converts a dimensions array about a potentially multipage document from an exhaustive list of ordered page numbers to a list of page ranges.
 

Public Attributes

const SVG_METADATA_VERSION = 2
 
- Public Attributes inherited fromMediaHandler
const METADATA_BAD = false
 
const METADATA_COMPATIBLE = 2
 
const METADATA_GOOD = true
 
const TRANSFORM_LATER = 1
 

Protected Member Functions

 getLanguageFromParams (array $params)
 Determines render language from image parameters This is a lowercase IETF language.
 
 getScriptParams ( $params)
 
 normaliseParamsInternal ( $image, $params)
 Code taken out of normaliseParams() for testability.
 
 validateMetadata ( $unser)
 
 visibleMetadataFields ()
 Get a list of metadata items which should be displayed when the metadata table is collapsed.
 
- Protected Member Functions inherited fromMediaHandler
 formatMetadataHelper ( $metadataArray, $context=false)
 sorts the visible/invisible field.
 
 formatTag (string $key, $vals, $context=false)
 Override default formatting for the given metadata field.
 
 hasMostDerivedMethod ( $name)
 Check whether a method is implemented in the most derived class.
 
 logErrorForExternalProcess ( $retval, $err, $cmd)
 Log an error that occurred in an external process.
 
 useLegacyMetadata ()
 If this returns true, the new method getSizeAndMetadata() will not be called.
 

Additional Inherited Members

- Static Protected Member Functions inherited fromMediaHandler
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.
 

Detailed Description

Handler for SVG images.

Definition at line38 of fileSvgHandler.php.

Member Function Documentation

◆ allowRenderingByUserAgent()

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

Definition at line74 of fileSvgHandler.php.

ReferencesgetAvailableLanguages().

Referenced bycanAnimateThumbnail(),doTransform(), andmustRender().

◆ canAnimateThumbnail()

SvgHandler::canAnimateThumbnail($file)

We do not support making animated svg thumbnails.

Parameters
File$file
Returns
bool

Reimplemented fromMediaHandler.

Definition at line201 of fileSvgHandler.php.

ReferencesallowRenderingByUserAgent().

◆ doTransform()

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

Reimplemented fromMediaHandler.

Definition at line262 of fileSvgHandler.php.

ReferencesallowRenderingByUserAgent(),getLanguageFromParams(),normaliseParams(),rasterize(),validateMetadata(),wfDebugLog(),wfHostname(),wfMessage(),wfMkdirParents(),wfRandomString(), andwfTempDir().

◆ formatMetadata()

SvgHandler::formatMetadata($file,
$context =false )
Parameters
File$file
IContextSource | false$context
Returns
array[]|false

Reimplemented fromMediaHandler.

Definition at line527 of fileSvgHandler.php.

ReferencesvalidateMetadata(), andvisibleMetadataFields().

◆ getAvailableLanguages()

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
string[] Array of language codes, or empty if no language switching supported.

Reimplemented fromMediaHandler.

Definition at line127 of fileSvgHandler.php.

ReferencesMediaWiki\FileRepo\File\File\getMetadataArray(), andvalidateMetadata().

Referenced byallowRenderingByUserAgent().

◆ getCommonMetaArray()

SvgHandler::getCommonMetaArray(File$file)

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 theFormatMetadata class. These values are exposed to the user via the filemetadata parser function.

Details of the response format of this function can be found athttps://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.

Stability: stable
to override
Parameters
File$file
Returns
array|false False if interface not supported
Since
1.23

Reimplemented fromMediaHandler.

Definition at line645 of fileSvgHandler.php.

ReferencesMediaWiki\FileRepo\File\File\getMetadataArray(), andvalidateMetadata().

◆ getDefaultRenderLanguage()

SvgHandler::getDefaultRenderLanguage(File$file)

What language to render file in if none selected.

Parameters
File$fileLanguage code
Returns
string

Reimplemented fromMediaHandler.

Definition at line192 of fileSvgHandler.php.

◆ getLanguageFromParams()

SvgHandler::getLanguageFromParams(array$params)
protected

Determines render language from image parameters This is a lowercase IETF language.

Parameters
array$params
Returns
string

Definition at line182 of fileSvgHandler.php.

Referenced bydoTransform(), andmakeParamString().

◆ getLongDesc()

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

Reimplemented fromImageHandler.

Definition at line448 of fileSvgHandler.php.

ReferencesisAnimatedImage(),validateMetadata(), andwfMessage().

◆ getMatchedLanguage()

SvgHandler::getMatchedLanguage($userPreferredLanguage,
array$svgLanguages )

SVG's systemLanguage matching rules state: 'ThesystemLanguage attribute ... [e]valuates to "true" if one of the languages indicated by user preferences exactly equals one of the languages given in the value of this parameter, or if one of the languages indicated by user preferences exactly equals a prefix of one of the languages given in the value of this parameter such that the first tag character following the prefix is "-".

'

Return the first element of $svgLanguages that matches $userPreferredLanguage

See also
https://www.w3.org/TR/SVG/struct.html#SystemLanguageAttribute
Parameters
string$userPreferredLanguage
string[]$svgLanguages
Returns
string|null

Reimplemented fromMediaHandler.

Definition at line155 of fileSvgHandler.php.

◆ getMetadataType()

SvgHandler::getMetadataType($image)

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

Stability: stable
to override
Note
This method is currently unused.
Parameters
File$image
Returns
string|false

Reimplemented fromMediaHandler.

Definition at line501 of fileSvgHandler.php.

◆ getParamMap()

SvgHandler::getParamMap()

Get an associative array mapping magic word IDs to parameter names.Will be used by the parser to identify parameters.

Returns
string[]
Stability: stable
to override
Returns
string[]

Stability: stable
to override
Returns
string[]

Reimplemented fromImageHandler.

Definition at line628 of fileSvgHandler.php.

◆ getScriptParams()

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

Reimplemented fromImageHandler.

Definition at line636 of fileSvgHandler.php.

◆ getSizeAndMetadata()

SvgHandler::getSizeAndMetadata($state,
$filename )
Parameters
MediaHandlerState$state
string$filename
Returns
array

Reimplemented fromImageHandler.

Definition at line471 of fileSvgHandler.php.

ReferenceswfDebug().

◆ getThumbType()

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

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

Stability: stable
to override
Parameters
string$extExtension of original file
string$mimeMIME type of original file
array | null$paramsHandler specific rendering parameters
Returns
array Thumbnail extension and MIME type

Reimplemented fromMediaHandler.

Definition at line435 of fileSvgHandler.php.

◆ isAnimatedImage()

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

Reimplemented fromMediaHandler.

Definition at line105 of fileSvgHandler.php.

ReferencesvalidateMetadata().

Referenced bygetLongDesc().

◆ isEnabled()

SvgHandler::isEnabled()

False if the handler is disabled for all files.

Stability: stable
to override
Returns
bool

Reimplemented fromMediaHandler.

Definition at line54 of fileSvgHandler.php.

ReferenceswfDebug().

◆ isFileMetadataValid()

SvgHandler::isFileMetadataValid($image)

Check if the metadata 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.

This was introduced in 1.37 to replace isMetadataValid(), which took a serialized string as a parameter. Handlers overriding this method are expected to use accessors to get the metadata out of the File. The reasons for the change were to get rid of serialization, and to allow handlers to partially load metadata with getMetadataItem(). For example a handler could just validate a version number.

Stability: stable
to override
Since
1.37
Parameters
File$image
Returns
bool|int

Reimplemented fromMediaHandler.

Definition at line505 of fileSvgHandler.php.

ReferencesvalidateMetadata().

◆ isVectorized()

SvgHandler::isVectorized($file)

The material is vectorized and thus scaling is lossless.

Stability: stable
to override
Parameters
File$file
Returns
bool

Reimplemented fromMediaHandler.

Definition at line97 of fileSvgHandler.php.

◆ makeParamString()

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

Reimplemented fromImageHandler.

Definition at line595 of fileSvgHandler.php.

ReferencesgetLanguageFromParams().

◆ mustRender()

SvgHandler::mustRender($file)

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

Stability: stable
to override
Parameters
File$file
Returns
bool

Reimplemented fromMediaHandler.

Definition at line93 of fileSvgHandler.php.

ReferencesallowRenderingByUserAgent().

◆ normaliseParams()

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

Reimplemented fromImageHandler.

Definition at line210 of fileSvgHandler.php.

ReferencesnormaliseParamsInternal().

Referenced bydoTransform().

◆ normaliseParamsInternal()

SvgHandler::normaliseParamsInternal($image,
$params )
protected

Code taken out of normaliseParams() for testability.

Since
1.33
Parameters
File$image
array$params
Returns
array Modified $params

Definition at line228 of fileSvgHandler.php.

Referenced bynormaliseParams().

◆ parseParamString()

SvgHandler::parseParamString($str)

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

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

Stability: stable
to override

Reimplemented fromImageHandler.

Definition at line613 of fileSvgHandler.php.

◆ rasterize()

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
int$width
int$height
string | false$langLanguage code of the language to render the SVG in
Returns
bool|MediaTransformError

Definition at line361 of fileSvgHandler.php.

ReferencesMediaHandler\logErrorForExternalProcess(),MediaHandler\removeBadFile(),wfDebug(), andwfShellExecWithStderr().

Referenced bydoTransform(), andMediaWiki\ResourceLoader\Image\rasterize().

◆ rasterizeImagickExt()

static SvgHandler::rasterizeImagickExt($srcPath,
$dstPath,
$width,
$height )
static
Parameters
string$srcPath
string$dstPath
int$width
int$height
Returns
string|void

Definition at line420 of fileSvgHandler.php.

◆ validateMetadata()

SvgHandler::validateMetadata($unser)
protected

Definition at line493 of fileSvgHandler.php.

Referenced bydoTransform(),formatMetadata(),getAvailableLanguages(),getCommonMetaArray(),getLongDesc(),isAnimatedImage(), andisFileMetadataValid().

◆ validateParam()

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

Reimplemented fromImageHandler.

Definition at line571 of fileSvgHandler.php.

◆ visibleMetadataFields()

SvgHandler::visibleMetadataFields()
protected

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

Stability: stable
to override
Returns
string[]

Reimplemented fromMediaHandler.

Definition at line518 of fileSvgHandler.php.

Referenced byformatMetadata().

Member Data Documentation

◆ SVG_METADATA_VERSION

const SvgHandler::SVG_METADATA_VERSION = 2

Definition at line39 of fileSvgHandler.php.


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

[8]ページ先頭

©2009-2025 Movatter.jp