MediaWiki REL1_28
|
Class to deal with reconciling and extracting metadata from bitmap images. More...
Public Member Functions | |
addMetadata ( $metaArray, $type='other') | |
Add misc metadata. | |
getExif ( $filename, $byteOrder) | |
Get exif info using exif class. | |
getMetadataArray () | |
Merge together the various types of metadata the different types have different priorites, and are merged in order. | |
Static Public Member Functions | |
static | getTiffByteOrder ( $filename) |
Read the first 2 bytes of a tiff file to figure out Little Endian or Big Endian. | |
static | GIF ( $filename) |
function for gif images. | |
static | Jpeg ( $filename) |
Main entry point for jpeg's. | |
static | PNG ( $filename) |
Entry point for png At some point in the future this might merge the png various tEXt chunks to that are interesting, but for now it only does XMP. | |
static | Tiff ( $filename) |
This doesn't do much yet, but eventually I plan to add XMP support for Tiff. | |
Private Member Functions | |
doApp13 ( $app13) | |
This does the photoshop image resource app13 block of interest, IPTC-IIM metadata is stored here. | |
Private Attributes | |
string | $iptcType = 'iptc-no-hash' |
array | $metadata = [] |
array | $metaPriority |
Metadata priority. | |
Class to deal with reconciling and extracting metadata from bitmap images.
This is meant to comply with http://www.metadataworkinggroup.org/pdf/mwg_guidance.pdf
This sort of acts as an intermediary between MediaHandler::getMetadata and the various metadata extractors.
Definition at line 36 of file BitmapMetadataHandler.php.
BitmapMetadataHandler::addMetadata | ( | $metaArray, | |
$type = 'other' |
|||
) |
Add misc metadata.
Warning: atm if the metadata category doesn't have a priority, it will be silently discarded.
array | $metaArray | Array of metadata values |
string | $type | Type. defaults to other. if two things have the same type they're merged |
Definition at line 105 of file BitmapMetadataHandler.php.
References $type.
|
private |
This does the photoshop image resource app13 block of interest, IPTC-IIM metadata is stored here.
Mostly just calls doPSIR and doIPTC
string | $app13 | String containing app13 block from jpeg file |
Definition at line 63 of file BitmapMetadataHandler.php.
References $e, addMetadata(), JpegMetadataExtractor\doPSIR(), IPTC\parse(), and wfDebug().
BitmapMetadataHandler::getExif | ( | $filename, | |
$byteOrder | |||
) |
Get exif info using exif class.
Basically what used to be in BitmapHandler::getMetadata(). Just calls stuff in the Exif class.
Parameters are passed to the Exif class.
string | $filename | |
string | $byteOrder |
Definition at line 88 of file BitmapMetadataHandler.php.
References $wgShowEXIF, addMetadata(), and global.
BitmapMetadataHandler::getMetadataArray | ( | ) |
Merge together the various types of metadata the different types have different priorites, and are merged in order.
This function is generally called by the media handlers' getMetadata()
Definition at line 123 of file BitmapMetadataHandler.php.
|
static |
Read the first 2 bytes of a tiff file to figure out Little Endian or Big Endian.
Needed for exif stuff.
string | $filename | The filename |
Definition at line 299 of file BitmapMetadataHandler.php.
Referenced by Tiff().
|
static |
function for gif images.
They don't really have native metadata, so just merges together XMP and image comment.
string | $filename | Full path to file |
Definition at line 232 of file BitmapMetadataHandler.php.
References $type, as, GIFMetadataExtractor\getMetadata(), XMPReader\isSupported(), and GIFMetadataExtractor\VERSION.
Referenced by GIFHandler\getMetadata().
|
static |
Main entry point for jpeg's.
string | $filename | Filename (with full path) |
MWException | On invalid file. |
Definition at line 158 of file BitmapMetadataHandler.php.
References $res, $type, as, XMPReader\isSupported(), and JpegMetadataExtractor\segmentSplitter().
Referenced by JpegHandler\getMetadata(), BitmapMetadataHandlerTest\testBadIPTC(), BitmapMetadataHandlerTest\testIPTCDates(), BitmapMetadataHandlerTest\testIPTCDatesInvalid(), BitmapMetadataHandlerTest\testJpegComment(), and BitmapMetadataHandlerTest\testMultilingualCascade().
|
static |
Entry point for png At some point in the future this might merge the png various tEXt chunks to that are interesting, but for now it only does XMP.
string | $filename | Full path to file |
Definition at line 200 of file BitmapMetadataHandler.php.
References $type, as, PNGMetadataExtractor\getMetadata(), XMPReader\isSupported(), and PNGMetadataExtractor\VERSION.
Referenced by PNGHandler\getMetadata().
|
static |
This doesn't do much yet, but eventually I plan to add XMP support for Tiff.
(PHP's exif support already extracts but needs some further processing because PHP's exif support is stupid...)
The various exceptions this throws are caught later.
string | $filename |
MWException |
Definition at line 272 of file BitmapMetadataHandler.php.
References getTiffByteOrder(), and Exif\version().
Referenced by TiffHandler\getMetadata().
|
private |
Definition at line 53 of file BitmapMetadataHandler.php.
|
private |
Definition at line 38 of file BitmapMetadataHandler.php.
|
private |
Metadata priority.
Definition at line 41 of file BitmapMetadataHandler.php.