. /** * Redirects the user to a default grades export plugin page. * * @package core_grades * @copyright 2021 Mihail Geshoski * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once(__DIR__ . '/../../config.php'); // Course ID. $courseid = required_param('id', PARAM_INT); $PAGE->set_url(new moodle_url('/grade/export/index.php', ['id' => $courseid])); // Basic access checks. if (!$course = $DB->get_record('course', ['id' => $courseid])) { throw new moodle_exception('invalidcourseid', 'error'); } require_login($course); $context = context_course::instance($courseid); require_capability('moodle/grade:export', $context); $exportplugins = core_component::get_plugin_list('gradeexport'); if (!empty($exportplugins)) { $exportplugin = array_key_first($exportplugins); $url = new moodle_url("/grade/export/{$exportplugin}/index.php", ['id' => $courseid]); redirect($url); } // Otherwise, output the page with a notification stating that there are no available grade import options. $PAGE->set_title(get_string('export', 'grades')); $PAGE->set_pagelayout('incourse'); $PAGE->set_heading($course->fullname); $PAGE->set_pagetype('course-view-' . $course->format); echo $OUTPUT->header(); echo $OUTPUT->heading(get_string('export', 'grades')); echo html_writer::div($OUTPUT->notification(get_string('nogradeexport', 'debug'), 'error'), 'mt-3'); echo $OUTPUT->footer();