From 0b5db7ace2488cbd41e5768daf39a005212f6b0e Mon Sep 17 00:00:00 2001 From: Nathan Gray Date: Tue, 25 Oct 2011 18:49:14 +0000 Subject: [PATCH] Process birthday when importing --- .../inc/class.addressbook_egw_record.inc.php | 9 +++++---- .../class.addressbook_import_contacts_csv.inc.php | 13 ++++++++----- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/addressbook/inc/class.addressbook_egw_record.inc.php b/addressbook/inc/class.addressbook_egw_record.inc.php index 14e9b74f9b..70ff5c43ef 100644 --- a/addressbook/inc/class.addressbook_egw_record.inc.php +++ b/addressbook/inc/class.addressbook_egw_record.inc.php @@ -24,10 +24,11 @@ class addressbook_egw_record implements importexport_iface_egw_record // Used in conversions static $types = array( - 'select-account' => array('owner','creator','modifier'), - 'date-time' => array('modified','created','last_event','next_event'), - 'select-cat' => array('cat_id'), - ); + 'select-account' => array('owner','creator','modifier'), + 'date-time' => array('modified','created','last_event','next_event'), + 'date' => array('bday'), + 'select-cat' => array('cat_id'), + ); /** diff --git a/addressbook/inc/class.addressbook_import_contacts_csv.inc.php b/addressbook/inc/class.addressbook_import_contacts_csv.inc.php index 4bfa82fd49..6ff8527bf2 100644 --- a/addressbook/inc/class.addressbook_import_contacts_csv.inc.php +++ b/addressbook/inc/class.addressbook_import_contacts_csv.inc.php @@ -158,8 +158,7 @@ class addressbook_import_contacts_csv implements importexport_iface_import_plugi // don't import empty contacts if( count( array_unique( $record ) ) < 2 ) continue; - importexport_import_csv::convert($record, addressbook_egw_record::$types, 'addressbook', $_lookups); - + importexport_import_csv::convert($record, addressbook_egw_record::$types, 'addressbook', $_lookups, $_definition->plugin_options['convert']); // Set owner, unless it's supposed to come from CSV file if($_definition->plugin_options['owner_from_csv'] && $record['owner']) { if(!is_numeric($record['owner'])) { @@ -180,9 +179,6 @@ class addressbook_import_contacts_csv implements importexport_iface_import_plugi $record['owner'] = $contact_owner; } - // Automatically handle text categories without explicit translation - $record['cat_id'] = importexport_helper_functions::cat_name2id($record['cat_id']); - // Also handle categories in their own field $more_categories = array(); foreach($_definition->plugin_options['field_mapping'] as $number => $field_name) { @@ -205,6 +201,13 @@ class addressbook_import_contacts_csv implements importexport_iface_import_plugi // Private set but missing causes hidden entries if(array_key_exists('private', $record) && (!isset($record['private']) || $record['private'] == '')) unset($record['private']); + // Format birthday as backend requires - converter should give timestamp + if($record['bday'] && is_numeric($record['bday'])) + { + $time = new egw_time($record['bday']); + $record['bday'] = $time->format('Y-m-d'); + } + if ( $_definition->plugin_options['conditions'] ) { foreach ( $_definition->plugin_options['conditions'] as $condition ) { $contacts = array();