Implement data privacy provider.
[moodle-mod_attendance.git] / settings.php
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 * Attendance plugin settings
19 *
20 * @package mod_attendance
21 * @copyright 2013 Netspot, Tim Lock.
22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23 */
24
25 defined('MOODLE_INTERNAL') || die;
26
27 if ($ADMIN->fulltree) {
28 require_once(dirname(__FILE__).'/lib.php');
29 require_once(dirname(__FILE__).'/locallib.php');
30
31 $tabmenu = attendance_print_settings_tabs();
32 $settings->add(new admin_setting_heading('attendance_header', '', $tabmenu));
33
34 // Paging options.
35 $options = array(
36 0 => get_string('donotusepaging', 'attendance'),
37 25 => 25,
38 50 => 50,
39 75 => 75,
40 100 => 100,
41 250 => 250,
42 500 => 500,
43 1000 => 1000,
44 );
45
46 $settings->add(new admin_setting_configselect('attendance/resultsperpage',
47 get_string('resultsperpage', 'attendance'), get_string('resultsperpage_desc', 'attendance'), 25, $options));
48
49 $settings->add(new admin_setting_configcheckbox('attendance/studentscanmark',
50 get_string('studentscanmark', 'attendance'), get_string('studentscanmark_desc', 'attendance'), 1));
51
52 $settings->add(new admin_setting_configcheckbox('attendance/studentscanmarksessiontime',
53 get_string('studentscanmarksessiontime', 'attendance'),
54 get_string('studentscanmarksessiontime_desc', 'attendance'), 1));
55
56 $settings->add(new admin_setting_configtext('attendance/studentscanmarksessiontimeend',
57 get_string('studentscanmarksessiontimeend', 'attendance'),
58 get_string('studentscanmarksessiontimeend_desc', 'attendance'), '60', PARAM_INT));
59
60 $settings->add(new admin_setting_configcheckbox('attendance/subnetactivitylevel',
61 get_string('subnetactivitylevel', 'attendance'),
62 get_string('subnetactivitylevel_desc', 'attendance'), 1));
63
64 $options = array(
65 ATT_VIEW_ALL => get_string('all', 'attendance'),
66 ATT_VIEW_ALLPAST => get_string('allpast', 'attendance'),
67 ATT_VIEW_NOTPRESENT => get_string('lowgrade', 'attendance'),
68 ATT_VIEW_MONTHS => get_string('months', 'attendance'),
69 ATT_VIEW_WEEKS => get_string('weeks', 'attendance'),
70 ATT_VIEW_DAYS => get_string('days', 'attendance')
71 );
72
73 $settings->add(new admin_setting_configselect('attendance/defaultview',
74 get_string('defaultview', 'attendance'),
75 get_string('defaultview_desc', 'attendance'), ATT_VIEW_WEEKS, $options));
76
77 $settings->add(new admin_setting_configcheckbox('attendance/multisessionexpanded',
78 get_string('multisessionexpanded', 'attendance'),
79 get_string('multisessionexpanded_desc', 'attendance'), 0));
80
81 $settings->add(new admin_setting_configcheckbox('attendance/showsessiondescriptiononreport',
82 get_string('showsessiondescriptiononreport', 'attendance'),
83 get_string('showsessiondescriptiononreport_desc', 'attendance'), 0));
84
85 $settings->add(new admin_setting_configcheckbox('attendance/studentrecordingexpanded',
86 get_string('studentrecordingexpanded', 'attendance'),
87 get_string('studentrecordingexpanded_desc', 'attendance'), 1));
88
89 $settings->add(new admin_setting_configcheckbox('attendance/enablecalendar',
90 get_string('enablecalendar', 'attendance'),
91 get_string('enablecalendar_desc', 'attendance'), 1));
92
93 $settings->add(new admin_setting_configcheckbox('attendance/enablewarnings',
94 get_string('enablewarnings', 'attendance'),
95 get_string('enablewarnings_desc', 'attendance'), 0));
96
97 $name = new lang_string('defaultsettings', 'mod_attendance');
98 $description = new lang_string('defaultsettings_help', 'mod_attendance');
99 $settings->add(new admin_setting_heading('defaultsettings', $name, $description));
100
101 $settings->add(new admin_setting_configtext('attendance/subnet',
102 get_string('requiresubnet', 'attendance'), get_string('requiresubnet_help', 'attendance'), '', PARAM_RAW));
103
104 $name = new lang_string('defaultsessionsettings', 'mod_attendance');
105 $description = new lang_string('defaultsessionsettings_help', 'mod_attendance');
106 $settings->add(new admin_setting_heading('defaultsessionsettings', $name, $description));
107
108 $settings->add(new admin_setting_configcheckbox('attendance/absenteereport_default',
109 get_string('includeabsentee', 'attendance'), '', 1));
110
111 $settings->add(new admin_setting_configcheckbox('attendance/studentscanmark_default',
112 get_string('studentscanmark', 'attendance'), '', 0));
113
114 $options = attendance_get_automarkoptions();
115
116 $settings->add(new admin_setting_configselect('attendance/automark_default',
117 get_string('automark', 'attendance'), '', 0, $options));
118
119 $settings->add(new admin_setting_configcheckbox('attendance/randompassword_default',
120 get_string('randompassword', 'attendance'), '', 0));
121
122 $settings->add(new admin_setting_configcheckbox('attendance/autoassignstatus',
123 get_string('autoassignstatus', 'attendance'), '', 0));
124
125 $settings->add(new admin_setting_configcheckbox('attendance/preventsharedip',
126 get_string('preventsharedip', 'attendance'), '', 0));
127
128 $settings->add(new admin_setting_configtext('attendance/preventsharediptime',
129 get_string('preventsharediptime', 'attendance'), get_string('preventsharediptime_help', 'attendance'), '', PARAM_RAW));
130
131 $name = new lang_string('defaultwarningsettings', 'mod_attendance');
132 $description = new lang_string('defaultwarningsettings_help', 'mod_attendance');
133 $settings->add(new admin_setting_heading('defaultwarningsettings', $name, $description));
134
135 $options = array();
136 for ($i = 1; $i <= 100; $i++) {
137 $options[$i] = "$i%";
138 }
139 $settings->add(new admin_setting_configselect('attendance/warningpercent',
140 get_string('warningpercent', 'attendance'), get_string('warningpercent_help', 'attendance'), 70, $options));
141
142 $options = array();
143 for ($i = 1; $i <= 50; $i++) {
144 $options[$i] = "$i";
145 }
146 $settings->add(new admin_setting_configselect('attendance/warnafter',
147 get_string('warnafter', 'attendance'), get_string('warnafter_help', 'attendance'), 5, $options));
148
149 $settings->add(new admin_setting_configselect('attendance/maxwarn',
150 get_string('maxwarn', 'attendance'), get_string('maxwarn_help', 'attendance'), 1, $options));
151
152 $settings->add(new admin_setting_configcheckbox('attendance/emailuser',
153 get_string('emailuser', 'attendance'), get_string('emailuser_help', 'attendance'), 1));
154
155 $settings->add(new admin_setting_configtext('attendance/emailsubject',
156 get_string('emailsubject', 'attendance'), get_string('emailsubject_help', 'attendance'),
157 get_string('emailsubject_default', 'attendance'), PARAM_RAW));
158
159
160 $settings->add(new admin_setting_configtextarea('attendance/emailcontent',
161 get_string('emailcontent', 'attendance'), get_string('emailcontent_help', 'attendance'),
162 get_string('emailcontent_default', 'attendance'), PARAM_RAW));
163
164 }