From eb2a15d58f69bc54f818a99bb381c358c7cf4b55 Mon Sep 17 00:00:00 2001 From: Thomas Tanghus Date: Mon, 16 Jul 2012 23:36:11 +0200 Subject: [PATCH] Format birthday as BDAY;VALUE=DATE:YYYY-MM-DD. Fixes oc-1276. --- apps/contacts/ajax/saveproperty.php | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/contacts/ajax/saveproperty.php b/apps/contacts/ajax/saveproperty.php index 96e082d00e..a27b5489ce 100644 --- a/apps/contacts/ajax/saveproperty.php +++ b/apps/contacts/ajax/saveproperty.php @@ -89,7 +89,7 @@ switch($element) { case 'BDAY': $date = New DateTime($value); //$vcard->setDateTime('BDAY', $date, Sabre_VObject_Element_DateTime::DATE); - $value = $date->format(DateTime::ATOM); + $value = $date->format('Y-m-d'); break; case 'FN': if(!$value) { @@ -112,6 +112,13 @@ if(!$value) { /* setting value */ switch($element) { case 'BDAY': + // I don't use setDateTime() because that formats it as YYYYMMDD instead of YYYY-MM-DD + // which is what the RFC recommends. + $vcard->children[$line]->setValue($value); + $vcard->children[$line]->parameters = array(); + $vcard->children[$line]->add(new Sabre_VObject_Parameter('VALUE', 'DATE')); + debug('Setting value:'.$name.' '.$vcard->children[$line]); + break; case 'FN': case 'N': case 'ORG':