Branch 'kolab-syncroton-2.2' - lib/kolab_sync_data_email.php

Aleksander Machniak machniak at kolabsys.com
Fri Jan 2 08:56:03 CET 2015


 lib/kolab_sync_data_email.php |   13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

New commits:
commit 0b4f33032c53b7179ec9e09b3e41dc9365ee199f
Author: Aleksander Machniak <machniak at kolabsys.com>
Date:   Mon Nov 10 05:04:54 2014 -0500

    Remove non-unicode characters also from message subject and some headers (#3844)

diff --git a/lib/kolab_sync_data_email.php b/lib/kolab_sync_data_email.php
index 74fa565..8d3c89d 100644
--- a/lib/kolab_sync_data_email.php
+++ b/lib/kolab_sync_data_email.php
@@ -146,7 +146,6 @@ class kolab_sync_data_email extends kolab_sync_data implements Syncroton_Data_ID
                 foreach ($addresses as $idx => $part) {
                     // @FIXME: set name + address or address only?
                     $addresses[$idx] = format_email_recipient($part['mailto'], $part['name']);
-                    $addresses[$idx] = rcube_charset::clean($addresses[$idx]);
                 }
 
                 $value = implode(',', $addresses);
@@ -165,6 +164,10 @@ class kolab_sync_data_email extends kolab_sync_data implements Syncroton_Data_ID
                 continue;
             }
 
+            if (is_string($value)) {
+                $value = rcube_charset::clean($value);
+            }
+
             $result[$key] = $value;
         }
 
@@ -179,7 +182,7 @@ class kolab_sync_data_email extends kolab_sync_data implements Syncroton_Data_ID
             // Use FollowUp flag which is used in Android when message is marked with a star
             $result['flag'] = new Syncroton_Model_EmailFlag(array(
                 'flagType' => 'FollowUp',
-                'status' => Syncroton_Model_EmailFlag::STATUS_ACTIVE,
+                'status'   => Syncroton_Model_EmailFlag::STATUS_ACTIVE,
             ));
         }
 
@@ -325,7 +328,7 @@ class kolab_sync_data_email extends kolab_sync_data implements Syncroton_Data_ID
             foreach ($attachments as $attachment) {
                 $att = array();
 
-                $filename = $attachment->filename;
+                $filename = rcube_charset::clean($attachment->filename);
                 if (empty($filename) && $attachment->mimetype == 'text/html') {
                     $filename = 'HTML Part';
                 }
@@ -336,10 +339,10 @@ class kolab_sync_data_email extends kolab_sync_data implements Syncroton_Data_ID
                 $att['estimatedDataSize'] = $attachment->size;
 
                 if (!empty($attachment->content_id)) {
-                    $att['contentId'] = $attachment->content_id;
+                    $att['contentId'] = rcube_charset::clean($attachment->content_id);
                 }
                 if (!empty($attachment->content_location)) {
-                    $att['contentLocation'] = $attachment->content_location;
+                    $att['contentLocation'] = rcube_charset::clean($attachment->content_location);
                 }
 
                 if (in_array($attachment, $message->inline_parts)) {




More information about the commits mailing list