Skip to content

Commit

Permalink
Fix yiisoft#19837: Fixed processing of numeric file extensions in `yi…
Browse files Browse the repository at this point in the history
…i\build\controllers\MimeTypeController::generateMimeTypesFile()`

Fixed processing of nummeric file extensions in `\yii\build\controllers\MimeTypeController::generateMimeTypesFile()` and added common image file types (https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Image_types#common_image_file_types)
  • Loading branch information
rhertogh authored May 18, 2023
1 parent 821f72d commit 0a811cb
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 6 deletions.
9 changes: 7 additions & 2 deletions build/controllers/MimeTypeController.php
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,12 @@ class MimeTypeController extends Controller
* @var array MIME types to add to the ones parsed from Apache files
*/
private $additionalMimeTypes = [
'apng' => 'image/apng',
'avif' => 'image/avif',
'jfif' => 'image/jpeg',
'mjs' => 'text/javascript',
'pjp' => 'image/jpeg',
'pjpeg' => 'image/jpeg',
];

/**
Expand Down Expand Up @@ -97,8 +102,8 @@ private function generateMimeTypesFile($outFile, $content)
}
}
}
$mimeMap = array_merge($mimeMap, $this->additionalMimeTypes);
ksort($mimeMap);
$mimeMap = array_replace($mimeMap, $this->additionalMimeTypes);
ksort($mimeMap, SORT_STRING);
$array = VarDumper::export($mimeMap);

$content = <<<EOD
Expand Down
1 change: 1 addition & 0 deletions framework/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ Yii Framework 2 Change Log
- Enh #19816: Explicitly pass `$fallbackToMaster` as `true` to `getSlavePdo()` to ensure it is not affected by child class with changed defaults (developedsoftware)
- Bug #19720: Fix "zh-HK" locale causing [error][yii\i18n\PhpMessageSource::loadFallbackMessages] The message file for category 'yii' does not exist (uaoleg)
- Bug #19736: Fix `StringHelper::truncate(null, 10)` causes error Deprecated: mb_strlen(): Passing null to parameter #1 ($string) of type string is deprecated (uaoleg)
- Bug #19837: Fixed processing of numeric file extensions in `yii\build\controllers\MimeTypeController::generateMimeTypesFile()` (rhertogh)


2.0.47 November 18, 2022
Expand Down
9 changes: 7 additions & 2 deletions framework/helpers/mimeTypes.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
* This file has been placed in the public domain for unlimited redistribution.
*/
$mimeTypes = [
123 => 'application/vnd.lotus-1-2-3',
'3dml' => 'text/vnd.in3d.3dml',
'3ds' => 'image/x-3ds',
'3g2' => 'video/3gpp2',
Expand Down Expand Up @@ -37,6 +38,7 @@
'ait' => 'application/vnd.dvb.ait',
'ami' => 'application/vnd.amiga.ami',
'apk' => 'application/vnd.android.package-archive',
'apng' => 'image/apng',
'appcache' => 'text/cache-manifest',
'application' => 'application/x-ms-application',
'apr' => 'application/vnd.lotus-approach',
Expand All @@ -53,6 +55,7 @@
'atx' => 'application/vnd.antix.game-component',
'au' => 'audio/basic',
'avi' => 'video/x-msvideo',
'avif' => 'image/avif',
'aw' => 'application/applixware',
'azf' => 'application/vnd.airzip.filesecure.azf',
'azs' => 'application/vnd.airzip.filesecure.azs',
Expand Down Expand Up @@ -318,12 +321,11 @@
'htke' => 'application/vnd.kenameaapp',
'htm' => 'text/html',
'html' => 'text/html',
'hvd' => 'application/vnd.yamaha.hv-dic',
'hvp' => 'application/vnd.yamaha.hv-voice',
'hvs' => 'application/vnd.yamaha.hv-script',
'i2g' => 'application/vnd.intergeo',
'icc' => 'application/vnd.iccprofile',
0 => 'application/vnd.lotus-1-2-3',
'hvd' => 'application/vnd.yamaha.hv-dic',
'ice' => 'x-conference/x-cooltalk',
'icm' => 'application/vnd.iccprofile',
'ico' => 'image/x-icon',
Expand Down Expand Up @@ -356,6 +358,7 @@
'jam' => 'application/vnd.jam',
'jar' => 'application/java-archive',
'java' => 'text/x-java-source',
'jfif' => 'image/jpeg',
'jisp' => 'application/vnd.jisp',
'jlt' => 'application/vnd.hp-jlyt',
'jnlp' => 'application/x-java-jnlp-file',
Expand Down Expand Up @@ -598,6 +601,8 @@
'pgn' => 'application/x-chess-pgn',
'pgp' => 'application/pgp-encrypted',
'pic' => 'image/x-pict',
'pjp' => 'image/jpeg',
'pjpeg' => 'image/jpeg',
'pkg' => 'application/octet-stream',
'pki' => 'application/pkixcmp',
'pkipath' => 'application/pkix-pkipath',
Expand Down
9 changes: 7 additions & 2 deletions tests/framework/helpers/MimeTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ public function testMimeAliases()
public function testMimeTypes()
{
$coreMimeTypes = [
123 => 'application/vnd.lotus-1-2-3',
'3dml' => 'text/vnd.in3d.3dml',
'3ds' => 'image/x-3ds',
'3g2' => 'video/3gpp2',
Expand Down Expand Up @@ -67,6 +68,7 @@ public function testMimeTypes()
'ait' => 'application/vnd.dvb.ait',
'ami' => 'application/vnd.amiga.ami',
'apk' => 'application/vnd.android.package-archive',
'apng' => 'image/apng',
'appcache' => 'text/cache-manifest',
'application' => 'application/x-ms-application',
'apr' => 'application/vnd.lotus-approach',
Expand All @@ -83,6 +85,7 @@ public function testMimeTypes()
'atx' => 'application/vnd.antix.game-component',
'au' => 'audio/basic',
'avi' => 'video/x-msvideo',
'avif' => 'image/avif',
'aw' => 'application/applixware',
'azf' => 'application/vnd.airzip.filesecure.azf',
'azs' => 'application/vnd.airzip.filesecure.azs',
Expand Down Expand Up @@ -348,12 +351,11 @@ public function testMimeTypes()
'htke' => 'application/vnd.kenameaapp',
'htm' => 'text/html',
'html' => 'text/html',
'hvd' => 'application/vnd.yamaha.hv-dic',
'hvp' => 'application/vnd.yamaha.hv-voice',
'hvs' => 'application/vnd.yamaha.hv-script',
'i2g' => 'application/vnd.intergeo',
'icc' => 'application/vnd.iccprofile',
0 => 'application/vnd.lotus-1-2-3',
'hvd' => 'application/vnd.yamaha.hv-dic',
'ice' => 'x-conference/x-cooltalk',
'icm' => 'application/vnd.iccprofile',
'ico' => 'image/x-icon',
Expand Down Expand Up @@ -386,6 +388,7 @@ public function testMimeTypes()
'jam' => 'application/vnd.jam',
'jar' => 'application/java-archive',
'java' => 'text/x-java-source',
'jfif' => 'image/jpeg',
'jisp' => 'application/vnd.jisp',
'jlt' => 'application/vnd.hp-jlyt',
'jnlp' => 'application/x-java-jnlp-file',
Expand Down Expand Up @@ -628,6 +631,8 @@ public function testMimeTypes()
'pgn' => 'application/x-chess-pgn',
'pgp' => 'application/pgp-encrypted',
'pic' => 'image/x-pict',
'pjp' => 'image/jpeg',
'pjpeg' => 'image/jpeg',
'pkg' => 'application/octet-stream',
'pki' => 'application/pkixcmp',
'pkipath' => 'application/pkix-pkipath',
Expand Down

0 comments on commit 0a811cb

Please sign in to comment.