]> source.dussan.org Git - nextcloud-server.git/commitdiff
Make sure VERSION is set.
authorThomas Tanghus <thomas@tanghus.net>
Wed, 11 Jan 2012 05:20:06 +0000 (06:20 +0100)
committerThomas Tanghus <thomas@tanghus.net>
Wed, 11 Jan 2012 05:20:06 +0000 (06:20 +0100)
Set REV for each edit.
Download single VCard.

apps/contacts/css/styles.css
apps/contacts/export.php
apps/contacts/js/interface.js
apps/contacts/lib/vcard.php
apps/contacts/templates/part.details.php

index dfc296a221bd2c515db340deb8430d53765d4ea9..4fcd8fc113161a0aeb24337cdde2bbf29197cf32 100644 (file)
@@ -4,7 +4,8 @@
 #contacts_details_name { font-weight:bold;font-size:1.1em;margin-left:25%;}
 #contacts_details_photo { margin:.5em 0em .5em 25%; }
 
-#contacts_deletecard {position:absolute;top:15px;right:15px;}
+#contacts_deletecard {position:absolute;top:15px;right:25px;}
+#contacts_downloadcard {position:absolute;top:15px;right:50px;}
 #contacts_details_list { list-style:none; }
 #contacts_details_list li { overflow:visible; }
 #contacts_details_list li p.contacts_property_name { width:25%; float:left;text-align:right;padding-right:0.3em;color:#666; }
index a1e974c962b8169fe9f9d33056e9a2dda36b5426..735d1c5b6316872f8911928c259aa0ba0fc3ebfb 100644 (file)
@@ -33,7 +33,7 @@ if(isset($book)){
                exit;
        }
        header('Content-Type: text/directory');
-       header('Content-Disposition: inline; filename=' . $data['fullname'] . '.vcf'); 
+       header('Content-Disposition: inline; filename=' . str_replace(' ', '_', $data['fullname']) . '.vcf'); 
        echo $data['carddata'];
 }
 ?>
index 9547c581c878157ca58c8ad3039f3f857f4b35f6..741483633daa1ba8f325500a3d0fd849c52d46ba 100644 (file)
@@ -197,6 +197,7 @@ $(document).ready(function(){
         * Delete currently selected contact (and clear form?)
         */
        $('#contacts_deletecard').live('click',function(){
+               $('#contacts_deletecard').tipsy('hide');
                var id = $('#rightcontent').data('id');
                $.getJSON('ajax/deletecard.php',{'id':id},function(jsondata){
                        if(jsondata.status == 'success'){
@@ -401,7 +402,8 @@ $(document).ready(function(){
                }
        });
        
-       $('.action').tipsy();
+       $('#contacts_deletecard').tipsy();
+       $('#contacts_downloadcard').tipsy();
        $('.button').tipsy();
        //Contacts.UI.messageBox('Hello','Sailor');
 });
index 401f962254729f4b7694ab3e5412d92f33c96847..726927013c6c64a27a6c017eb46fc7eea7ff85d0 100644 (file)
@@ -111,16 +111,21 @@ class OC_Contacts_VCard{
                        if(is_null($uid)){
                                $card->setUID();
                                $uid = $card->getAsString('UID');
-                               $data = $card->serialize();
+                               //$data = $card->serialize();
                        };
                        $uri = $uid.'.vcf';
                        // VCARD must have a version
                        $version = $card->getAsString('VERSION');
                        // Add version if needed
-                       if(is_null($version)){
+                       if(!$version){
                                $card->add(new Sabre_VObject_Property('VERSION','3.0'));
-                               $data = $card->serialize();
-                       }
+                               //$data = $card->serialize();
+                       }/* else {
+                               OC_Log::write('contacts','OC_Contacts_VCard::add. Version already set as: '.$version,OC_Log::DEBUG);
+                       }*/
+                       $now = new DateTime;
+                       $card->setString('REV', $now->format(DateTime::W3C));
+                       $data = $card->serialize();
                }
                else{
                        // that's hard. Creating a UID and not saving it
@@ -182,7 +187,12 @@ class OC_Contacts_VCard{
                                        break;
                                }
                        }
+               } else {
+                       return false;
                }
+               $now = new DateTime;
+               $card->setString('REV', $now->format(DateTime::W3C));
+               $data = $card->serialize();
 
                $stmt = OC_DB::prepare( 'UPDATE *PREFIX*contacts_cards SET fullname = ?,carddata = ?, lastmodified = ? WHERE id = ?' );
                $result = $stmt->execute(array($fn,$data,time(),$id));
@@ -212,6 +222,9 @@ class OC_Contacts_VCard{
                                }
                        }
                }
+               $now = new DateTime;
+               $card->setString('REV', $now->format(DateTime::W3C));
+               $data = $card->serialize();
 
                $stmt = OC_DB::prepare( 'UPDATE *PREFIX*contacts_cards SET fullname = ?,carddata = ?, lastmodified = ? WHERE id = ?' );
                $result = $stmt->execute(array($fn,$data,time(),$oldcard['id']));
index 1482c0636857b98ade1b6630bf61ba8c4b11759a..fe0dac235b87de3dd295d6f9be118b2c0786a506 100644 (file)
@@ -1,5 +1,6 @@
 <?php if(array_key_exists('FN',$_['details'])): ?>
        <?php echo $this->inc('part.property.FN', array('property' => $_['details']['FN'][0])); ?>
+       <a href="export?contactid=<?php echo $_['id']; ?>"><img class="svg action" id="contacts_downloadcard" src="<?php echo image_path('', 'actions/download.svg'); ?>" title="<?php echo $l->t('Download contact');?>" /></a>
        <img class="svg action" id="contacts_deletecard" src="<?php echo image_path('', 'actions/delete.svg'); ?>" title="<?php echo $l->t('Delete contact');?>" />
 
        <?php if(isset($_['details']['PHOTO'])): // Emails first ?>