Skip to content

Commit 0a811cb

Browse files
authored
Fix yiisoft#19837: Fixed processing of numeric file extensions in yii\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)
1 parent 821f72d commit 0a811cb

File tree

4 files changed

+22
-6
lines changed

4 files changed

+22
-6
lines changed

build/controllers/MimeTypeController.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,12 @@ class MimeTypeController extends Controller
4949
* @var array MIME types to add to the ones parsed from Apache files
5050
*/
5151
private $additionalMimeTypes = [
52+
'apng' => 'image/apng',
53+
'avif' => 'image/avif',
54+
'jfif' => 'image/jpeg',
5255
'mjs' => 'text/javascript',
56+
'pjp' => 'image/jpeg',
57+
'pjpeg' => 'image/jpeg',
5358
];
5459

5560
/**
@@ -97,8 +102,8 @@ private function generateMimeTypesFile($outFile, $content)
97102
}
98103
}
99104
}
100-
$mimeMap = array_merge($mimeMap, $this->additionalMimeTypes);
101-
ksort($mimeMap);
105+
$mimeMap = array_replace($mimeMap, $this->additionalMimeTypes);
106+
ksort($mimeMap, SORT_STRING);
102107
$array = VarDumper::export($mimeMap);
103108

104109
$content = <<<EOD

framework/CHANGELOG.md

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

3334

3435
2.0.47 November 18, 2022

framework/helpers/mimeTypes.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
* This file has been placed in the public domain for unlimited redistribution.
1010
*/
1111
$mimeTypes = [
12+
123 => 'application/vnd.lotus-1-2-3',
1213
'3dml' => 'text/vnd.in3d.3dml',
1314
'3ds' => 'image/x-3ds',
1415
'3g2' => 'video/3gpp2',
@@ -37,6 +38,7 @@
3738
'ait' => 'application/vnd.dvb.ait',
3839
'ami' => 'application/vnd.amiga.ami',
3940
'apk' => 'application/vnd.android.package-archive',
41+
'apng' => 'image/apng',
4042
'appcache' => 'text/cache-manifest',
4143
'application' => 'application/x-ms-application',
4244
'apr' => 'application/vnd.lotus-approach',
@@ -53,6 +55,7 @@
5355
'atx' => 'application/vnd.antix.game-component',
5456
'au' => 'audio/basic',
5557
'avi' => 'video/x-msvideo',
58+
'avif' => 'image/avif',
5659
'aw' => 'application/applixware',
5760
'azf' => 'application/vnd.airzip.filesecure.azf',
5861
'azs' => 'application/vnd.airzip.filesecure.azs',
@@ -318,12 +321,11 @@
318321
'htke' => 'application/vnd.kenameaapp',
319322
'htm' => 'text/html',
320323
'html' => 'text/html',
324+
'hvd' => 'application/vnd.yamaha.hv-dic',
321325
'hvp' => 'application/vnd.yamaha.hv-voice',
322326
'hvs' => 'application/vnd.yamaha.hv-script',
323327
'i2g' => 'application/vnd.intergeo',
324328
'icc' => 'application/vnd.iccprofile',
325-
0 => 'application/vnd.lotus-1-2-3',
326-
'hvd' => 'application/vnd.yamaha.hv-dic',
327329
'ice' => 'x-conference/x-cooltalk',
328330
'icm' => 'application/vnd.iccprofile',
329331
'ico' => 'image/x-icon',
@@ -356,6 +358,7 @@
356358
'jam' => 'application/vnd.jam',
357359
'jar' => 'application/java-archive',
358360
'java' => 'text/x-java-source',
361+
'jfif' => 'image/jpeg',
359362
'jisp' => 'application/vnd.jisp',
360363
'jlt' => 'application/vnd.hp-jlyt',
361364
'jnlp' => 'application/x-java-jnlp-file',
@@ -598,6 +601,8 @@
598601
'pgn' => 'application/x-chess-pgn',
599602
'pgp' => 'application/pgp-encrypted',
600603
'pic' => 'image/x-pict',
604+
'pjp' => 'image/jpeg',
605+
'pjpeg' => 'image/jpeg',
601606
'pkg' => 'application/octet-stream',
602607
'pki' => 'application/pkixcmp',
603608
'pkipath' => 'application/pkix-pkipath',

tests/framework/helpers/MimeTest.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ public function testMimeAliases()
3939
public function testMimeTypes()
4040
{
4141
$coreMimeTypes = [
42+
123 => 'application/vnd.lotus-1-2-3',
4243
'3dml' => 'text/vnd.in3d.3dml',
4344
'3ds' => 'image/x-3ds',
4445
'3g2' => 'video/3gpp2',
@@ -67,6 +68,7 @@ public function testMimeTypes()
6768
'ait' => 'application/vnd.dvb.ait',
6869
'ami' => 'application/vnd.amiga.ami',
6970
'apk' => 'application/vnd.android.package-archive',
71+
'apng' => 'image/apng',
7072
'appcache' => 'text/cache-manifest',
7173
'application' => 'application/x-ms-application',
7274
'apr' => 'application/vnd.lotus-approach',
@@ -83,6 +85,7 @@ public function testMimeTypes()
8385
'atx' => 'application/vnd.antix.game-component',
8486
'au' => 'audio/basic',
8587
'avi' => 'video/x-msvideo',
88+
'avif' => 'image/avif',
8689
'aw' => 'application/applixware',
8790
'azf' => 'application/vnd.airzip.filesecure.azf',
8891
'azs' => 'application/vnd.airzip.filesecure.azs',
@@ -348,12 +351,11 @@ public function testMimeTypes()
348351
'htke' => 'application/vnd.kenameaapp',
349352
'htm' => 'text/html',
350353
'html' => 'text/html',
354+
'hvd' => 'application/vnd.yamaha.hv-dic',
351355
'hvp' => 'application/vnd.yamaha.hv-voice',
352356
'hvs' => 'application/vnd.yamaha.hv-script',
353357
'i2g' => 'application/vnd.intergeo',
354358
'icc' => 'application/vnd.iccprofile',
355-
0 => 'application/vnd.lotus-1-2-3',
356-
'hvd' => 'application/vnd.yamaha.hv-dic',
357359
'ice' => 'x-conference/x-cooltalk',
358360
'icm' => 'application/vnd.iccprofile',
359361
'ico' => 'image/x-icon',
@@ -386,6 +388,7 @@ public function testMimeTypes()
386388
'jam' => 'application/vnd.jam',
387389
'jar' => 'application/java-archive',
388390
'java' => 'text/x-java-source',
391+
'jfif' => 'image/jpeg',
389392
'jisp' => 'application/vnd.jisp',
390393
'jlt' => 'application/vnd.hp-jlyt',
391394
'jnlp' => 'application/x-java-jnlp-file',
@@ -628,6 +631,8 @@ public function testMimeTypes()
628631
'pgn' => 'application/x-chess-pgn',
629632
'pgp' => 'application/pgp-encrypted',
630633
'pic' => 'image/x-pict',
634+
'pjp' => 'image/jpeg',
635+
'pjpeg' => 'image/jpeg',
631636
'pkg' => 'application/octet-stream',
632637
'pki' => 'application/pkixcmp',
633638
'pkipath' => 'application/pkix-pkipath',

0 commit comments

Comments
 (0)