Skip to content

Commit db3b997

Browse files
committed
Use all available methods to detect the attachment extension instead of just one
1 parent abf080e commit db3b997

File tree

2 files changed

+14
-10
lines changed

2 files changed

+14
-10
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Updates should follow the [Keep a CHANGELOG](http://keepachangelog.com/) princip
66

77
## [UNRELEASED]
88
### Fixed
9-
- NaN
9+
- Use all available methods to detect the attachment extension instead of just one
1010

1111
### Added
1212
- NaN

src/Attachment.php

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -302,21 +302,25 @@ public function getMimeType(): ?string {
302302
* @return string|null
303303
*/
304304
public function getExtension(): ?string {
305+
$extension = null;
305306
$guesser = "\Symfony\Component\Mime\MimeTypes";
306307
if (class_exists($guesser) !== false) {
307308
/** @var Symfony\Component\Mime\MimeTypes $guesser */
308309
$extensions = $guesser::getDefault()->getExtensions($this->getMimeType());
309-
return $extensions[0] ?? null;
310+
$extension = $extensions[0] ?? null;
310311
}
311-
312-
$deprecated_guesser = "\Symfony\Component\HttpFoundation\File\MimeType\ExtensionGuesser";
313-
if (class_exists($deprecated_guesser) !== false){
314-
/** @var \Symfony\Component\HttpFoundation\File\MimeType\ExtensionGuesser $deprecated_guesser */
315-
return $deprecated_guesser::getInstance()->guess($this->getMimeType());
312+
if ($extension === null) {
313+
$deprecated_guesser = "\Symfony\Component\HttpFoundation\File\MimeType\ExtensionGuesser";
314+
if (class_exists($deprecated_guesser) !== false){
315+
/** @var \Symfony\Component\HttpFoundation\File\MimeType\ExtensionGuesser $deprecated_guesser */
316+
$extension = $deprecated_guesser::getInstance()->guess($this->getMimeType());
317+
}
316318
}
317-
318-
$extensions = explode(".", $this->part->filename ?: $this->part->name);
319-
return end($extensions);
319+
if ($extension === null) {
320+
$extensions = explode(".", $this->filename);
321+
$extension = end($extensions);
322+
}
323+
return $extension;
320324
}
321325

322326
/**

0 commit comments

Comments
 (0)