This is a fix for the eml forward module
authorphilippe_mingo <philippe_mingo@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Mon, 20 May 2002 11:36:52 +0000 (11:36 +0000)
committerphilippe_mingo <philippe_mingo@7612ce4b-ef26-0410-bec9-ea0150e637f0>
Mon, 20 May 2002 11:36:52 +0000 (11:36 +0000)
git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@2847 7612ce4b-ef26-0410-bec9-ea0150e637f0

functions/smtp.php
src/compose.php
src/move_messages.php

index 903ec0157e7bcfc349bbdcb771382b2245e66920..d10f6854a45a541b0b6d7b49a86bbe59c395be85 100644 (file)
@@ -147,8 +147,10 @@ function attachFiles ($fp, $session, $rn="\r\n") {
                 $file = fopen ($filename, 'rb');
                 if (substr($filetype, 0, 5) == 'text/' ||
                     substr($filetype, 0, 8) == 'message/' ) {
                 $file = fopen ($filename, 'rb');
                 if (substr($filetype, 0, 5) == 'text/' ||
                     substr($filetype, 0, 8) == 'message/' ) {
-                    $header .= "$rn";
-                                       if ($fp) fputs ($fp, $header);
+                    $header .= $rn;
+                                       if ($fp) {
+                                           fputs ($fp, $header);
+                                       }
                     $length += strlen($header);
                     while ($tmp = fgets($file, 4096)) {
                         $tmp = str_replace("\r\n", "\n", $tmp);
                     $length += strlen($header);
                     while ($tmp = fgets($file, 4096)) {
                         $tmp = str_replace("\r\n", "\n", $tmp);
@@ -160,10 +162,12 @@ function attachFiles ($fp, $session, $rn="\r\n") {
                          * Check if the last line has newline ($rn) in it
                          * and append if it doesn't.
                          */
                          * Check if the last line has newline ($rn) in it
                          * and append if it doesn't.
                          */
-                        if (feof($fp) && !strstr($tmp, "$rn")){
-                            $tmp .= "$rn";
+                        if ($fp && feof($fp) && !strstr($tmp, "$rn")){
+                            $tmp .= $rn;
+                        }
+                        if ($fp) {
+                            fputs($fp, $tmp);
                         }
                         }
-                        if ($fp) fputs($fp, $tmp);
                         $length += strlen($tmp);
                     }
                 } else {
                         $length += strlen($tmp);
                     }
                 } else {
index 766959f489a3fa964fef40ac8c8d4d552490d065..90d6ff38cf751e3596dbe9cbd64025cf3566d8af 100644 (file)
@@ -760,12 +760,12 @@ function showInputForm ($session) {
              '&nbsp;' .
              '</td><td align=left bgcolor="' . $color[0] . '">';
         foreach ($attachments as $key => $info) {
              '&nbsp;' .
              '</td><td align=left bgcolor="' . $color[0] . '">';
         foreach ($attachments as $key => $info) {
-           if ($info['session'] == $session) { 
-               $attached_file = "$hashed_attachment_dir/$info[localfilename]";
-               echo '<input type="checkbox" name="delete[]" value="' . $key . "\">\n" .
-                    $info['remotefilename'] . ' - ' . $info['type'] . ' (' .
-                    show_readable_size(filesize($attached_file)) . ")<br>\n";
-           }
+           if ($info['session'] == $session) { 
+               $attached_file = "$hashed_attachment_dir/$info[localfilename]";
+               echo '<input type="checkbox" name="delete[]" value="' . $key . "\">\n" .
+                        $info['remotefilename'] . ' - ' . $info['type'] . ' (' .
+                        show_readable_size( filesize( $attached_file ) ) . ")<br>\n";
+           }
         }
 
         echo '<input type="submit" name="do_delete" value="' .
         }
 
         echo '<input type="submit" name="do_delete" value="' .
index 802ddba8cf80572f7b36ddd3987fe37fb8c1c68c..fa47d9d2f05eab6342996f589b80ce9984f1240d 100644 (file)
@@ -47,29 +47,29 @@ function attachSelectedMessages($msg, $imapConnection) {
 
 
     if (!isset($attachments)) {
 
 
     if (!isset($attachments)) {
-       $attachments = array();
-       session_register('attachments');
+           $attachments = array();
+           session_register('attachments');
     }
 
     if (!isset($composesession)) {
     }
 
     if (!isset($composesession)) {
-       $composesession = 1;
-       session_register('$composesession');
+           $composesession = 1;
+           session_register('$composesession');
     } else {
     } else {
-       $composesession++;
+           $composesession++;
     }
 
     }
 
-    $hashed_attachment_dir = getHashedDir($username, $attachment_dir,$composesession);
+    $hashed_attachment_dir = getHashedDir($username, $attachment_dir, $composesession);
 
     $rem_attachments = array();
     foreach ($attachments as $info) {
 
     $rem_attachments = array();
     foreach ($attachments as $info) {
-       if ($info['session'] == $composesession) {
+       if ($info['session'] == $composesession) {
            $attached_file = "$hashed_attachment_dir/$info[localfilename]";
            if (file_exists($attached_file)) {
            $attached_file = "$hashed_attachment_dir/$info[localfilename]";
            if (file_exists($attached_file)) {
-               unlink($attached_file);
+                   unlink($attached_file);
            }
            }
-       } else {
-           $rem_attachments[] = $info;
-       }
+       } else {
+           $rem_attachments[] = $info;
+       }
     }
 
     $attachments = $rem_attachments;
     }
 
     $attachments = $rem_attachments;
@@ -77,46 +77,46 @@ function attachSelectedMessages($msg, $imapConnection) {
 
     $i = 0;
     $j = 0;
 
     $i = 0;
     $j = 0;
-    
+    $hashed_attachment_dir = getHashedDir($username, $attachment_dir);
     while ($j < count($msg)) {
         if (isset($msg[$i])) {
     while ($j < count($msg)) {
         if (isset($msg[$i])) {
-           $id = $msg[$i];
-           $body_a = sqimap_run_command($imapConnection, "FETCH $id RFC822",true, $response, $readmessage);
-           if ($response = 'OK') {
-               // get subject so we can set the remotefilename
-               $read = sqimap_run_command ($imapConnection, "FETCH $id BODY.PEEK[HEADER.FIELDS (Subject)]", true, $response, $readmessage);
-               $subject = substr($read[1], strpos($read[1], ' '));
-               $subject = trim($subject);
-
-               if (isset($subject) && $subject != '') {
-                   $subject = htmlentities($subject);
-               } else {
-                   $subject = _("<No subject>");
-                   $subject = htmlentities($subject);
-               }
-
-               array_shift($body_a);
-               $body = implode('', $body_a);
-               $body .= "\r\n";
-               
-               $localfilename = GenerateRandomString(32, 'FILE', 7);
-               $full_localfilename = "$hashed_attachment_dir/$localfilename";
-           
-               $fp = fopen( $full_localfilename, 'w');
-               fwrite ($fp, $body);
-               fclose($fp);
-
-               $newAttachment = array();
-               $newAttachment['localfilename'] = $localfilename;
-               $newAttachment['type'] = "message/rfc822";
-               $newAttachment['remotefilename'] = "$subject".".eml";
-               $newAttachment['session'] = $composesession;
-               $attachments[] = $newAttachment;
-               flush();
+           $id = $msg[$i];
+           $body_a = sqimap_run_command($imapConnection, "FETCH $id RFC822",true, $response, $readmessage);
+           if ($response = 'OK') {
+                   // get subject so we can set the remotefilename
+                       $read = sqimap_run_command ($imapConnection, "FETCH $id BODY.PEEK[HEADER.FIELDS (Subject)]", true, $response, $readmessage);
+                       $subject = substr($read[1], strpos($read[1], ' '));
+                   $subject = trim($subject);
+    
+                       if (isset($subject) && $subject != '') {
+                           $subject = htmlentities($subject);
+                       } else {
+                           $subject = _("<No subject>");
+                           $subject = htmlentities($subject);
+                       }
+    
+                       array_shift($body_a);
+                       $body = implode('', $body_a);
+                       $body .= "\r\n";
+                       
+                       $localfilename = GenerateRandomString(32, 'FILE', 7);
+                       $full_localfilename = "$hashed_attachment_dir/$localfilename";
+                   
+                       $fp = fopen( $full_localfilename, 'w');
+                       fwrite ($fp, $body);
+                       fclose($fp);
+    
+                       $newAttachment = array();
+                       $newAttachment['localfilename'] = $localfilename;
+                       $newAttachment['type'] = "message/rfc822";
+               $newAttachment['remotefilename'] = "$subject".".eml";
+               $newAttachment['session'] = $composesession;
+                       $attachments[] = $newAttachment;
+                       flush();
            }
            }
-           $j++;           
-       }
-       $i++;   
+            $j++;          
+           }
+           $i++;       
        
     }
     return $composesession;
        
     }
     return $composesession;