MediaWiki REL1_35
TiffHandler.php
Go to the documentation of this file.
1<?php
33 private const EXPENSIVE_SIZE_LIMIT = 10485760;
34
46 public function canRender( $file ) {
48
49 return (bool)$wgTiffThumbnailType
50 || $file->getRepo() instanceof ForeignAPIRepo;
51 }
52
60 public function mustRender( $file ) {
61 return true;
62 }
63
70 public function getThumbType( $ext, $mime, $params = null ) {
72
74 }
75
82 public function getMetadata( $image, $filename ) {
83 global $wgShowEXIF;
84
85 if ( $wgShowEXIF ) {
86 try {
87 $meta = BitmapMetadataHandler::Tiff( $filename );
88 if ( !is_array( $meta ) ) {
89 // This should never happen, but doesn't hurt to be paranoid.
90 throw new MWException( 'Metadata array is not an array' );
91 }
92 $meta['MEDIAWIKI_EXIF_VERSION'] = Exif::version();
93
94 return serialize( $meta );
95 } catch ( Exception $e ) {
96 // BitmapMetadataHandler throws an exception in certain exceptional
97 // cases like if file does not exist.
98 wfDebug( __METHOD__ . ': ' . $e->getMessage() );
99
101 }
102 } else {
103 return '';
104 }
105 }
106
107 public function isExpensiveToThumbnail( $file ) {
108 return $file->getSize() > static::EXPENSIVE_SIZE_LIMIT;
109 }
110}
serialize()
$wgTiffThumbnailType
Browsers don't support TIFF inline generally... For inline display, we need to convert to PNG or JPEG...
$wgShowEXIF
Show Exif data, on by default if available.
wfDebug( $text, $dest='all', array $context=[])
Sends a line to the debug log if enabled or, optionally, to a comment in output.
static Tiff( $filename)
This doesn't do much yet, but eventually I plan to add XMP support for Tiff.
Stuff specific to JPEG and (built-in) TIFF handler.
const BROKEN_FILE
Error extracting metadata.
static version()
#-
Definition Exif.php:582
A foreign repository with a remote MediaWiki with an API thingy.
MediaWiki exception.
Handler for Tiff images.
getMetadata( $image, $filename)
isExpensiveToThumbnail( $file)
True if creating thumbnails from the file is large or otherwise resource-intensive.
getThumbType( $ext, $mime, $params=null)
canRender( $file)
Conversion to PNG for inline display can be disabled here... Note scaling should work with ImageMagic...
mustRender( $file)
Browsers don't support TIFF inline generally... For inline display, we need to convert to PNG.
const EXPENSIVE_SIZE_LIMIT
TIFF files over 10M are considered expensive to thumbnail.
$mime
Definition router.php:60
if(PHP_SAPI !='cli-server') if(!isset( $_SERVER['SCRIPT_FILENAME'])) $file
Item class for a filearchive table row.
Definition router.php:42
if(!is_readable( $file)) $ext
Definition router.php:48