diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2014-12-27 15:41:37 +0100 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2014-12-31 11:43:28 +0100 |
commit | c1f9b1f7b1b77776192048005dcc66dcf3df2bfb (patch) | |
tree | 2b38796e738dd74cb42ecd9bfd151803108386bc /includes/media/JpegMetadataExtractor.php | |
parent | b88ab0086858470dd1f644e64cb4e4f62bb2be9b (diff) |
Update to MediaWiki 1.24.1
Diffstat (limited to 'includes/media/JpegMetadataExtractor.php')
-rw-r--r-- | includes/media/JpegMetadataExtractor.php | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/includes/media/JpegMetadataExtractor.php b/includes/media/JpegMetadataExtractor.php index c7030eba..8c5b46bb 100644 --- a/includes/media/JpegMetadataExtractor.php +++ b/includes/media/JpegMetadataExtractor.php @@ -30,8 +30,8 @@ * @ingroup Media */ class JpegMetadataExtractor { - const MAX_JPEG_SEGMENTS = 200; + // the max segment is a sanity check. // A jpeg file should never even remotely have // that many segments. Your average file has about 10. @@ -43,9 +43,9 @@ class JpegMetadataExtractor { * but gis doesn't support having multiple app1 segments * and those can't extract xmp on files containing both exif and xmp data * - * @param string $filename name of jpeg file - * @return Array of interesting segments. - * @throws MWException if given invalid file. + * @param string $filename Name of jpeg file + * @return array Array of interesting segments. + * @throws MWException If given invalid file. */ static function segmentSplitter( $filename ) { $showXMP = function_exists( 'xml_parser_create_ns' ); @@ -83,7 +83,8 @@ class JpegMetadataExtractor { throw new MWException( 'Too many jpeg segments. Aborting' ); } if ( $buffer !== "\xFF" ) { - throw new MWException( "Error reading jpeg file marker. Expected 0xFF but got " . bin2hex( $buffer ) ); + throw new MWException( "Error reading jpeg file marker. " . + "Expected 0xFF but got " . bin2hex( $buffer ) ); } $buffer = fread( $fh, 1 ); @@ -113,7 +114,6 @@ class JpegMetadataExtractor { } else { wfDebug( __METHOD__ . " Ignoring JPEG comment as is garbage.\n" ); } - } elseif ( $buffer === "\xE1" ) { // APP1 section (Exif, XMP, and XMP extended) // only extract if XMP is enabled. @@ -160,7 +160,6 @@ class JpegMetadataExtractor { } fseek( $fh, $size['int'] - 2, SEEK_CUR ); } - } // shouldn't get here. throw new MWException( "Reached end of jpeg file unexpectedly" ); @@ -168,9 +167,9 @@ class JpegMetadataExtractor { /** * Helper function for jpegSegmentSplitter - * @param &$fh FileHandle for jpeg file + * @param resource &$fh File handle for JPEG file * @throws MWException - * @return string data content of segment. + * @return string Data content of segment. */ private static function jpegExtractMarker( &$fh ) { $size = wfUnpack( "nint", fread( $fh, 2 ), 2 ); @@ -181,6 +180,7 @@ class JpegMetadataExtractor { if ( strlen( $segment ) !== $size['int'] - 2 ) { throw new MWException( "Segment shorter than expected" ); } + return $segment; } @@ -193,9 +193,10 @@ class JpegMetadataExtractor { * * This should generally be called by BitmapMetadataHandler::doApp13() * - * @param string $app13 photoshop psir app13 block from jpg. + * @param string $app13 Photoshop psir app13 block from jpg. * @throws MWException (It gets caught next level up though) - * @return String if the iptc hash is good or not. + * @return string If the iptc hash is good or not. One of 'iptc-no-hash', + * 'iptc-good-hash', 'iptc-bad-hash'. */ public static function doPSIR( $app13 ) { if ( !$app13 ) { @@ -275,7 +276,6 @@ class JpegMetadataExtractor { $lenData['len']++; } $offset += $lenData['len']; - } if ( !$realHash || !$recordedHash ) { |