MediaWiki  master
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 ) {
44  global $wgTiffThumbnailType;
45 
46  return (bool)$wgTiffThumbnailType
47  || $file->getRepo() instanceof ForeignAPIRepo;
48  }
49 
57  public function mustRender( $file ) {
58  return true;
59  }
60 
67  public function getThumbType( $ext, $mime, $params = null ) {
68  global $wgTiffThumbnailType;
69 
70  return $wgTiffThumbnailType;
71  }
72 
79  public 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 }
if(PHP_SAPI !='cli-server') if(!isset( $_SERVER['SCRIPT_FILENAME'])) $file
Item class for a filearchive table row.
Definition: router.php:42
serialize()
static version()
#-
Definition: Exif.php:582
getThumbType( $ext, $mime, $params=null)
Definition: TiffHandler.php:67
static Tiff( $filename)
This doesn&#39;t do much yet, but eventually I plan to add XMP support for Tiff.
getMetadata( $image, $filename)
Definition: TiffHandler.php:79
$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.
isExpensiveToThumbnail( $file)
$wgTiffThumbnailType
Browsers don&#39;t support TIFF inline generally...
Stuff specific to JPEG and (built-in) TIFF handler.
Handler for Tiff images.
Definition: TiffHandler.php:29
const EXPENSIVE_SIZE_LIMIT
Definition: TiffHandler.php:30
if(!is_readable( $file)) $ext
Definition: router.php:48
A foreign repository with a remote MediaWiki with an API thingy.
mustRender( $file)
Browsers don&#39;t support TIFF inline generally...
Definition: TiffHandler.php:57
canRender( $file)
Conversion to PNG for inline display can be disabled here...
Definition: TiffHandler.php:43