[Svn] r2192 - trunk/roundcubemail/program/steps/mail

trac at roundcube.net trac at roundcube.net
Mon Dec 29 13:32:16 CET 2008


Author: alec
Date: 2008-12-29 06:32:16 -0600 (Mon, 29 Dec 2008)
New Revision: 2192

Modified:
   trunk/roundcubemail/program/steps/mail/sendmail.inc
Log:
#1485653: fix enless loop in rcmail_attach_emoticons() + fix attaching the same image a few times 


Modified: trunk/roundcubemail/program/steps/mail/sendmail.inc
===================================================================
--- trunk/roundcubemail/program/steps/mail/sendmail.inc	2008-12-28 17:17:01 UTC (rev 2191)
+++ trunk/roundcubemail/program/steps/mail/sendmail.inc	2008-12-29 12:32:16 UTC (rev 2192)
@@ -98,8 +98,8 @@
   $body = preg_replace('/\x00/', '', $htmlContents);
   
   $last_img_pos = 0;
-
   $searchstr = 'program/js/tiny_mce/plugins/emotions/img/';
+  $path_len = strlen(INSTALL_PATH . '/');
 
   // keep track of added images, so they're only added once
   $included_images = array();
@@ -109,29 +109,29 @@
     {
     $pos2 = strpos($body, '"', $pos);
     $body_pre = substr($body, 0, $pos);
+    $body_post = substr($body, $pos2);
+
     $image_name = substr($body,
                          $pos + strlen($searchstr),
                          $pos2 - ($pos + strlen($searchstr)));
+
     // sanitize image name so resulting attachment doesn't leave images dir
     $image_name = preg_replace('/[^a-zA-Z0-9_\.\-]/i','',$image_name);
+    $img_file = INSTALL_PATH . '/' . $searchstr . $image_name;
 
-    $body_post = substr($body, $pos2);
-
     if (! in_array($image_name, $included_images))
       {
       // add the image to the MIME message
-      $img_file = INSTALL_PATH . '/' . $searchstr . $image_name;
       if(! $mime_message->addHTMLImage($img_file, 'image/gif', '', true, $image_name))
         $OUTPUT->show_message("emoticonerror", 'error');
-
       array_push($included_images, $image_name);
       }
-
+    
     $body = $body_pre . $img_file . $body_post;
 
-    $last_img_pos = $pos2;
+    $last_img_pos = $pos2 + $path_len;
     }
-   
+
   $mime_message->setHTMLBody($body);
 }
 

_______________________________________________
http://lists.roundcube.net/mailman/listinfo/svn



More information about the Svn mailing list