| @@ 128-153 (lines=26) @@ | ||
| 125 | return 'parsed-gif'; |
|
| 126 | } |
|
| 127 | ||
| 128 | function isMetadataValid( $image, $metadata ) { |
|
| 129 | if ( $metadata === self::BROKEN_FILE ) { |
|
| 130 | // Do not repetitivly regenerate metadata on broken file. |
|
| 131 | return self::METADATA_GOOD; |
|
| 132 | } |
|
| 133 | ||
| 134 | MediaWiki\suppressWarnings(); |
|
| 135 | $data = unserialize( $metadata ); |
|
| 136 | MediaWiki\restoreWarnings(); |
|
| 137 | ||
| 138 | if ( !$data || !is_array( $data ) ) { |
|
| 139 | wfDebug( __METHOD__ . " invalid GIF metadata\n" ); |
|
| 140 | ||
| 141 | return self::METADATA_BAD; |
|
| 142 | } |
|
| 143 | ||
| 144 | if ( !isset( $data['metadata']['_MW_GIF_VERSION'] ) |
|
| 145 | || $data['metadata']['_MW_GIF_VERSION'] != GIFMetadataExtractor::VERSION |
|
| 146 | ) { |
|
| 147 | wfDebug( __METHOD__ . " old but compatible GIF metadata\n" ); |
|
| 148 | ||
| 149 | return self::METADATA_COMPATIBLE; |
|
| 150 | } |
|
| 151 | ||
| 152 | return self::METADATA_GOOD; |
|
| 153 | } |
|
| 154 | ||
| 155 | /** |
|
| 156 | * @param File $image |
|
| @@ 114-140 (lines=27) @@ | ||
| 111 | return 'parsed-png'; |
|
| 112 | } |
|
| 113 | ||
| 114 | function isMetadataValid( $image, $metadata ) { |
|
| 115 | ||
| 116 | if ( $metadata === self::BROKEN_FILE ) { |
|
| 117 | // Do not repetitivly regenerate metadata on broken file. |
|
| 118 | return self::METADATA_GOOD; |
|
| 119 | } |
|
| 120 | ||
| 121 | MediaWiki\suppressWarnings(); |
|
| 122 | $data = unserialize( $metadata ); |
|
| 123 | MediaWiki\restoreWarnings(); |
|
| 124 | ||
| 125 | if ( !$data || !is_array( $data ) ) { |
|
| 126 | wfDebug( __METHOD__ . " invalid png metadata\n" ); |
|
| 127 | ||
| 128 | return self::METADATA_BAD; |
|
| 129 | } |
|
| 130 | ||
| 131 | if ( !isset( $data['metadata']['_MW_PNG_VERSION'] ) |
|
| 132 | || $data['metadata']['_MW_PNG_VERSION'] != PNGMetadataExtractor::VERSION |
|
| 133 | ) { |
|
| 134 | wfDebug( __METHOD__ . " old but compatible png metadata\n" ); |
|
| 135 | ||
| 136 | return self::METADATA_COMPATIBLE; |
|
| 137 | } |
|
| 138 | ||
| 139 | return self::METADATA_GOOD; |
|
| 140 | } |
|
| 141 | ||
| 142 | /** |
|
| 143 | * @param File $image |
|
| @@ 60-84 (lines=25) @@ | ||
| 57 | return 'parsed-webp'; |
|
| 58 | } |
|
| 59 | ||
| 60 | public function isMetadataValid( $image, $metadata ) { |
|
| 61 | if ( $metadata === self::BROKEN_FILE ) { |
|
| 62 | // Do not repetitivly regenerate metadata on broken file. |
|
| 63 | return self::METADATA_GOOD; |
|
| 64 | } |
|
| 65 | ||
| 66 | MediaWiki\suppressWarnings(); |
|
| 67 | $data = unserialize( $metadata ); |
|
| 68 | MediaWiki\restoreWarnings(); |
|
| 69 | ||
| 70 | if ( !$data || !is_array( $data ) ) { |
|
| 71 | wfDebug( __METHOD__ . " invalid WebP metadata\n" ); |
|
| 72 | ||
| 73 | return self::METADATA_BAD; |
|
| 74 | } |
|
| 75 | ||
| 76 | if ( !isset( $data['metadata']['_MW_WEBP_VERSION'] ) |
|
| 77 | || $data['metadata']['_MW_WEBP_VERSION'] != self::_MW_WEBP_VERSION |
|
| 78 | ) { |
|
| 79 | wfDebug( __METHOD__ . " old but compatible WebP metadata\n" ); |
|
| 80 | ||
| 81 | return self::METADATA_COMPATIBLE; |
|
| 82 | } |
|
| 83 | return self::METADATA_GOOD; |
|
| 84 | } |
|
| 85 | ||
| 86 | /** |
|
| 87 | * Extracts the image size and WebP type from a file |
|