Bladeren bron

Fixed: filenames in case of forwarding a message.
Cleanup: Make use of getFilename method from the Message class and remove
this code from mime.php

stekkel 20 jaren geleden
bovenliggende
commit
937d6c3c02
2 gewijzigde bestanden met toevoegingen van 355 en 357 verwijderingen
  1. 35 9
      class/mime/Message.class.php
  2. 320 348
      functions/mime.php

+ 35 - 9
class/mime/Message.class.php

@@ -48,15 +48,41 @@ class Message {
     }
 
     function getFilename() {
-        $filename = $this->header->getParameter('filename');
-        if (!$filename) {
-            $filename = $this->header->getParameter('name');
-        }
-
-        if (!$filename) {
-            $filename = 'untitled-'.$this->entity_id;
-        }
-        return $filename;
+         $filename = '';
+         $header = $this->header;
+         if (is_object($header->disposition)) {
+              $filename = $header->disposition->getProperty('filename');
+              if (trim($filename) == '') {
+                  $name = decodeHeader($header->disposition->getProperty('name'));
+                  if (!trim($name)) {
+                      $name = $header->getParameter('name');
+                      if(!trim($name)) {
+                          if (!trim( $header->id )) {
+                              $filename = 'untitled-[' . $this->entity_id . ']' ;
+                          } else {
+                              $filename = 'cid: ' . $header->id;
+                          }
+                      } else {
+                          $filename = $name;
+                      }
+                  } else {
+                      $filename = $name;
+                  }
+              }
+         } else {
+              $filename = $header->getParameter('filename');
+              if (!trim($filename)) {
+                  $filename = $header->getParameter('name');
+                  if (!trim($filename)) {
+                      if (!trim( $header->id )) {
+                          $filename = 'untitled-[' . $this->entity_id . ']' ;
+                      } else {
+                          $filename = 'cid: ' . $header->id;
+                      }
+                  }
+              }
+         }
+         return $filename;
     }
 
 

File diff suppressed because it is too large
+ 320 - 348
functions/mime.php


Some files were not shown because too many files changed in this diff