/** * Add a link to the session to the courses calendar. * * @param class $session Record from the facetoface_sessions table * @param class $eventname Name to display for this event * @param string $calendartype Which calendar to add the event to (user, course, site) * @param int $userid Optional param for user calendars * @param string $eventtype Optional param for user calendar (booking/session) */ function facetoface_add_session_to_calendar($session, $facetoface, $calendartype = 'none', $userid = 0, $eventtype = 'session') { global $CFG, $DB; if (empty($session->datetimeknown)) { return true; //date unkown, can't add to calendar } if (empty($facetoface->showoncalendar) && empty($facetoface->usercalentry)) { return true; //facetoface calendar settings prevent calendar } $description = ''; if (!empty($facetoface->description)) { $description .= html_writer::tag('p', clean_param($facetoface->description, PARAM_CLEANHTML)); } $description .= facetoface_print_session($session, false, true, true); $linkurl = new moodle_url('/mod/facetoface/signup.php', array('s' => $session->id)); $linktext = get_string('signupforthissession', 'facetoface'); if ($calendartype == 'site' && $facetoface->showoncalendar == F2F_CAL_SITE) { $courseid = SITEID; $description .= html_writer::link($linkurl, $linktext); } else if ($calendartype == 'course' && $facetoface->showoncalendar == F2F_CAL_COURSE) { $courseid = $facetoface->course; $description .= html_writer::link($linkurl, $linktext); } else if ($calendartype == 'user' && $facetoface->usercalentry) { $courseid = 0; $urlvar = ($eventtype == 'session') ? 'attendees' : 'signup'; $linkurl = $CFG->wwwroot . "/mod/facetoface/" . $urlvar . ".php?s=$session->id"; $description .= get_string("calendareventdescription{$eventtype}", 'facetoface', $linkurl); } else { return true; } $shortname = $facetoface->shortname; if (empty($shortname)) { $shortname = textlib::substr($facetoface->name, 0, CALENDAR_MAX_NAME_LENGTH); } $result = true; foreach ($session->sessiondates as $date) { $newevent = new stdClass(); $newevent->name = $shortname; $newevent->description = $description; $newevent->format = FORMAT_HTML; $newevent->courseid = $courseid; $newevent->groupid = 0; $newevent->userid = $userid; $newevent->uuid = "{$session->id}"; $newevent->instance = $session->facetoface; $newevent->modulename = 'facetoface'; $newevent->eventtype = "facetoface{$eventtype}"; $newevent->timestart = $date->timestart; $newevent->timeduration = $date->timefinish - $date->timestart; $newevent->visible = 1; $newevent->timemodified = time(); if ($calendartype == 'user' && $eventtype == 'booking') { //Check for and Delete the 'created' calendar event to reduce multiple entries for the same event $DB->delete_records('event', array('userid' => $userid, 'instance' => $session->facetoface, 'eventtype' => 'facetofacesession')); } $result = $result && $DB->insert_record('event', $newevent); } return $result; }
print_error('error:canttakeattendanceforunstartedsession', 'facetoface', $link); } if (!$onlycontent && !$download) { echo $OUTPUT->box_start(); //coded by rajesh $iconimage=html_writer::empty_tag('img', array('src'=>$CFG->wwwroot.'/mod/facetoface/pix/new.png','size'=>'15px')); echo '<div class="rooms">'; echo '<span class="roomsiconimage">'.$iconimage.'</span>'; echo '<div class="roomsheading">'. $OUTPUT->heading(format_string($facetoface->name)).'</div>'; echo '</div>'; // echo $OUTPUT->heading(format_string($facetoface->name)); if ($can_view_session) { echo facetoface_print_session($session, true); } include('attendee_tabs.php'); // If needed include tabs echo $OUTPUT->container_start('f2f-attendees-table'); } /** * Print attendees (if user able to view) */ if ($show_table) { // Get list of attendees switch ($action) {
if ($user->id != $USER->id) { $fullname = html_writer::link(new moodle_url('/user/view.php', array('id' => $user->id, 'course' => $course->id)), fullname($user)); $heading = get_string('bookinghistoryfor', 'block_facetoface', $fullname); echo $OUTPUT->heading($heading); } else { echo html_writer::empty_tag('br'); } echo $OUTPUT->heading(get_string('sessiondetails', 'block_facetoface')); // print the session information $cm = get_coursemodule_from_instance('facetoface', $facetoface->id, $course->id); $contextmodule = context_module::instance($cm->id); $viewattendees = has_capability('mod/facetoface:viewattendees', $contextmodule); echo facetoface_print_session($session, $viewattendees, false, false, true); // print the booking history if ($bookings and count($bookings) > 0) { $table = new html_table(); $table->summary = get_string('sessionsdetailstablesummary', 'facetoface'); $table->attributes['class'] = 'generaltable bookinghistory'; foreach ($bookings as $booking) { $row = array( get_string('status_'.facetoface_get_status($booking->statuscode), 'facetoface'), userdate($booking->timecreated, get_string('strftimedatetime')) );
$pagetitle = format_string($facetoface->name); $PAGE->set_cm($cm); $PAGE->set_url('/mod/facetoface/cancelsignup.php', array('s' => $s, 'backtoallsessions' => $backtoallsessions, 'confirm' => $confirm)); $PAGE->set_title($pagetitle); $PAGE->set_heading($course->fullname); echo $OUTPUT->header(); $heading = get_string('cancelbookingfor', 'facetoface', $facetoface->name); $viewattendees = has_capability('mod/facetoface:viewattendees', $context); $multisessionid = ($facetoface->multiplesessions ? $session->id : null); $signedup = facetoface_check_signup($facetoface->id, $multisessionid); echo $OUTPUT->box_start(); echo $OUTPUT->heading($heading); if ($signedup) { facetoface_print_session($session, $viewattendees); $mform->display(); } else { print_error('notsignedup', 'facetoface', $returnurl); } echo $OUTPUT->box_end(); echo $OUTPUT->footer($course);