MediaWiki  master
ImageHandler Class Reference

Media handler abstract base class for images. More...

Inheritance diagram for ImageHandler:
Collaboration diagram for ImageHandler:

Public Member Functions

 canRender ( $file)
 
 getDimensionsString ( $file)
 
 getImageArea ( $image)
 Function that returns the number of pixels to be thumbnailed. More...
 
 getImageSize ( $image, $path)
 Get an image size array like that returned by getimagesize(), or false if it can't be determined. More...
 
 getLongDesc ( $file)
 
 getParamMap ()
 Get an associative array mapping magic word IDs to parameter names. More...
 
 getScriptedTransform ( $image, $script, $params)
 
 getShortDesc ( $file)
 
 makeParamString ( $params)
 Merge a parameter array into a string appropriate for inclusion in filenames. More...
 
 normaliseParams ( $image, &$params)
 
 parseParamString ( $str)
 Parse a param string made with makeParamString back into an array. More...
 
 sanitizeParamsForBucketing ( $params)
 Returns a normalised params array for which parameters have been cleaned up for bucketing purposes. More...
 
 validateParam ( $name, $value)
 Validate a thumbnail parameter at parse time. More...
 
 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...
 
 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...
 
 getContentHeaders ( $metadata)
 Get useful response headers for GET/HEAD requests for a file with the given metadata. More...
 
 getDefaultRenderLanguage (File $file)
 On file types that support renderings in multiple languages, which language is used by default if unspecified. More...
 
 getEntireText (File $file)
 Get the text of the entire document. More...
 
 getLength ( $file)
 If its an audio file, return the length of the file. More...
 
 getMatchedLanguage ( $userPreferredLanguage, array $availableLanguages)
 When overridden in a descendant class, returns a language code most suiting. 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...
 
 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...
 
 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...
 
 mustRender ( $file)
 True if handled types cannot be displayed directly in a browser but can be rendered. More...
 
 pageCount (File $file)
 Page count for a multi-page document, false if unsupported or unknown. More...
 
 parserTransformHook ( $parser, $file)
 Modify the parser object post-transform. More...
 
 removeBadFile ( $dstPath, $retval=0)
 Check for zero-sized thumbnails. More...
 
 supportsBucketing ()
 Returns whether or not this handler supports the chained generation of thumbnails according to buckets. More...
 
 verifyUpload ( $fileName)
 File validation hook called on upload. More...
 

Protected Member Functions

 getScriptParams ( $params)
 
- 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...
 

Additional Inherited Members

- 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...
 
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. More...
 
- 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
 
- 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

Media handler abstract base class for images.

Definition at line 29 of file ImageHandler.php.

Member Function Documentation

◆ canRender()

ImageHandler::canRender (   $file)
Parameters
File$file
Returns
bool

Reimplemented from MediaHandler.

Reimplemented in WebPHandler, XCFHandler, and TiffHandler.

Definition at line 34 of file ImageHandler.php.

References $file.

◆ getDimensionsString()

ImageHandler::getDimensionsString (   $file)
Parameters
File$file
Returns
string

Reimplemented from MediaHandler.

Definition at line 262 of file ImageHandler.php.

References $file, and wfMessage().

◆ getImageArea()

ImageHandler::getImageArea (   $image)

Function that returns the number of pixels to be thumbnailed.

Intended for animated GIFs to multiply by the number of frames.

If the file doesn't support a notion of "area" return 0.

Parameters
File$image
Returns
int

Reimplemented in GIFHandler.

Definition at line 220 of file ImageHandler.php.

Referenced by BitmapHandler\normaliseParams(), BitmapHandler\transformImageMagick(), and BitmapHandler\transformImageMagickExt().

◆ getImageSize()

ImageHandler::getImageSize (   $image,
  $path 
)

Get an image size array like that returned by getimagesize(), or false if it can't be determined.

This function is used for determining the width, height and bitdepth directly from an image. The results are stored in the database in the img_width, img_height, img_bits fields.

