X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;ds=sidebyside;f=includes%2Flibs%2Fmime%2FMimeAnalyzer.php;h=c361fdfa0d8d123be9e80706b4d0d8e5f7de4438;hb=55faf05e1118edf1073aa5cbddd7401ea244a1d2;hp=6ea3c215bc70f573c2c8b18a8be4b346dcd2cbe8;hpb=6ead43f2123fec255acccce6bf68f31b51196a55;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/libs/mime/MimeAnalyzer.php b/includes/libs/mime/MimeAnalyzer.php index 6ea3c215bc..c361fdfa0d 100644 --- a/includes/libs/mime/MimeAnalyzer.php +++ b/includes/libs/mime/MimeAnalyzer.php @@ -529,7 +529,7 @@ EOT; // Formats we recognize magic numbers for 'djvu', 'ogx', 'ogg', 'ogv', 'oga', 'spx', 'opus', 'mid', 'pdf', 'wmf', 'xcf', 'webm', 'mkv', 'mka', - 'webp', + 'webp', 'mp3', // XML formats we sure hope we recognize reliably 'svg', @@ -670,6 +670,10 @@ EOT; // Multimedia... 'MThd' => 'audio/midi', 'OggS' => 'application/ogg', + 'ID3' => 'audio/mpeg', + "\xff\xfb" => 'audio/mpeg', // MPEG-1 layer 3 + "\xff\xf3" => 'audio/mpeg', // MPEG-2 layer 3 (lower sample rates) + "\xff\xe3" => 'audio/mpeg', // MPEG-2.5 layer 3 (very low sample rates) // Image formats... // Note that WMF may have a bare header, no magic number. @@ -735,8 +739,8 @@ EOT; ( strpos( $head, "<\x00?\x00 " ) !== false ) || ( strpos( $head, "<\x00?\x00\n" ) !== false ) || ( strpos( $head, "<\x00?\x00\t" ) !== false ) || - ( strpos( $head, "<\x00?\x00=" ) !== false ) ) { - + ( strpos( $head, "<\x00?\x00=" ) !== false ) + ) { $this->logger->info( __METHOD__ . ": recognized $file as application/x-php\n" ); return 'application/x-php'; } @@ -1035,7 +1039,6 @@ EOT; // Special code for ogg - detect if it's video (theora), // else label it as sound. if ( $mime == 'application/ogg' && file_exists( $path ) ) { - // Read a chunk of the file $f = fopen( $path, "rt" ); if ( !$f ) { @@ -1141,6 +1144,15 @@ EOT; return MEDIATYPE_UNKNOWN; } + /** + * Returns an array of media types (MEDIATYPE_xxx constants) + * + * @return array + */ + public function getMediaTypes() { + return array_keys( $this->mediaTypes ); + } + /** * Get the MIME types that various versions of Internet Explorer would * detect from a chunk of the content.