MediaWiki master
MediaWiki\Media\TiffHandler Class Reference

Handler for Tiff images. More...

Inherits MediaWiki\Media\ExifBitmapHandler.

Collaboration diagram for MediaWiki\Media\TiffHandler:

Public Member Functions

 canRender ( $file)
 Conversion to PNG for inline display can be disabled here... Note scaling should work with ImageMagick, but may not with GD scaling.
 
 getSizeAndMetadata ( $state, $filename)
 Get image size information and metadata array.If this returns null, the caller will fall back to getImageSize() and getMetadata().If getImageSize() or getMetadata() are implemented in the most derived class, they will be used instead of this function. To override this behaviour, override useLegacyMetadata().
Stability: stable
to override
Since
1.37
Parameters
MediaHandlerState$stateAn object for saving process-local state. This is normally a File object which will be passed back to other MediaHandler methods like pageCount(), if they are called in the same request. The handler can use this object to save its state.
string$pathThe filename
Returns
array|null Null to fall back to getImageSize(), or an array with the following keys. All keys are optional.
  • width: The width. If multipage, return the first page width. (optional)
  • height: The height. If multipage, return the first page height. (optional)
  • bits: The number of bits for each color (optional)
  • metadata: A JSON-serializable array of metadata (optional)

 
 getThumbType ( $ext, $mime, $params=null)
 
 isExpensiveToThumbnail ( $file)
 True if creating thumbnails from the file is large or otherwise resource-intensive.
Stability: stable
to override
Parameters
File$file
Returns
bool

 
 mustRender ( $file)
 Browsers don't support TIFF inline generally... For inline display, we need to convert to PNG.
 
- Public Member Functions inherited from MediaWiki\Media\ExifBitmapHandler
 convertMetadataVersion ( $metadata, $version=1)
 Convert metadata version.By default just returns $metadata, but can be used to allow media handlers to convert between metadata versions.

Stability: stable
to override
Parameters
array$metadataMetadata array
int | string$versionTarget version
Returns
array Serialized metadata in specified version, or $metadata on fail.

 
 formatMetadata ( $image, $context=false)
 
 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 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.
Stability: stable
to override
Parameters
File$file
Returns
array|false False if interface not supported
Since
1.23

 
 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

 
 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.
 
 isFileMetadataValid ( $image)
 
- Public Member Functions inherited from MediaWiki\Media\BitmapHandler
 autoRotateEnabled ()
 
 canRotate ()
 Returns whether the current scaler supports rotation (im and gd do)
 
 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
Stability: stable
to override
Exceptions
MediaTransformInvalidParametersException

 
 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

 
 rotate ( $file, $params)
 
 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
Returns
bool
Stability: stable
to override

 
- Public Member Functions inherited from MediaWiki\Media\TransformationalImageHandler
 doTransform ( $image, $dstPath, $dstUrl, $params, $flags=0)
 Create a thumbnail.
 
 extractPreRotationDimensions ( $params, $rotation)
 Extracts the width/height if the image will be scaled before rotating.
 
 getMediaTransformError ( $params, $errMsg)
 Get a MediaTransformError with error 'thumbnail_error'.
 
 isImageAreaOkForThumbnaling ( $file, &$params)
 Check if the file is smaller than the maximum image area for thumbnailing.
 
- Public Member Functions inherited from MediaWiki\Media\ImageHandler
 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.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.
Deprecated
since 1.37, override getSizeAndMetadata instead
Parameters
File | FSFile | false$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.

 
 getLongDesc ( $file)
 Long description.Shown under image on image description page surrounded by ().Until MediaWiki 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. using Message::escaped(). When calling this method, you should treat it as returning unsafe HTML, and call Sanitizer::removeSomeTags() on the result.
Stability: stable
to override
Parameters
File$file
Returns
string HTML (possibly unsafe, call Sanitizer::removeSomeTags() on the result)

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

Returns
string[]

 
 getScriptedTransform ( $image, $script, $params)
 Get a MediaTransformOutput 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.Until MediaWiki 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. using Message::escaped(). When calling this method, you should treat it as returning unsafe HTML, and call Sanitizer::removeSomeTags() on the result.
