Merge pull request #4 from pm14kas/fix-structure-extended-notation

fixed attachment detection for rare case with multiline utf8 headers
This commit is contained in:
Ichern 2024-01-24 12:23:32 +03:00 committed by GitHub
commit 68cb173bc5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 21 additions and 0 deletions

View File

@ -116,6 +116,16 @@ class Attachment
$parameters = Message::getParametersFromStructure($structure);
// quick fix for Content-Disposition extended notation
// name*0*=UTF-8''%D0%A...
// name*1*=%D0%B8...
// etc
if (!empty($parameters['filename*'])) {
$this->setFileName($parameters['filename*']);
} elseif (!empty($parameters['name*'])) {
$this->setFileName($parameters['name*']);
}
if (!empty($parameters['filename'])) {
$this->setFileName($parameters['filename']);
} elseif (!empty($parameters['name'])) {

View File

@ -534,6 +534,17 @@ class Message
{
$parameters = self::getParametersFromStructure($structure);
// quick fix for Content-Disposition extended notation
// name*0*=UTF-8''%D0%A...
// name*1*=%D0%B8...
// etc
if (empty($parameters['name']) && !empty($parameters['name*'])) {
$parameters['name'] = $parameters['name*'];
}
if (empty($parameters['filename']) && !empty($parameters['filename*'])) {
$parameters['filename'] = $parameters['filename*'];
}
if (!empty($parameters['name']) || !empty($parameters['filename'])) {
$attachment = new Attachment($this, $structure, $partIdentifier);
$this->attachments[] = $attachment;