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
|