-
Notifications
You must be signed in to change notification settings - Fork 0
/
settings.php
87 lines (79 loc) · 3.34 KB
/
settings.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?php
// This file is part of Moodle - https://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <https://www.gnu.org/licenses/>.
/**
* Plugin administration pages are defined here.
*
* @package enrol_gapply
* @category admin
* @copyright 2022 Sokunthearith Makara <[email protected]>
* @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
require_once($CFG->dirroot . '/user/profile/lib.php');
// Basic fields available in user table.
$fields = [
'username' => new lang_string('username'),
'idnumber' => new lang_string('idnumber'),
'email' => new lang_string('email'),
'phone1' => new lang_string('phone1'),
'phone2' => new lang_string('phone2'),
'department' => new lang_string('department'),
'institution' => new lang_string('institution'),
'city' => new lang_string('city'),
'country' => new lang_string('country'),
];
// Custom profile fields.
$profilefields = profile_get_custom_fields();
foreach ($profilefields as $field) {
$fields['profile_field_' . $field->shortname] = format_string(
$field->name,
true
) . ' *';
}
if ($hassiteconfig) {
$settings = new admin_settingpage('enrol_gapply_settings', new lang_string('pluginname', 'enrol_gapply'));
if ($ADMIN->fulltree) {
// Set as default enrolment for new courses.
$settings->add(new admin_setting_configcheckbox(
'enrol_gapply/defaultenrol',
get_string('defaultenrol', 'enrol'),
get_string('defaultenrol_desc', 'enrol'),
1
));
// Create a multiple select box for the list of profile fields both core and custom profile fields.
$settings->add(new admin_setting_configmultiselect(
'enrol_gapply/showuseridentity',
new lang_string('showuseridentity', 'enrol_gapply'),
new lang_string('showuseridentity_desc', 'enrol_gapply'),
['department', 'idnumber', 'institution'],
$fields
));
// Send notification in recipient's preferred language.
$settings->add(new admin_setting_configcheckbox(
'enrol_gapply/sendnotificationinrecipientlang',
new lang_string('sendnotificationinrecipientlang', 'enrol_gapply'),
new lang_string('sendnotificationinrecipientlang_desc', 'enrol_gapply'),
0
));
if (!during_initial_install()) {
$options = get_default_enrol_roles(context_system::instance());
$student = get_archetype_roles('student');
$student = reset($student);
$settings->add(new admin_setting_configselect('enrol_gapply/roleid',
get_string('defaultrole', 'role'), '', $student->id ?? null, $options));
}
}
}