Index: date_api.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/date/date_api.module,v retrieving revision 1.64.2.5.2.60 diff -u -p -r1.64.2.5.2.60 date_api.module --- date_api.module 25 Jan 2009 13:03:12 -0000 1.64.2.5.2.60 +++ date_api.module 6 Feb 2009 08:56:33 -0000 @@ -29,6 +29,7 @@ define('DATE_FORMAT_ISO', "Y-m-d\TH:i:s" define('DATE_FORMAT_UNIX', "U"); define('DATE_FORMAT_DATETIME', "Y-m-d H:i:s"); define('DATE_FORMAT_ICAL', "Ymd\THis"); +define('DATE_FORMAT_ICAL_DATE', "Ymd"); define('DATE_FORMAT_DATE', 'Y-m-d'); define('DATE_REGEX_ISO', '/(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):?(\d{2})?/'); Index: theme/theme.inc =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/date/theme/Attic/theme.inc,v retrieving revision 1.1.4.29 diff -u -p -r1.1.4.29 theme.inc --- theme/theme.inc 3 Dec 2008 15:44:27 -0000 1.1.4.29 +++ theme/theme.inc 6 Feb 2009 08:56:34 -0000 @@ -144,7 +144,9 @@ function template_preprocess_date_vcalen // Format the event results as iCal expects. $events_in = $vars['events']; $events = array(); + $rows = $vars['rows'] foreach ($events_in as $uid => $event) { + $row = array_shift($rows); // Omit any items with empty dates. if (!empty($event['start'])) { $events[$uid] = $event; @@ -155,9 +157,10 @@ function template_preprocess_date_vcalen else { $events[$uid]['timezone'] = ''; } - $events[$uid]['start'] = date_format($event['start'], DATE_FORMAT_ICAL); + $date_format = ($row->calendar_all_day == TRUE) ? DATE_FORMAT_ICAL_DATE : DATE_FORMAT_ICAL; + $events[$uid]['start'] = date_format($event['start'], $date_format); if ($event['start'] && $event['end']) { - $events[$uid]['end'] = date_format($event['end'], DATE_FORMAT_ICAL); + $events[$uid]['end'] = date_format($event['end'], $date_format); } else { $events[$uid]['end'] = $events[$uid]['start'];