]> source.dussan.org Git - nextcloud-server.git/commitdiff
contacts: every card needs a version!
authorJakob Sack <kde@jakobsack.de>
Wed, 9 Nov 2011 10:34:04 +0000 (11:34 +0100)
committerJakob Sack <kde@jakobsack.de>
Wed, 9 Nov 2011 10:35:50 +0000 (11:35 +0100)
apps/contacts/lib/vcard.php

index adfa32b6f5fc9c662c72de2c08237e4deb182799..a6795c7935b7e716072d574c650a20cd1fefc90b 100644 (file)
@@ -95,10 +95,15 @@ class OC_Contacts_VCard{
 
                $card = self::parse($data);
                if(!is_null($card)){
+                       // VCARD must have a version
+                       $hasversion = false;
                        foreach($card->children as $property){
                                if($property->name == 'FN'){
                                        $fn = $property->value;
                                }
+                               elseif($property->name == 'VERSION'){
+                                       $hasversion = true;
+                               }
                                elseif(is_null($uri) && $property->name == 'UID' ){
                                        $uri = $property->value.'.vcf';
                                }
@@ -109,6 +114,11 @@ class OC_Contacts_VCard{
                                $card->add(new Sabre_VObject_Property('UID',$uid));
                                $data = $card->serialize();
                        };
+                       // Add version if needed
+                       if(!$hasversion){
+                               $card->add(new Sabre_VObject_Property('VERSION','3.0'));
+                               $data = $card->serialize();
+                       }
                }
                else{
                        // that's hard. Creating a UID and not saving it