| Línea 55... |
Línea 55... |
| 55 |
$pagetitle = get_string('generalsettings', 'admin');
|
55 |
$pagetitle = get_string('generalsettings', 'admin');
|
| 56 |
}
|
56 |
}
|
| 57 |
$quizsettings = new admin_settingpage('modsettingquiz', $pagetitle, 'moodle/site:config');
|
57 |
$quizsettings = new admin_settingpage('modsettingquiz', $pagetitle, 'moodle/site:config');
|
| Línea 58... |
Línea 58... |
| 58 |
|
58 |
|
| - |
|
59 |
if ($ADMIN->fulltree) {
|
| - |
|
60 |
|
| - |
|
61 |
$quizsettings->add(new admin_setting_heading('quizintro', '', get_string('configintroglobal', 'quiz')));
|
| - |
|
62 |
|
| - |
|
63 |
// Delay to notify graded attempts.
|
| - |
|
64 |
$quizsettings->add(new admin_setting_configduration('quiz/notifyattemptgradeddelay',
|
| - |
|
65 |
get_string('attemptgradeddelay', 'quiz'), get_string('attemptgradeddelay_desc', 'quiz'), 5 * HOURSECS, HOURSECS));
|
| - |
|
66 |
|
| - |
|
67 |
// Pre-create attempt period.
|
| - |
|
68 |
$precreateoptions = [get_string('precreateoff', 'quiz')];
|
| - |
|
69 |
for ($i = 1; $i <= 24; $i++) {
|
| - |
|
70 |
$precreateoptions[$i * HOURSECS] = sprintf(get_string('dateintervalhrfull', 'langconfig'), $i);
|
| - |
|
71 |
}
|
| - |
|
72 |
$setting = new admin_setting_configselect(
|
| - |
|
73 |
'quiz/precreateperiod',
|
| - |
|
74 |
get_string('precreateperiod', 'quiz'),
|
| - |
|
75 |
get_string('precreateperiod_desc', 'quiz'),
|
| - |
|
76 |
0,
|
| - |
|
77 |
$precreateoptions,
|
| - |
|
78 |
);
|
| - |
|
79 |
$quizsettings->add($setting);
|
| - |
|
80 |
|
| - |
|
81 |
// Minimum grace period used behind the scenes.
|
| - |
|
82 |
$quizsettings->add(new admin_setting_configduration('quiz/graceperiodmin',
|
| - |
|
83 |
get_string('graceperiodmin', 'quiz'), get_string('graceperiodmin_desc', 'quiz'),
|
| - |
|
84 |
60, 1));
|
| - |
|
85 |
|
| - |
|
86 |
// Initial number of feedback items.
|
| - |
|
87 |
$quizsettings->add(new admin_setting_configtext('quiz/initialnumfeedbacks',
|
| - |
|
88 |
get_string('initialnumfeedbacks', 'quiz'), get_string('initialnumfeedbacks_desc', 'quiz'),
|
| - |
|
89 |
2, PARAM_INT, 5));
|
| - |
|
90 |
|
| - |
|
91 |
// Autosave frequency.
|
| - |
|
92 |
$quizsettings->add(new admin_setting_configduration('quiz/autosaveperiod',
|
| - |
|
93 |
get_string('autosaveperiod', 'quiz'), get_string('autosaveperiod_desc', 'quiz'), 60, 1));
|
| 59 |
if ($ADMIN->fulltree) {
|
94 |
|
| - |
|
95 |
// Heading explanation that all the settings below are defaults for the add quiz form.
|
| - |
|
96 |
$name = new lang_string('defaultsettings', 'quiz');
|
| 60 |
// Introductory explanation that all the settings are defaults for the add quiz form.
|
97 |
$description = new lang_string('configintro', 'quiz');
|
| Línea 61... |
Línea 98... |
| 61 |
$quizsettings->add(new admin_setting_heading('quizintro', '', get_string('configintro', 'quiz')));
|
98 |
$quizsettings->add(new admin_setting_heading('defaultsettings', $name, $description));
|
| 62 |
|
99 |
|
| 63 |
// Time limit.
|
100 |
// Time limit.
|
| 64 |
$setting = new admin_setting_configduration('quiz/timelimit',
|
101 |
$setting = new admin_setting_configduration('quiz/timelimit',
|
| 65 |
get_string('timelimit', 'quiz'), get_string('configtimelimitsec', 'quiz'),
|
102 |
get_string('timelimit', 'quiz'), get_string('configtimelimitsec', 'quiz'),
|
| 66 |
'0', 60);
|
103 |
'0', 60);
|
| 67 |
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
|
104 |
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
|
| Línea 68... |
Línea -... |
| 68 |
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
|
- |
|
| 69 |
$quizsettings->add($setting);
|
- |
|
| 70 |
|
- |
|
| 71 |
// Delay to notify graded attempts.
|
- |
|
| 72 |
$quizsettings->add(new admin_setting_configduration('quiz/notifyattemptgradeddelay',
|
105 |
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
|
| 73 |
get_string('attemptgradeddelay', 'quiz'), get_string('attemptgradeddelay_desc', 'quiz'), 5 * HOURSECS, HOURSECS));
|
106 |
$quizsettings->add($setting);
|
| 74 |
|
107 |
|
| 75 |
// What to do with overdue attempts.
|
108 |
// What to do with overdue attempts.
|
| 76 |
$setting = new \mod_quiz\admin\overdue_handling_setting('quiz/overduehandling',
|
109 |
$setting = new \mod_quiz\admin\overdue_handling_setting('quiz/overduehandling',
|
| Línea 85... |
Línea 118... |
| 85 |
'86400');
|
118 |
'86400');
|
| 86 |
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
|
119 |
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, false);
|
| 87 |
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
|
120 |
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
|
| 88 |
$quizsettings->add($setting);
|
121 |
$quizsettings->add($setting);
|
| Línea 89... |
Línea 122... |
| 89 |
|
122 |
|
| 90 |
// Minimum grace period used behind the scenes.
|
123 |
// Enable pre-creation of attempts.
|
| - |
|
124 |
$setting = new admin_setting_configcheckbox(
|
| - |
|
125 |
'quiz/precreateattempts',
|
| 91 |
$quizsettings->add(new admin_setting_configduration('quiz/graceperiodmin',
|
126 |
get_string('precreateattempts', 'quiz'),
|
| 92 |
get_string('graceperiodmin', 'quiz'), get_string('graceperiodmin_desc', 'quiz'),
|
127 |
get_string('precreateattempts_help', 'quiz'),
|
| - |
|
128 |
0,
|
| - |
|
129 |
);
|
| - |
|
130 |
$setting->set_advanced_flag_options(admin_setting_flag::ENABLED, true);
|
| - |
|
131 |
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, true);
|
| Línea 93... |
Línea 132... |
| 93 |
60, 1));
|
132 |
$quizsettings->add($setting);
|
| 94 |
|
133 |
|
| 95 |
// Number of attempts.
|
134 |
// Number of attempts.
|
| 96 |
$options = [get_string('unlimited')];
|
135 |
$options = [get_string('unlimited')];
|
| Línea 264... |
Línea 303... |
| 264 |
get_string('showinsecurepopup', 'quiz'), get_string('configpopup', 'quiz'),
|
303 |
get_string('showinsecurepopup', 'quiz'), get_string('configpopup', 'quiz'),
|
| 265 |
['value' => '-', 'adv' => true], null);
|
304 |
['value' => '-', 'adv' => true], null);
|
| 266 |
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
|
305 |
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false);
|
| 267 |
$quizsettings->add($setting);
|
306 |
$quizsettings->add($setting);
|
| Línea 268... |
Línea -... |
| 268 |
|
- |
|
| 269 |
$quizsettings->add(new admin_setting_configtext('quiz/initialnumfeedbacks',
|
- |
|
| 270 |
get_string('initialnumfeedbacks', 'quiz'), get_string('initialnumfeedbacks_desc', 'quiz'),
|
- |
|
| 271 |
2, PARAM_INT, 5));
|
- |
|
| 272 |
|
307 |
|
| 273 |
// Allow user to specify if setting outcomes is an advanced setting.
|
308 |
// Allow user to specify if setting outcomes is an advanced setting.
|
| 274 |
if (!empty($CFG->enableoutcomes)) {
|
309 |
if (!empty($CFG->enableoutcomes)) {
|
| 275 |
$quizsettings->add(new admin_setting_configcheckbox('quiz/outcomes_adv',
|
310 |
$quizsettings->add(new admin_setting_configcheckbox('quiz/outcomes_adv',
|
| 276 |
get_string('outcomesadvanced', 'quiz'), get_string('configoutcomesadvanced', 'quiz'),
|
311 |
get_string('outcomesadvanced', 'quiz'), get_string('configoutcomesadvanced', 'quiz'),
|
| 277 |
'0'));
|
312 |
'0'));
|
| 278 |
}
|
- |
|
| 279 |
|
- |
|
| 280 |
// Autosave frequency.
|
- |
|
| 281 |
$quizsettings->add(new admin_setting_configduration('quiz/autosaveperiod',
|
- |
|
| 282 |
get_string('autosaveperiod', 'quiz'), get_string('autosaveperiod_desc', 'quiz'), 60, 1));
|
313 |
}
|
| Línea 283... |
Línea 314... |
| 283 |
}
|
314 |
}
|
| 284 |
|
315 |
|
| 285 |
// Now, depending on whether any reports have their own settings page, add
|
316 |
// Now, depending on whether any reports have their own settings page, add
|