From 3a2990821aa19a886345a64bbe2e32bd82de62e9 Mon Sep 17 00:00:00 2001 From: kristiaanvandeneynde Date: Mon, 17 Oct 2011 15:40:56 +0200 Subject: [PATCH] Issue #1305938 by kristiaanvandeneynde: Fixed time grouping for half hour groups on week and day views. --- theme/theme.inc | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/theme/theme.inc b/theme/theme.inc index 9e35800..e643378 100644 --- a/theme/theme.inc +++ b/theme/theme.inc @@ -322,11 +322,12 @@ function template_preprocess_calendar_day(&$vars) { foreach ($grouped_items[$start_time]['values'] as $column => &$items) { foreach ($items as $index => &$item) { if ($display_overlap) { - $offset = round(date_format($item->calendar_start_date, 'i') / 15); + $group_time = ($view->style_options['groupby_times'] == 'half') ? 30 : 60; + $offset = round(date_format($item->calendar_start_date, 'i') / ($group_time / 4)); $end = new DateObject('1970-01-01 ' . $item->time_end); $start = new DateObject('1970-01-01 ' . $item->time_start); $duration = $end->difference($start); - $duration = round($duration / (15 * 60)); + $duration = round($duration / (15 * $group_time)); $item->class = 'd_'. $duration . ' o_'. $offset . ' i_' . $item->indent . ' md_' . min($item->max_depth, 5); } $grouped_items[$start_time]['values'][$column][$index] = theme('calendar_item', array('view' => $view, 'rendered_fields' => $item->rendered_fields, 'item' => $item)); @@ -518,9 +519,10 @@ function template_preprocess_calendar_week(&$vars) { foreach ($grouped_items[$start_time]['values'] as $wday => &$items) { foreach ($items as &$item) { if ($display_overlap) { - $offset = round(date_format($item['item']->date_start, 'i') / 15); + $group_time = ($view->style_options['groupby_times'] == 'half') ? 30 : 60; + $offset = round(date_format($item['item']->date_start, 'i') / ($group_time / 4)); $duration = $item['item']->date_end->format('U') - $item['item']->date_start->format('U'); - $duration = round($duration / (15 * 60)); + $duration = round($duration / (15 * $group_time)); $item['class'] = 'd_'. $duration . ' o_'. $offset . ' i_' . $item['indent'] . ' md_' . min($item['max_depth'], 5); } } -- 1.7.6.msysgit.0