From fc52af24f1418d6590a2d37a0d8cc31b123e38f6 Mon Sep 17 00:00:00 2001
From: Thomas Bruederli <thomas@roundcube.net>
Date: Tue, 19 Aug 2014 12:08:35 -0400
Subject: [PATCH] Fix merge error that disabled contact drag'n'drop

---
 program/steps/addressbook/export.inc |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/program/steps/addressbook/export.inc b/program/steps/addressbook/export.inc
index 84a63ae..11c9ca4 100644
--- a/program/steps/addressbook/export.inc
+++ b/program/steps/addressbook/export.inc
@@ -42,7 +42,7 @@
 
         while ($row = $result->next()) {
             $row['sourceid'] = $s;
-            $key = rcmail_contact_key($row, $sort_col);
+            $key = rcube_addressbook::compose_contact_key($row, $sort_col);
             $records[$key] = $row;
         }
         unset($result);
@@ -73,7 +73,9 @@
 while ($result && ($row = $result->next())) {
     // we already have a vcard record
     if ($row['vcard'] && $row['name']) {
-        $row['vcard'] = preg_replace('/\r?\n/', rcube_vcard::$eol, $row['vcard']);
+        // fix folding and end-of-line chars
+        $row['vcard'] = preg_replace('/\r|\n\s+/', '', $row['vcard']);
+        $row['vcard'] = preg_replace('/\n/', rcube_vcard::$eol, $row['vcard']);
         echo rcube_vcard::rfc2425_fold($row['vcard']) . rcube_vcard::$eol;
     }
     // copy values into vcard object
@@ -86,7 +88,7 @@
         foreach ($row as $key => $values) {
             list($field, $section) = explode(':', $key);
             foreach ((array)$values as $value) {
-                if (is_array($value) || strlen($value))
+                if (is_array($value) || @strlen($value))
                     $vcard->set($field, $value, strtoupper($section));
             }
         }

--
Gitblit v1.9.1