// We want to have easy access by day, since the display is on a per-day basis.
// Arguments passed by reference.
//calendar_events_by_day($events, $display->tstart, $eventsbyday, $durationbyday, $typesbyday);
- calendar_events_by_day($events, $m, $y, $eventsbyday, $durationbyday, $typesbyday);
+ calendar_events_by_day($events, $m, $y, $eventsbyday, $durationbyday, $typesbyday, $courses);
//Accessibility: added summary and <abbr> elements.
///global $CALENDARDAYS; appears to be broken.
}
}
-function calendar_events_by_day($events, $month, $year, &$eventsbyday, &$durationbyday, &$typesbyday) {
+function calendar_events_by_day($events, $month, $year, &$eventsbyday, &$durationbyday, &$typesbyday, &$courses) {
$eventsbyday = array();
$typesbyday = array();
$durationbyday = array();
return;
}
- // Define array of course id's
- $courseids = array();
-
foreach($events as $event) {
$startdate = usergetdate($event->timestart);
else if($event->courseid != 0 && $event->courseid != SITEID && $event->groupid == 0) {
$typesbyday[$eventdaystart]['startcourse'] = true;
// Set event class for course event
- if (!in_array($event->courseid, $courseids)) {
- $courseids[] = $event->courseid;
- }
- $events[$event->id]->class = 'event_course'.array_search($event->courseid, $courseids) % 3;
+ $events[$event->id]->class = 'event_course'.array_search($event->courseid, $courses) % 3;
}
else if($event->groupid) {
$typesbyday[$eventdaystart]['startgroup'] = true;
foreach ($courses as $index => $value) {
if (empty($value)) unset($courses[$index]);
}
+
+ // Sort courses for consistent colour highlighting
+ // Effectively ignoring SITEID as setting as last course id
+ $key = array_search(SITEID, $courses);
+ if ($key !== false) {
+ unset($courses[$key]);
+ sort($courses);
+ $courses[] = SITEID;
+ } else {
+ sort($courses);
+ }
}
if($SESSION->cal_show_user || $ignorefilters) {
calendar_set_filters($courses, $groups, $users);
}
- // Sort courses for consistent colour highlighting
- // Effectively ignoring SITEID as setting as last course id
- // Consider inside calendar_set_filters() and SITEID always last
- $key = array_search(SITEID, $courses);
- if ($key !== false) {
- unset($courses[$key]);
- sort($courses);
- $courses[] = SITEID;
- } else {
- sort($courses);
- }
-
// Let's see if we are supposed to provide a referring course link
// but NOT for the "main page" course
if ($SESSION->cal_course_referer != SITEID &&
// First, print details about events that start today
foreach ($events as $event) {
+
+ // Set event course class if a course event
+ if($event->courseid != 0 && $event->courseid != SITEID && $event->groupid == 0) {
+ $event->class = 'event_course'.array_search($event->courseid, $courses) % 3;
+ }
+
if ($event->timestart >= $starttime && $event->timestart <= $endtime) { // Print it now
*/
//unset($event->time);
- // Set event course class if a course event
- if($event->courseid != 0 && $event->courseid != SITEID && $event->groupid == 0) {
- $event->class = 'event_course'.array_search($event->courseid, $courses) % 3;
- }
-
$event->time = calendar_format_event_time($event, time(), '', false, $starttime);
calendar_print_event($event);
}
// Extract information: events vs. time
- calendar_events_by_day($events, $m, $y, $eventsbyday, $durationbyday, $typesbyday);
+ calendar_events_by_day($events, $m, $y, $eventsbyday, $durationbyday, $typesbyday, $courses);
$text = '';
if(!isguest() && !empty($USER->id)) {
if ($events) {
- // Sort courses for consistent colour highlighting (ignoring SITEID)
- $courseids = $courses;
- $key = array_search(SITEID, $courseids);
- if ($key !== false) {
- unset($courseids[$key]);
- }
- sort($courseids);
-
echo '<div class="eventlist">';
foreach ($events as $event) {
// Set event course class if a course event
if($event->courseid != 0 && $event->courseid != SITEID && $event->groupid == 0) {
- $event->class = 'event_course'.array_search($event->courseid, $courseids) % 3;
+ $event->class = 'event_course'.array_search($event->courseid, $courses) % 3;
}
calendar_print_event($event);