Stability: stable
to override
Parameters
File$file
Returns
string HTML (possibly unsafe, call Sanitizer::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 from MediaWiki\Media\MediaHandler
 canAnimateThumbnail ( $file)
 If the material is animated, we can animate the thumbnail.
 
 filterThumbnailPurgeList (&$files, $options)
 Remove files from the purge list.
 
 getAvailableLanguages (File $file)
 Get list of languages file can be viewed in.
 
 getContentHeaders ( $metadata)
 Get useful response headers for GET/HEAD requests for a file with the given metadata.
 
 getDefaultRenderLanguage (File $file)
 On file types that support renderings in multiple languages, which language is used by default if unspecified.
 
 getEntireText (File $file)
 Get the text of the entire document.
 
 getLength ( $file)
 If it's an audio file, return the length of the file.
 
 getMatchedLanguage ( $userPreferredLanguage, array $availableLanguages)
 When overridden in a descendant class, returns a language code most suiting.
 
 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.
 
 getSizeAndMetadataWithFallback ( $file, $path)
 Get the metadata array and the image size, with b/c fallback.
 
 getTransform ( $image, $dstPath, $dstUrl, $params)
 Get a MediaTransformOutput object representing the transformed output.
 
 getWarningConfig ( $file)
 Gets configuration for the file warning message.
 
 isAnimatedImage ( $file)
 The material is an image, and is animated.
 
 isEnabled ()
 False if the handler is disabled for all files.
 
 isMetadataValid ( $image, $metadata)
 Check if the metadata string is valid for this handler.
 
 isMultiPage ( $file)
 True if the type has multi-page capabilities.
 
 isVectorized ( $file)
 The material is vectorized and thus scaling is lossless.
 
 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.
 

Additional Inherited Members

- Static Public Member Functions inherited from MediaWiki\Media\BitmapHandler
static imageJpegWrapper ( $dst_image, $thumbPath, $quality=null)
 Callback for transformGd when transforming jpeg images.
 
- Static Public Member Functions inherited from MediaWiki\Media\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.
 
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 a MediaHandler 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 inherited from MediaWiki\Media\ExifBitmapHandler
const BROKEN_FILE = '-1'
 Error extracting metadata.
 
const OLD_BROKEN_FILE = '0'
 Outdated error extracting metadata.
 
- Public Attributes inherited from MediaWiki\Media\MediaHandler
const METADATA_BAD = false
 
const METADATA_COMPATIBLE = 2
 
const METADATA_GOOD = true
 
const TRANSFORM_LATER = 1
 
- Protected Member Functions inherited from MediaWiki\Media\ExifBitmapHandler
 applyExifRotation ( $info, $metadata)
 
 getRotationForExifFromOrientation ( $orientation)
 Given a chunk of serialized Exif metadata, return the orientation as degrees of rotation.
 
- Protected Member Functions inherited from MediaWiki\Media\BitmapHandler
 getScalerType ( $dstPath, $checkDstPath=true)
 Returns which scaler type should be used.
 
 hasGDSupport ()
 Whether the php-gd extension supports this type of file.
 
 imageMagickSubsampling ( $pixelFormat)
 Get ImageMagick subsampling factors for the target JPEG pixel format.
 
 transformCustom ( $image, $params)
 Transform an image using a custom command.
 
 transformGd ( $image, $params)
 Transform an image using the built in GD library.
 
 transformImageMagick ( $image, $params)
 Transform an image using ImageMagick.
 
 transformImageMagickExt ( $image, $params)
 Transform an image using the Imagick PHP extension.
 
- Protected Member Functions inherited from MediaWiki\Media\TransformationalImageHandler
 escapeMagickInput ( $path, $scene=false)
 Escape a string for ImageMagick's input filenames.
 
 escapeMagickOutput ( $path, $scene=false)
 Escape a string for ImageMagick's output filename.
 
 escapeMagickPath ( $path, $scene=false)
 Armour a string against ImageMagick's GetPathComponent().
 
 escapeMagickProperty ( $s)
 Escape a string for ImageMagick's property input (e.g.
 
 getClientScalingThumbnailImage ( $image, $scalerParams)
 Get a ThumbnailImage that represents an image that will be scaled client side.
 
 getMagickVersion ()
 Retrieve the version of the installed ImageMagick You can use PHPs version_compare() to use this value Value is cached for one hour.
 
 getThumbnailSource ( $file, $params)
 Get the source file for the transform.
 
- Protected Member Functions inherited from MediaWiki\Media\ImageHandler
 getScriptParams ( $params)
 
- Protected Member Functions inherited from MediaWiki\Media\MediaHandler
 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.
 
 visibleMetadataFields ()
 Get a list of metadata items which should be displayed when the metadata table is collapsed.
 
- Static Protected Member Functions inherited from MediaWiki\Media\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.
 

Detailed Description

Handler for Tiff images.

Definition at line 22 of file TiffHandler.php.

Member Function Documentation

◆ canRender()

MediaWiki\Media\TiffHandler::canRender ( $file)

Conversion to PNG for inline display can be disabled here... Note scaling should work with ImageMagick, but may not with GD scaling.

Files pulled from an another MediaWiki instance via ForeignAPIRepo / InstantCommons will have thumbnails managed from the remote instance, so we can skip this check.

Parameters
File$file
Returns
bool

Reimplemented from MediaWiki\Media\ImageHandler.

Definition at line 39 of file TiffHandler.php.

References MediaWiki\MediaWikiServices\getInstance(), and MediaWiki\MainConfigNames\TiffThumbnailType.

◆ getSizeAndMetadata()

MediaWiki\Media\TiffHandler::getSizeAndMetadata ( $state,
$filename )

Get image size information and metadata array.If this returns null, the caller will fall back to getImageSize() and getMetadata().If getImageSize() or getMetadata() are implemented in the most derived class, they will be used instead of this function. To override this behaviour, override useLegacyMetadata().

Stability: stable
to override
Since
1.37
Parameters
MediaHandlerState$stateAn object for saving process-local state. This is normally a File object which will be passed back to other MediaHandler methods like pageCount(), if they are called in the same request. The handler can use this object to save its state.
string$pathThe filename
Returns
array|null Null to fall back to getImageSize(), or an array with the following keys. All keys are optional.
  • width: The width. If multipage, return the first page width. (optional)
  • height: The height. If multipage, return the first page height. (optional)
  • bits: The number of bits for each color (optional)
  • metadata: A JSON-serializable array of metadata (optional)

Reimplemented from MediaWiki\Media\ImageHandler.

Definition at line 72 of file TiffHandler.php.

References MediaWiki\Media\ExifBitmapHandler\applyExifRotation(), MediaWiki\Media\ExifBitmapHandler\BROKEN_FILE, MediaWiki\MediaWikiServices\getInstance(), MediaWiki\MainConfigNames\ShowEXIF, MediaWiki\Media\BitmapMetadataHandler\Tiff(), MediaWiki\Media\Exif\version(), and wfDebug().

◆ getThumbType()

MediaWiki\Media\TiffHandler::getThumbType ( $ext,
$mime,
$params = null )
Parameters
string$ext
string$mime
array | null$params
Returns
array

Reimplemented from MediaWiki\Media\MediaHandler.

Definition at line 64 of file TiffHandler.php.

References MediaWiki\MediaWikiServices\getInstance(), and MediaWiki\MainConfigNames\TiffThumbnailType.

◆ isExpensiveToThumbnail()

MediaWiki\Media\TiffHandler::isExpensiveToThumbnail ( $file)

True if creating thumbnails from the file is large or otherwise resource-intensive.

Stability: stable
to override
Parameters
File$file
Returns
bool

Reimplemented from MediaWiki\Media\MediaHandler.

Definition at line 101 of file TiffHandler.php.

◆ mustRender()

MediaWiki\Media\TiffHandler::mustRender ( $file)

Browsers don't support TIFF inline generally... For inline display, we need to convert to PNG.

Parameters
File$file
Returns
bool

Reimplemented from MediaWiki\Media\TransformationalImageHandler.

Definition at line 54 of file TiffHandler.php.


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