aboutsummaryrefslogtreecommitdiffstats
path: root/apps/contacts/lib/vcard.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/contacts/lib/vcard.php')
-rw-r--r--apps/contacts/lib/vcard.php22
1 files changed, 21 insertions, 1 deletions
diff --git a/apps/contacts/lib/vcard.php b/apps/contacts/lib/vcard.php
index 1c9a8049f73..bff2897384f 100644
--- a/apps/contacts/lib/vcard.php
+++ b/apps/contacts/lib/vcard.php
@@ -246,7 +246,7 @@ class OC_Contacts_VCard{
public static function escapeSemicolons($value){
foreach($value as &$i ){
$i = implode("\\\\;", explode(';', $i));
- } unset($i);
+ }
return implode(';',$value);
}
@@ -273,6 +273,26 @@ class OC_Contacts_VCard{
}
/**
+ * @brief Add property to vcard object
+ * @param object $vcard
+ * @param object $name of property
+ * @param object $value of property
+ * @param object $paramerters of property
+ */
+ public static function addVCardProperty($vcard, $name, $value, $parameters=array()){
+ if(is_array($value)){
+ $value = OC_Contacts_VCard::escapeSemicolons($value);
+ }
+ $property = new Sabre_VObject_Property( $name, $value );
+ $parameternames = array_keys($parameters);
+ foreach($parameternames as $i){
+ $property->parameters[] = new Sabre_VObject_Parameter($i,$parameters[$i]);
+ }
+
+ $vcard->add($property);
+ }
+
+ /**
* @brief Data structure of vCard
* @param object $property
* @return associative array