示例#1
0
 /**
  * Displays the calendar for a single day
  *
  * @param calendar_information $calendar
  * @return string
  */
 public function show_day(calendar_information $calendar, moodle_url $returnurl = null)
 {
     if ($returnurl === null) {
         $returnurl = $this->page->url;
     }
     $events = calendar_get_upcoming($calendar->courses, $calendar->groups, $calendar->users, 1, 100, $calendar->timestamp_today());
     $output = html_writer::start_tag('div', array('class' => 'header'));
     $output .= $this->course_filter_selector($returnurl, get_string('dayviewfor', 'calendar'));
     if (calendar_user_can_add_event($calendar->course)) {
         $output .= $this->add_event_button($calendar->course->id, 0, 0, 0, $calendar->time);
     }
     $output .= html_writer::end_tag('div');
     // Controls
     $output .= html_writer::tag('div', calendar_top_controls('day', array('id' => $calendar->courseid, 'time' => $calendar->time)), array('class' => 'controls'));
     if (empty($events)) {
         // There is nothing to display today.
         $output .= $this->output->heading(get_string('daywithnoevents', 'calendar'), 3);
     } else {
         $output .= html_writer::start_tag('div', array('class' => 'eventlist'));
         $underway = array();
         // First, print details about events that start today
         foreach ($events as $event) {
             $event = new calendar_event($event);
             $event->calendarcourseid = $calendar->courseid;
             if ($event->timestart >= $calendar->timestamp_today() && $event->timestart <= $calendar->timestamp_tomorrow() - 1) {
                 // Print it now
                 $event->time = calendar_format_event_time($event, time(), null, false, $calendar->timestamp_today());
                 $output .= $this->event($event);
             } else {
                 // Save this for later
                 $underway[] = $event;
             }
         }
         // Then, show a list of all events that just span this day
         if (!empty($underway)) {
             $output .= $this->output->heading(get_string('spanningevents', 'calendar'), 3);
             foreach ($underway as $event) {
                 $event->time = calendar_format_event_time($event, time(), null, false, $calendar->timestamp_today());
                 $output .= $this->event($event);
             }
         }
         $output .= html_writer::end_tag('div');
     }
     return $output;
 }
示例#2
0
 /**
  * Displays the calendar for a single day
  *
  * @param calendar_information $calendar
  * @return string
  */
 public function show_day(calendar_information $calendar)
 {
     $calendar->checkdate();
     $events = calendar_get_upcoming($calendar->courses, $calendar->groups, $calendar->users, 1, 100, $calendar->timestamp_today());
     $output = html_writer::start_tag('div', array('class' => 'header'));
     if (!isguestuser() && isloggedin() && calendar_user_can_add_event()) {
         $output .= $this->add_event_button($calendar->courseid, $calendar->day, $calendar->month, $calendar->year);
     }
     //$output .= html_writer::tag('label', get_string('dayview', 'calendar'), array('for'=>'cal_course_flt_jump'));
     $output .= $this->course_filter_selector(array('from' => 'day', 'cal_d' => $calendar->day, 'cal_m' => $calendar->month, 'cal_y' => $calendar->year), get_string('dayview', 'calendar'));
     $output .= html_writer::end_tag('div');
     // Controls
     $output .= html_writer::tag('div', calendar_top_controls('day', array('id' => $calendar->courseid, 'd' => $calendar->day, 'm' => $calendar->month, 'y' => $calendar->year)), array('class' => 'controls'));
     if (empty($events)) {
         // There is nothing to display today.
         $output .= $this->output->heading(get_string('daywithnoevents', 'calendar'), 3);
     } else {
         $output .= html_writer::start_tag('div', array('class' => 'eventlist'));
         $underway = array();
         // First, print details about events that start today
         foreach ($events as $event) {
             $event = new calendar_event($event);
             $event->calendarcourseid = $calendar->courseid;
             if ($event->timestart >= $calendar->timestamp_today() && $event->timestart <= $calendar->timestamp_tomorrow() - 1) {
                 // Print it now
                 $event->time = calendar_format_event_time($event, time(), null, false, $calendar->timestamp_today());
                 $output .= $this->event($event);
             } else {
                 // Save this for later
                 $underway[] = $event;
             }
         }
         // Then, show a list of all events that just span this day
         if (!empty($underway)) {
             $output .= $this->output->heading(get_string('spanningevents', 'calendar'), 3);
             foreach ($underway as $event) {
                 $event->time = calendar_format_event_time($event, time(), null, false, $calendar->timestamp_today());
                 $output .= $this->event($event);
             }
         }
         $output .= html_writer::end_tag('div');
     }
     return $output;
 }