From 4e3ec4eca8b1bb1f4e3810125b920f696711d7a6 Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Wed, 18 May 2011 06:15:12 -0400
Subject: [PATCH] Fix vcard value decoding; add setter for individual vcard fields

---
 program/include/rcube_vcard.php |   15 ++++++++++++++-
 1 files changed, 14 insertions(+), 1 deletions(-)

diff --git a/program/include/rcube_vcard.php b/program/include/rcube_vcard.php
index 40ec353..a847464 100644
--- a/program/include/rcube_vcard.php
+++ b/program/include/rcube_vcard.php
@@ -331,6 +331,19 @@
     }
   }
 
+  /**
+   * Setter for individual vcard properties
+   *
+   * @param string VCard tag name
+   * @param array Value-set of this vcard property
+   * @param boolean Set to true if the value-set should be appended instead of replacing any existing value-set
+   */
+  public function set_raw($tag, $value, $append = false)
+  {
+    $index = $append ? count($this->raw[$tag]) : 0;
+    $this->raw[$tag][$index] = (array)$value;
+  }
+
 
   /**
    * Find index with the '$type' attribute
@@ -651,7 +664,7 @@
       return $result;
     }
     else {
-      return strtr($s, array("\r" => '', '\\\\' => '\\', '\n' => "\n", '\N' => "\n", '\,' => ',', '\;' => ';'));
+      return strtr($s, array("\r" => '', '\\\\' => '\\', '\n' => "\n", '\N' => "\n", '\,' => ',', '\;' => ';', '\:' => ':'));
     }
   }
 

--
Gitblit v1.9.1