Opened 5 years ago

Closed 4 years ago

#1485453 closed Feature Patches (fixed)

incorrect import or display of Outlook produced .vcf

Reported by: tensor Owned by: thomasb
Priority: 5 Milestone: 0.3-stable
Component: Addressbook Version: 0.2-beta
Severity: minor Keywords:
Cc:

Description

See the screenshot. There are some remnants of serialize() call.

Attachments (3)

pupkin-serialize-remnants.PNG (4.9 KB) - added by tensor 5 years ago.
Vasya Pupkin.vcf (2.6 KB) - added by tensor 5 years ago.
sample .vcf
outlook_vcf.patch (3.1 KB) - added by tensor 5 years ago.
patch to solve vcg loading, (some Rename refactorings made)

Download all attachments as: .zip

Change History (9)

Changed 5 years ago by tensor

Changed 5 years ago by tensor

sample .vcf

comment:1 Changed 5 years ago by tensor

Steps to generate such a file in Outlook 2007:

  1. Right click in contact.
  2. Choose "Send Full Contact"->"In Internet Format (vCard)"
  3. New message will be open with attached .vcf
  4. Right on .vcf and choose "Save As..."

comment:2 Changed 5 years ago by tensor

  • Component changed from Client Scripts to Core functionality

Changed 5 years ago by tensor

patch to solve vcg loading, (some Rename refactorings made)

comment:3 Changed 5 years ago by tensor

The real fix is this:

=== program/include/rcube_vcard.php
==================================================================
--- program/include/rcube_vcard.php	(revision 2003)
+++ program/include/rcube_vcard.php	(local)
@@ -65,9 +65,9 @@
 
     // find well-known address fields
     $this->displayname = $this->raw['FN'][0];
-    $this->surname = $this->raw['N'][0][0];
-    $this->firstname = $this->raw['N'][0][1];
-    $this->middlename = $this->raw['N'][0][2];
+    $this->surname = $this->raw['N'][0][0][0];
+    $this->firstname = $this->raw['N'][0][0][1];
+    $this->middlename = $this->raw['N'][0][0][2];
     $this->nickname = $this->raw['NICKNAME'][0];
     $this->organization = $this->raw['ORG'][0];
     $this->business = ($this->raw['X-ABShowAs'][0] == 'COMPANY') || (join('', (array)$this->raw['N'][0]) == '' && !empty($this->organization));

The patch contains some Rename refactorings to better understand the relevant parts of code.

comment:4 Changed 5 years ago by alec

  • Component changed from Core functionality to Addressbook
  • Owner set to thomasb

comment:5 Changed 4 years ago by Lazlo

  • Type changed from Bugs to Patches

comment:6 Changed 4 years ago by alec

  • Resolution set to fixed
  • Status changed from new to closed

Fixed in [93af155f].

Note: See TracTickets for help on using tickets.