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 --- week.php | 41 ++++++++++++++++++++++++++++++++--------- 1 file changed, 32 insertions(+), 9 deletions(-) (limited to 'week.php') diff --git a/week.php b/week.php index 372210c..93baa6a 100644 --- a/week.php +++ b/week.php @@ -199,6 +199,11 @@ for ($i=0;$i<7;$i++) { 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"; @@ -213,12 +218,30 @@ for ($i=0;$i<7;$i++) { for ($week_loop=0; $week_loop<7; $week_loop++) { $thisday = date("Ymd", $thisdate); $dayborder = 0; + unset($this_time_arr); + if (isset($master_array[$thisday][$cal_time]) && sizeof($master_array[$thisday][$cal_time]) > 0) { + $this_time_arr = $master_array[$thisday][$cal_time]; + } + + if ("$day_start" == "$cal_time" && is_array($master_array[$thisday])) { + foreach($master_array[$thisday] 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[($thisday)]["$cal_time"]) && sizeof($master_array[($thisday)]["$cal_time"]) > 0) { - foreach ($master_array[($thisday)]["$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 (isset($event_length[$thisday][$j])) { if ($event_length[$thisday][$j]["state"] == "ended") { @@ -248,19 +271,19 @@ for ($i=0;$i<7;$i++) { $emptyWidth = $nbrGridCols[$thisday]; for ($i=0;$i"; + //echo $this_time_arr[($event_length[$thisday][$i]["key"])]["event_text"] . " ind: " . $i . " / anz: " . $event_length[$thisday][$i]["overlap"] . " = " . eventWidth($i,$event_length[$thisday][$i]["overlap"]) . "
"; $drawWidth = $nbrGridCols[$thisday] / ($event_length[$thisday][$i]["overlap"] + 1); $emptyWidth = $emptyWidth - $drawWidth; switch ($event_length[$thisday][$i]["state"]) { case "begin": $event_length[$thisday][$i]["state"] = "started"; - $event_text = stripslashes(urldecode($master_array[($thisday)]["$cal_time"][($event_length[$thisday][$i]["key"])]["event_text"])); + $event_text = stripslashes(urldecode($this_time_arr[($event_length[$thisday][$i]["key"])]["event_text"])); $event_text = word_wrap($event_text, 25, $week_events_lines); - $event_text2 = urlencode(addslashes($master_array[($thisday)]["$cal_time"][($event_length[$thisday][$i]["key"])]["event_text"])); - $event_start = strtotime ($master_array[($thisday)]["$cal_time"][($event_length[$thisday][$i]["key"])]["event_start"]); - $event_end = strtotime ($master_array[($thisday)]["$cal_time"][($event_length[$thisday][$i]["key"])]["event_end"]); - $description = urlencode(addslashes($master_array[($thisday)]["$cal_time"][($event_length[$thisday][$i]["key"])]["description"])); + $event_text2 = urlencode(addslashes($this_time_arr[($event_length[$thisday][$i]["key"])]["event_text"])); + $event_start = strtotime ($this_time_arr[($event_length[$thisday][$i]["key"])]["event_start"]); + $event_end = strtotime ($this_time_arr[($event_length[$thisday][$i]["key"])]["event_end"]); + $description = urlencode(addslashes($this_time_arr[($event_length[$thisday][$i]["key"])]["description"])); $event_start = date ($timeFormat, $event_start); $event_end = date ($timeFormat, $event_end); $calendar_name2 = urlencode(addslashes($calendar_name)); -- cgit v1.2.3