Skip to content

Commit d1fba7c

Browse files
author
roadiz-ci
committed
Merge tag v2.6.14 into develop
1 parent f2cc203 commit d1fba7c

2 files changed

Lines changed: 58 additions & 0 deletions

File tree

src/Utils/StringHandler.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,20 @@ public static function cleanForFilename(?string $string): string
6767
return '';
6868
}
6969

70+
// Remove images double extensions
71+
// for compatibility with intervention-request
72+
// and only keep the last one.
73+
// example: my.image.jpg.webp => my_image_jpg.webp
74+
$parts = explode('.', $string);
75+
if (count($parts) > 2) {
76+
$extension = array_pop($parts);
77+
// Keep double extension for zip, gz, xz and bz
78+
if (!\in_array($extension, ['zip', 'gz', 'xz', 'bz', 'bz2', '7z', 'tgz'], true)) {
79+
$filename = implode('_', $parts);
80+
$string = $filename.'.'.$extension;
81+
}
82+
}
83+
7084
return (new UnicodeString($string))
7185
->ascii()
7286
->trim()

tests/StringHandlerTest.php

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,50 @@ public function cleanForFilenameProvider(): array
4040
'image/with/slashes.jpg',
4141
'image_with_slashes.jpg',
4242
],
43+
[
44+
'image.jpg.webp',
45+
'image_jpg.webp',
46+
],
47+
[
48+
'image.png.avif',
49+
'image_png.avif',
50+
],
51+
[
52+
'image.png.heif',
53+
'image_png.heif',
54+
],
55+
[
56+
'folder/folder.image.jpg.webp',
57+
'folder_folder_image_jpg.webp',
58+
],
59+
[
60+
'folder/archive.tar.gz',
61+
'folder_archive.tar.gz',
62+
],
63+
[
64+
'folder/archive.tar.xz',
65+
'folder_archive.tar.xz',
66+
],
67+
[
68+
'folder/archive.tar.zip',
69+
'folder_archive.tar.zip',
70+
],
71+
[
72+
'folder/archive.tar.bz',
73+
'folder_archive.tar.bz',
74+
],
75+
[
76+
'folder/archive.tar.bz2',
77+
'folder_archive.tar.bz2',
78+
],
79+
[
80+
'folder/archive.tar.tgz',
81+
'folder_archive.tar.tgz',
82+
],
83+
[
84+
'folder/archive.tar.7z',
85+
'folder_archive.tar.7z',
86+
],
4387
];
4488
}
4589

0 commit comments

Comments
 (0)