MediaWiki REL1_32
TiffHandler.php
Go to the documentation of this file.
1<?php
30 const EXPENSIVE_SIZE_LIMIT = 10485760; // TIFF files over 10M are considered expensive to thumbnail
31
43 public function canRender( $file ) {
45
46 return (bool)$wgTiffThumbnailType
47 || $file->getRepo() instanceof ForeignAPIRepo;
48 }
49
57 public function mustRender( $file ) {
58 return true;
59 }
60
67 function getThumbType( $ext, $mime, $params = null ) {
69
71 }
72
79 function getMetadata( $image, $filename ) {
80 global $wgShowEXIF;
81
82 if ( $wgShowEXIF ) {
83 try {
84 $meta = BitmapMetadataHandler::Tiff( $filename );
85 if ( !is_array( $meta ) ) {
86 // This should never happen, but doesn't hurt to be paranoid.
87 throw new MWException( 'Metadata array is not an array' );
88 }
89 $meta['MEDIAWIKI_EXIF_VERSION'] = Exif::version();
90
91 return serialize( $meta );
92 } catch ( Exception $e ) {
93 // BitmapMetadataHandler throws an exception in certain exceptional
94 // cases like if file does not exist.
95 wfDebug( __METHOD__ . ': ' . $e->getMessage() . "\n" );
96
98 }
99 } else {
100 return '';
101 }
102 }
103
104 public function isExpensiveToThumbnail( $file ) {
105 return $file->getSize() > static::EXPENSIVE_SIZE_LIMIT;
106 }
107}
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.
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
this hook is for auditing only or null if authentication failed before getting that far or null if we can t even determine that probably a stub it is not rendered in wiki pages or galleries in category pages allow injecting custom HTML after the section Any uses of the hook need to handle escaping see BaseTemplate::getToolbox and BaseTemplate::makeListItem for details on the format of individual items inside of this array or by returning and letting standard HTTP rendering take place modifiable or by returning false and taking over the output modifiable modifiable after all normalizations have been except for the $wgMaxImageArea check $image
Definition hooks.txt:925
returning false will NOT prevent logging $e
Definition hooks.txt:2226
if( $ext=='php'|| $ext=='php5') $mime
Definition router.php:59
if(!is_readable( $file)) $ext
Definition router.php:55
$params