2 // This file is part of Moodle - http://moodle.org/
4 // Moodle is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
9 // Moodle is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
14 // You should have received a copy of the GNU General Public License
15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>.
18 * Redirects the user to a default grades export plugin page.
20 * @package core_grades
21 * @copyright 2021 Mihail Geshoski <mihail@moodle.com>
22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
25 require_once(__DIR__
. '/../../config.php');
28 $courseid = required_param('id', PARAM_INT
);
30 $PAGE->set_url(new moodle_url('/grade/export/index.php', ['id' => $courseid]));
32 // Basic access checks.
33 if (!$course = $DB->get_record('course', ['id' => $courseid])) {
34 throw new moodle_exception('invalidcourseid', 'error');
36 require_login($course);
37 $context = context_course
::instance($courseid);
38 require_capability('moodle/grade:export', $context);
40 $exportplugins = core_component
::get_plugin_list('gradeexport');
41 if (!empty($exportplugins)) {
42 $exportplugin = array_key_first($exportplugins);
43 $url = new moodle_url("/grade/export/{$exportplugin}/index.php", ['id' => $courseid]);
47 // Otherwise, output the page with a notification stating that there are no available grade import options.
48 $PAGE->set_title(get_string('export', 'grades'));
49 $PAGE->set_pagelayout('incourse');
50 $PAGE->set_heading($course->fullname
);
51 $PAGE->set_pagetype('course-view-' . $course->format
);
53 echo $OUTPUT->header();
54 echo $OUTPUT->heading(get_string('export', 'grades'));
55 echo html_writer
::div($OUTPUT->notification(get_string('nogradeexport', 'debug'), 'error'), 'mt-3');
56 echo $OUTPUT->footer();