t('Simple date'), 'from' => t('From date'), 'to' => t('To date'), // 'ical' => 'iCal array of dates', // maybe? ); case 'map': include_once(drupal_get_path('module', 'date_api') .'/date_api_ical.inc'); $feed_element = unserialize($feed_element); $date = date_ical_date($feed_element); $timezone = $feed_element['tz']; $db_tz = date_get_timezone_db($field['tz_handling'], $timezone); $to_tz = date_get_timezone($field['tz_handling'], $timezone); date_timezone_set($date, timezone_open($db_tz)); switch ($field['type']) { case DATE_ISO: $format = DATE_FORMAT_ISO; break; case DATE_UNIX: $format = DATE_FORMAT_UNIX; break; case DATE_DATETIME: $format = DATE_FORMAT_DATETIME; break; } if ($formatted = date_format($date, $format)) { if ($sub_field == 'to') { $value_field = 'value2'; $offset_field = 'offset2'; } else { $value_field = 'value'; $offset_field = 'offset'; } // Create node field information. $items = isset($node->$field_name) ? $node->$field_name : array(); $items[0][$value_field] = $formatted; if ($field['tz_handling'] == 'date') { $items[0]['timezone'] = $to_tz; date_timezone_set($date, timezone_open($to_tz)); $items[0][$offset_field] = date_offset_get($date); } $node->$field_name = $items; } return $node; } }