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 * Attendance plugin settings
20 * @package mod_attendance
21 * @copyright 2013 Netspot, Tim Lock.
22 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
25 defined('MOODLE_INTERNAL') ||
die;
27 if ($ADMIN->fulltree
) {
28 require_once(dirname(__FILE__
).'/lib.php');
29 require_once(dirname(__FILE__
).'/locallib.php');
31 $tabmenu = attendance_print_settings_tabs();
32 $settings->add(new admin_setting_heading('attendance_header', '', $tabmenu));
36 0 => get_string('donotusepaging', 'attendance'),
46 $settings->add(new admin_setting_configselect('attendance/resultsperpage',
47 get_string('resultsperpage', 'attendance'), get_string('resultsperpage_desc', 'attendance'), 25, $options));
49 $settings->add(new admin_setting_configcheckbox('attendance/studentscanmark',
50 get_string('studentscanmark', 'attendance'), get_string('studentscanmark_desc', 'attendance'), 1));
52 $settings->add(new admin_setting_configcheckbox('attendance/studentscanmarksessiontime',
53 get_string('studentscanmarksessiontime', 'attendance'),
54 get_string('studentscanmarksessiontime_desc', 'attendance'), 1));
56 $settings->add(new admin_setting_configtext('attendance/studentscanmarksessiontimeend',
57 get_string('studentscanmarksessiontimeend', 'attendance'),
58 get_string('studentscanmarksessiontimeend_desc', 'attendance'), '60', PARAM_INT
));
60 $settings->add(new admin_setting_configcheckbox('attendance/subnetactivitylevel',
61 get_string('subnetactivitylevel', 'attendance'),
62 get_string('subnetactivitylevel_desc', 'attendance'), 1));
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')
73 $settings->add(new admin_setting_configselect('attendance/defaultview',
74 get_string('defaultview', 'attendance'),
75 get_string('defaultview_desc', 'attendance'), ATT_VIEW_WEEKS
, $options));
77 $settings->add(new admin_setting_configcheckbox('attendance/multisessionexpanded',
78 get_string('multisessionexpanded', 'attendance'),
79 get_string('multisessionexpanded_desc', 'attendance'), 0));
81 $settings->add(new admin_setting_configcheckbox('attendance/showsessiondescriptiononreport',
82 get_string('showsessiondescriptiononreport', 'attendance'),
83 get_string('showsessiondescriptiononreport_desc', 'attendance'), 0));
85 $settings->add(new admin_setting_configcheckbox('attendance/studentrecordingexpanded',
86 get_string('studentrecordingexpanded', 'attendance'),
87 get_string('studentrecordingexpanded_desc', 'attendance'), 1));
89 $settings->add(new admin_setting_configcheckbox('attendance/enablecalendar',
90 get_string('enablecalendar', 'attendance'),
91 get_string('enablecalendar_desc', 'attendance'), 1));
93 $settings->add(new admin_setting_configcheckbox('attendance/enablewarnings',
94 get_string('enablewarnings', 'attendance'),
95 get_string('enablewarnings_desc', 'attendance'), 0));
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));
101 $settings->add(new admin_setting_configtext('attendance/subnet',
102 get_string('requiresubnet', 'attendance'), get_string('requiresubnet_help', 'attendance'), '', PARAM_RAW
));
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));
108 $settings->add(new admin_setting_configcheckbox('attendance/absenteereport_default',
109 get_string('includeabsentee', 'attendance'), '', 1));
111 $settings->add(new admin_setting_configcheckbox('attendance/studentscanmark_default',
112 get_string('studentscanmark', 'attendance'), '', 0));
114 $options = attendance_get_automarkoptions();
116 $settings->add(new admin_setting_configselect('attendance/automark_default',
117 get_string('automark', 'attendance'), '', 0, $options));
119 $settings->add(new admin_setting_configcheckbox('attendance/randompassword_default',
120 get_string('randompassword', 'attendance'), '', 0));
122 $settings->add(new admin_setting_configcheckbox('attendance/autoassignstatus',
123 get_string('autoassignstatus', 'attendance'), '', 0));
125 $settings->add(new admin_setting_configcheckbox('attendance/preventsharedip',
126 get_string('preventsharedip', 'attendance'), '', 0));
128 $settings->add(new admin_setting_configtext('attendance/preventsharediptime',
129 get_string('preventsharediptime', 'attendance'), get_string('preventsharediptime_help', 'attendance'), '', PARAM_RAW
));
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));
136 for ($i = 1; $i <= 100; $i++
) {
137 $options[$i] = "$i%";
139 $settings->add(new admin_setting_configselect('attendance/warningpercent',
140 get_string('warningpercent', 'attendance'), get_string('warningpercent_help', 'attendance'), 70, $options));
143 for ($i = 1; $i <= 50; $i++
) {
146 $settings->add(new admin_setting_configselect('attendance/warnafter',
147 get_string('warnafter', 'attendance'), get_string('warnafter_help', 'attendance'), 5, $options));
149 $settings->add(new admin_setting_configselect('attendance/maxwarn',
150 get_string('maxwarn', 'attendance'), get_string('maxwarn_help', 'attendance'), 1, $options));
152 $settings->add(new admin_setting_configcheckbox('attendance/emailuser',
153 get_string('emailuser', 'attendance'), get_string('emailuser_help', 'attendance'), 1));
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
));
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
));