logo       
Google Custom Search
    AddThis Social Bookmark Button
-->

SF.net SVN: squirrelmail: [12195] branches/SM-1_4-STABLE/squirrelmail/class: msg#00238

Subject: SF.net SVN: squirrelmail: [12195] branches/SM-1_4-STABLE/squirrelmail/class /mime/Message.class.php
Revision: 12195
          
http://squirrelmail.svn.sourceforge.net/squirrelmail/?rev=12195&view=rev
Author:   stekkel
Date:     2007-01-23 02:55:28 -0800 (Tue, 23 Jan 2007)

Log Message:
-----------
Better filename extraction. Ported from devel.

Modified Paths:
--------------
    branches/SM-1_4-STABLE/squirrelmail/class/mime/Message.class.php

Modified: branches/SM-1_4-STABLE/squirrelmail/class/mime/Message.class.php
===================================================================
--- branches/SM-1_4-STABLE/squirrelmail/class/mime/Message.class.php    
2007-01-23 10:54:06 UTC (rev 12194)
+++ branches/SM-1_4-STABLE/squirrelmail/class/mime/Message.class.php    
2007-01-23 10:55:28 UTC (rev 12195)
@@ -146,16 +146,41 @@
      * @since 1.3.2
      */
     function getFilename() {
-        $filename = '';
-        $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;
     }
 
     /**


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV


<Prev in Thread] Current Thread [Next in Thread>