MDL-63683 enrol: Fix plugin settings when no role has student archetype
[moodle.git] / enrol / cohort / settings.php
CommitLineData
df997f84 1<?php
df997f84
PS
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 * Cohort enrolment plugin settings and presets.
19 *
e7193380 20 * @package enrol_cohort
465f5088
PS
21 * @copyright 2010 Petr Skoda {@link http://skodak.org}
22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
df997f84
PS
23 */
24
97795859 25defined('MOODLE_INTERNAL') || die();
df997f84
PS
26
27if ($ADMIN->fulltree) {
28
29 //--- general settings -----------------------------------------------------------------------------------
30 $settings->add(new admin_setting_heading('enrol_cohort_settings', '', get_string('pluginname_desc', 'enrol_cohort')));
31
32
33 //--- enrol instance defaults ----------------------------------------------------------------------------
34 if (!during_initial_install()) {
55bcef29 35 $options = get_default_enrol_roles(context_system::instance());
df997f84
PS
36 $student = get_archetype_roles('student');
37 $student = reset($student);
ec9132b5 38 $settings->add(new admin_setting_configselect('enrol_cohort/roleid',
12b9c605 39 get_string('defaultrole', 'role'), '', $student->id ?? null, $options));
7cfe6404
PS
40
41 $options = array(
42 ENROL_EXT_REMOVED_UNENROL => get_string('extremovedunenrol', 'enrol'),
43 ENROL_EXT_REMOVED_SUSPENDNOROLES => get_string('extremovedsuspendnoroles', 'enrol'));
44 $settings->add(new admin_setting_configselect('enrol_cohort/unenrolaction', get_string('extremovedaction', 'enrol'), get_string('extremovedaction_help', 'enrol'), ENROL_EXT_REMOVED_UNENROL, $options));
df997f84
PS
45 }
46}