From 004f2c7c85a27d18309e49e7a29de13b53981d42 Mon Sep 17 00:00:00 2001 From: jwangen Date: Sun, 27 Oct 2002 06:16:28 +0000 Subject: Fixed a couple bugs in day and week where events that start before $day_start wouldn't show and where $day_start that aren't on the hour would break the views --- day.php | 47 ++++++++++++++++++++++++++++++++++++----------- 1 file changed, 36 insertions(+), 11 deletions(-) (limited to 'day.php') diff --git a/day.php b/day.php index f740962..61b9cfa 100644 --- a/day.php +++ b/day.php @@ -156,11 +156,32 @@ if (is_array($master_array[($getdate)])) { $cal_time = $key; $key = strtotime ($key); $key = date ($timeFormat, $key); - + unset($this_time_arr); + + // add events that overlap the start time + if (isset($master_array[$getdate][$cal_time]) && sizeof($master_array[$getdate][$cal_time]) > 0) { + $this_time_arr = $master_array[$getdate][$cal_time]; + } + + // add events that overlap $day_start instead of cutting them out completely + if ("$day_start" == "$cal_time" && is_array($master_array[$getdate])) { + foreach($master_array[$getdate] as $time_key => $time_arr) { + if ((int)$time_key < (int)$cal_time && is_array($time_arr)) { + foreach($time_arr as $event_tmp) { + if ((int)$event_tmp['event_end'] > (int)$cal_time) { + $this_time_arr[] = $event_tmp; + } + } + } else { + break; + } + } + } + // check for eventstart - if (isset($master_array[($getdate)][$cal_time]) && sizeof($master_array[($getdate)][$cal_time]) > 0) { - foreach ($master_array[($getdate)][$cal_time] as $eventKey => $loopevent) { - $drawEvent = drawEventTimes ($loopevent['event_start'], $loopevent['event_end']); + if (isset($this_time_arr) && sizeof($this_time_arr) > 0) { + foreach ($this_time_arr as $eventKey => $loopevent) { + $drawEvent = drawEventTimes ($cal_time, $loopevent['event_end']); $j = 0; while ($event_length[$j]) { if ($event_length[$j]['state'] == 'ended') { @@ -178,8 +199,12 @@ if (is_array($master_array[($getdate)])) { echo ''."\n"; echo ''.$key.''."\n"; echo ''."\n"; + } elseif("$cal_time" == "$day_start") { + $size_tmp = 60 - (int)substr($cal_time,2,2); + echo "\n"; + echo "$key\n"; + echo "\n"; } else { - echo ''."\n"; echo ''."\n"; } @@ -196,7 +221,7 @@ if (is_array($master_array[($getdate)])) { } else { $emptyWidth = $nbrGridCols; for ($i=0;$i'; + //echo $this_time_arr[($event_length[$i]['key'])]['event_text'] . ' ind: ' . $i . ' / anz: ' . $event_length[$i]['overlap'] . ' = ' . eventWidth($i,$event_length[$i]['overlap']) . '
'; $drawWidth = $nbrGridCols / ($event_length[$i]['overlap'] + 1); //print $nbrGridCols.' -- '; //print $drawWidth; @@ -204,11 +229,11 @@ if (is_array($master_array[($getdate)])) { switch ($event_length[$i]['state']) { case 'begin': $event_length[$i]['state'] = 'started'; - $event_text = stripslashes(urldecode($master_array[($getdate)][$cal_time][($event_length[$i]['key'])]['event_text'])); - $event_text2 = rawurlencode(addslashes($master_array[($getdate)][$cal_time][($event_length[$i]['key'])]['event_text'])); - $event_start = strtotime ($master_array[($getdate)][$cal_time][($event_length[$i]['key'])]['event_start']); - $event_end = strtotime ($master_array[($getdate)][$cal_time][($event_length[$i]['key'])]['event_end']); - $description = addslashes(urlencode($master_array[($getdate)][$cal_time][($event_length[$i]['key'])]['description'])); + $event_text = stripslashes(urldecode($this_time_arr[($event_length[$i]['key'])]['event_text'])); + $event_text2 = rawurlencode(addslashes($this_time_arr[($event_length[$i]['key'])]['event_text'])); + $event_start = strtotime ($this_time_arr[($event_length[$i]['key'])]['event_start']); + $event_end = strtotime ($this_time_arr[($event_length[$i]['key'])]['event_end']); + $description = addslashes(urlencode($this_time_arr[($event_length[$i]['key'])]['description'])); $event_start = date ($timeFormat, $event_start); $event_end = date ($timeFormat, $event_end); $calendar_name2 = rawurlencode(addslashes($calendar_name)); -- cgit v1.2.3