dirroot.'/course/lib.php'); require_once($CFG->dirroot.'/calendar/lib.php'); //require_once($CFG->libdir.'/bennu/bennu.inc.php'); $action = optional_param('action', '', PARAM_ALPHA); $day = optional_param('cal_d', 0, PARAM_INT); $mon = optional_param('cal_m', 0, PARAM_INT); $yr = optional_param('cal_y', 0, PARAM_INT); if ($courseid = optional_param('course', 0, PARAM_INT)) { $course = $DB->get_record('course', array('id'=>$courseid)); } else { $course = NULL; } $url = new moodle_url('/calendar/export.php'); if ($action !== '') { $url->param('action', $action); } if ($day !== 0) { $url->param('cal_d', $day); } if ($mon !== 0) { $url->param('cal_m', $mon); } if ($yr !== 0) { $url->param('cal_y', $yr); } if ($course !== NULL) { $url->param('course', $course->id); } $PAGE->set_url($url); require_login(); if (empty($CFG->enablecalendarexport)) { die('no export'); } $site = get_site(); // Initialize the session variables calendar_session_vars(); $pagetitle = get_string('export', 'calendar'); $navlinks = array(); $now = usergetdate(time()); if (!empty($courseid) && $course->id != SITEID) { $PAGE->navbar->add($course->shortname, new moodle_url('/course/view.php', array('id'=>$course->id))); } $calendar = new calendar_information($day, $mon, $yr); $calendar->courseid = $courseid; if(!checkdate($mon, $day, $yr)) { $day = intval($now['mday']); $mon = intval($now['mon']); $yr = intval($now['year']); } $time = make_timestamp($yr, $mon, $day); if (!isloggedin() or isguestuser()) { $defaultcourses = calendar_get_default_courses(); calendar_set_filters($calendar->courses, $calendar->groups, $calendar->users, $defaultcourses, $defaultcourses); } else { calendar_set_filters($calendar->courses, $calendar->groups, $calendar->users); } $strcalendar = get_string('calendar', 'calendar'); $prefsbutton = calendar_preferences_button(); // Print title and header $link = calendar_get_link_href(CALENDAR_URL.'view.php?view=upcoming&course='.$calendar->courseid.'&', $now['mday'], $now['mon'], $now['year']); $PAGE->navbar->add(get_string('calendar', 'calendar'), new moodle_url($link)); $PAGE->navbar->add($pagetitle); $PAGE->set_title($site->shortname.': '.$strcalendar.': '.$pagetitle); $PAGE->set_heading($COURSE->fullname); $PAGE->set_button($prefsbutton); $PAGE->set_pagelayout('standard'); $renderer = $PAGE->get_renderer('core_calendar'); $calendar->add_sidecalendar_blocks($renderer); echo $OUTPUT->header(); echo $renderer->start_layout(); switch($action) { case 'advanced': break; case '': default: $username = $USER->username; $authtoken = sha1($USER->username . $USER->password . $CFG->calendar_exportsalt); // Let's populate some vars to let "common tasks" be somewhat smart... // If today it's weekend, give the "next week" option $allownextweek = CALENDAR_WEEKEND & (1 << $now['wday']); // If it's the last week of the month, give the "next month" option $allownextmonth = calendar_days_in_month($now['mon'], $now['year']) - $now['mday'] < 7; // If today it's weekend but tomorrow it isn't, do NOT give the "this week" option $allowthisweek = !((CALENDAR_WEEKEND & (1 << $now['wday'])) && !(CALENDAR_WEEKEND & (1 << (($now['wday'] + 1) % 7)))); echo $renderer->basic_export_form($allowthisweek, $allownextweek, $allownextmonth, $username, $authtoken); } echo $renderer->complete_layout(); echo $OUTPUT->footer();