--- sf_node.module 2009-10-21 16:38:15.000000000 -0500 +++ sf_node.patched.module 2009-10-21 16:38:15.000000000 -0500 @@ -138,6 +138,10 @@ function sf_node_fieldmap_objects($type) // case 'text': // For example, I might set a handler for text fields that takes // the selected input format into account. + case 'datetime': + $export_handler = '_sf_node_export_cck_datetime'; + $import_handler = '_sf_node_import_cck_datetime'; + break; default: $export_handler = '_sf_node_export_cck_default'; $import_handler = '_sf_node_import_cck_default'; @@ -210,6 +214,26 @@ function _sf_node_import_cck_todate(&$no $node->$key = $data; } +// cck-date export +function _sf_node_export_cck_datetime($source, $field) { + date_default_timezone_set('UTC'); + $date_format = 'Y-m-d\TH:i:s'; // Acceptable by Salesforce not fully ISO 8601 + // Get the data array for the field. + $data = $source->$field; + $return = date($date_format, $unix_timestamp); + return $return; +} + +// Returns the datetime import +function _sf_node_import_cck_datetime(&$node, $key, $source, $field) { + date_default_timezone_set('UTC'); + $date_format = 'Y-m-d H:i:s'; // Acceptable by Drupal + $data = $node->$key; + $formated_date = date($date_format, $unix_timestamp); + $data[0]['value'] = $formated_date; + $node->$key = $data; +} + // Displays the Salesforce synchronization form. function sf_node_salesforce_form(&$form_state, $nid) { $node = node_load($nid);