Note
If this is a multipage file, return the width and height of the first page.
Parameters
File | FSFile$imageThe image object, or false if there isn't one. Warning, FSFile::getPropsFromPath might pass an FSFile instead of File (!)
string$pathThe filename
Returns
array|false Follow the format of PHP getimagesize() internal function. See https://www.php.net/getimagesize. MediaWiki will only ever use the first two array keys (the width and height), and the 'bits' associative key. All other array keys are ignored. Returning a 'bits' key is optional as not all formats have a notion of "bitdepth". Returns false on failure.

Reimplemented from MediaHandler.

Reimplemented in DjVuHandler, ExifBitmapHandler, XCFHandler, and BmpHandler.

Definition at line 203 of file ImageHandler.php.

References $path.

◆ getLongDesc()

ImageHandler::getLongDesc (   $file)
Parameters
File$file
Returns
string

Reimplemented from MediaHandler.

Reimplemented in GIFHandler, PNGHandler, and SvgHandler.

Definition at line 241 of file ImageHandler.php.

References $file, $wgLang, and wfMessage().

◆ getParamMap()

ImageHandler::getParamMap ( )

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

Will be used by the parser to identify parameters.

Reimplemented from MediaHandler.

Reimplemented in SvgHandler, and DjVuHandler.

Definition at line 38 of file ImageHandler.php.

◆ getScriptedTransform()

ImageHandler::getScriptedTransform (   $image,
  $script,
  $params 
)
Parameters
File$image
string$script
array$params
Returns
bool|MediaTransformOutput

Reimplemented from MediaHandler.

Definition at line 192 of file ImageHandler.php.

References getScriptParams(), normaliseParams(), and wfAppendQuery().

◆ getScriptParams()

ImageHandler::getScriptParams (   $params)
protected

Reimplemented in SvgHandler, DjVuHandler, and JpegHandler.

Definition at line 77 of file ImageHandler.php.

Referenced by getScriptedTransform().

◆ getShortDesc()

ImageHandler::getShortDesc (   $file)
Parameters
File$file
Returns
string

Reimplemented from MediaHandler.

Definition at line 228 of file ImageHandler.php.

References $file, $wgLang, and wfMessage().

◆ makeParamString()

ImageHandler::makeParamString (   $params)

Merge a parameter array into a string appropriate for inclusion in filenames.

Parameters
array$paramsArray of parameters that have been through normaliseParams.
Returns
string

Reimplemented from MediaHandler.

Reimplemented in SvgHandler, DjVuHandler, JpegHandler, and BitmapHandler.

Definition at line 54 of file ImageHandler.php.

◆ normaliseParams()

ImageHandler::normaliseParams (   $image,
$params 
)

◆ parseParamString()

ImageHandler::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|bool Array of parameters or false on failure.

Reimplemented from MediaHandler.

Reimplemented in SvgHandler, DjVuHandler, JpegHandler, and BitmapHandler.

Definition at line 68 of file ImageHandler.php.

◆ sanitizeParamsForBucketing()

ImageHandler::sanitizeParamsForBucketing (   $params)

Returns a normalised params array for which parameters have been cleaned up for bucketing purposes.

Parameters
array$params
Returns
array

Reimplemented from MediaHandler.

Reimplemented in JpegHandler.

Definition at line 273 of file ImageHandler.php.

◆ validateParam()

ImageHandler::validateParam (   $name,
  $value 
)

Validate a thumbnail parameter at parse time.

Return true to accept the parameter, and false to reject it. If you return false, the parser will do something quiet and forgiving.

Parameters
string$name
mixed$value

Reimplemented from MediaHandler.

Reimplemented in SvgHandler, DjVuHandler, BitmapHandler, and JpegHandler.

Definition at line 42 of file ImageHandler.php.

◆ validateThumbParams()

ImageHandler::validateThumbParams ( $width,
$height,
  $srcWidth,
  $srcHeight,
  $mimeType 
)

Validate thumbnail parameters and fill in the correct height.

Parameters
int&$widthSpecified width (input/output)
int&$heightHeight (output only)
int$srcWidthWidth of the source image
int$srcHeightHeight of the source image
string$mimeTypeUnused
Returns
bool False to indicate that an error should be returned to the user.

Definition at line 162 of file ImageHandler.php.

References File\scaleHeight(), and wfDebug().

Referenced by normaliseParams().


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