Commit | Line | Data |
---|---|---|
5076b961 MG |
1 | <?php |
2 | // This file is part of Moodle - http://moodle.org/ | |
3 | // | |
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. | |
8 | // | |
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. | |
13 | // | |
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/>. | |
16 | ||
17 | /** | |
18 | * A form for cohort upload. | |
19 | * | |
20 | * @package core_cohort | |
21 | * @copyright 2014 Marina Glancy | |
22 | * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | |
23 | */ | |
24 | ||
25 | require_once('../config.php'); | |
26 | require_once($CFG->dirroot.'/cohort/lib.php'); | |
27 | require_once($CFG->dirroot.'/cohort/upload_form.php'); | |
28 | require_once($CFG->libdir . '/csvlib.class.php'); | |
29 | ||
30 | $contextid = optional_param('contextid', 0, PARAM_INT); | |
5076b961 MG |
31 | |
32 | require_login(); | |
33 | ||
34 | if ($contextid) { | |
35 | $context = context::instance_by_id($contextid, MUST_EXIST); | |
36 | } else { | |
37 | $context = context_system::instance(); | |
38 | } | |
39 | if ($context->contextlevel != CONTEXT_COURSECAT && $context->contextlevel != CONTEXT_SYSTEM) { | |
40 | print_error('invalidcontext'); | |
41 | } | |
42 | ||
43 | require_capability('moodle/cohort:manage', $context); | |
44 | ||
45 | $PAGE->set_context($context); | |
46 | $baseurl = new moodle_url('/cohort/upload.php', array('contextid' => $context->id)); | |
47 | $PAGE->set_url($baseurl); | |
48 | $PAGE->set_heading($COURSE->fullname); | |
49 | $PAGE->set_pagelayout('admin'); | |
50 | ||
51 | if ($context->contextlevel == CONTEXT_COURSECAT) { | |
52 | $PAGE->set_category_by_id($context->instanceid); | |
53 | navigation_node::override_active_url(new moodle_url('/cohort/index.php', array('contextid' => $context->id))); | |
54 | } else { | |
55 | navigation_node::override_active_url(new moodle_url('/cohort/index.php', array())); | |
56 | } | |
57 | ||
c509d108 | 58 | $uploadform = new cohort_upload_form(null, array('contextid' => $context->id)); |
5076b961 | 59 | |
c509d108 | 60 | $returnurl = new moodle_url('/cohort/index.php', array('contextid' => $context->id)); |
5076b961 MG |
61 | |
62 | if ($uploadform->is_cancelled()) { | |
63 | redirect($returnurl); | |
64 | } | |
65 | ||
66 | $strheading = get_string('uploadcohorts', 'cohort'); | |
67 | $PAGE->navbar->add($strheading); | |
68 | ||
69 | echo $OUTPUT->header(); | |
70 | echo $OUTPUT->heading_with_help($strheading, 'uploadcohorts', 'cohort'); | |
71 | ||
72 | if ($editcontrols = cohort_edit_controls($context, $baseurl)) { | |
73 | echo $OUTPUT->render($editcontrols); | |
74 | } | |
75 | ||
76 | if ($data = $uploadform->get_data()) { | |
77 | $cohortsdata = $uploadform->get_cohorts_data(); | |
78 | foreach ($cohortsdata as $cohort) { | |
79 | cohort_add_cohort($cohort); | |
80 | } | |
81 | echo $OUTPUT->notification(get_string('uploadedcohorts', 'cohort', count($cohortsdata)), 'notifysuccess'); | |
82 | echo $OUTPUT->continue_button($returnurl); | |
83 | } else { | |
84 | $uploadform->display(); | |
85 | } | |
86 | ||
87 | echo $OUTPUT->footer(); | |
88 |