限制测验时间设置

时间:2018-05-15 02:03:17

标签: moodle

我想限制测验的时间,只允许在上午11点到下午5点之间设置时间。

我找到了这一行: 的 LIB /形式/ datetimeselector.php 在函数_createElement上,第120行:我将值23更改为11

现在开放时间选项限制为11,但这也影响了收盘时间。

它也影响了所有模块。

请指出我正确的地方修改时间选项。

感谢。

1 个答案:

答案 0 :(得分:0)

好的,我找到了解决方案

简单步骤

  1. lib/form/datetimeselector.php复制到2个新副本中,并将这2个副本重命名为datetimeselector_quizopen.phpdatetimeselector_quizopen.php
  2. 在这两个文件中,相应地更改类名和函数名(传统构造函数)。
  3. 在第131行,在两个文件中,相应地更改for loop的值。
  4. 注册两个文件ini lib/formslib.php(第3227行)
  5. mod/quiz/mod_form.php中,将元素名称从date_time_selector更改为date_time_selector_quizopen(第86行)和date_time_selector_quizclose(第90行)
  6. 详情步骤

    1. 转到文件夹lib/form并复制datetimeselector.php - 2份
    2. 将第一个副本重命名为datetimeselector_quizopen.php
    3. 将第二个副本重命名为datetimeselector_quizclose.php
    4. datetimeselector_quizopen.php中,将班级名称从MoodleQuickForm_date_time_selector重命名为MoodleQuickForm_date_time_selector_quizopen(第42行)
    5. 在同一文件中,将功能名称从public function MoodleQuickForm_date_time_selector重命名为公共function MoodleQuickForm_date_time_selector_quizopen(第115行)
    6. 在同一文件中,从for ($i = 0; $i <= 23; $i++) {更改为for ($i = 11; $i <= 16; $i++) {(第131行)
    7. datetimeselector_quizclose.php中,将班级名称从MoodleQuickForm_date_time_selector重命名为MoodleQuickForm_date_time_selector_quizclose(第42行)
    8. 在同一文件中,将功能名称从public function MoodleQuickForm_date_time_selector重命名为公共function MoodleQuickForm_date_time_selector_quizclose(第115行)
    9. 在同一文件中,从for ($i = 0; $i <= 23; $i++) {更改为for ($i = 11; $i <= 16; $i++) {(第131行)
    10. 转到文件lib / formslib.php,第3227行 - 或搜索MoodleQuickForm::registerElementType('date_time_selector' - 添加此代码:

      MoodleQuickForm :: registerElementType('date_time_selector_quizopen',“$ CFG-&gt; libdir / form / datetimeselector_quizopen.php”,'MoodleQuickForm_date_time_selector_quizopen'); MoodleQuickForm :: registerElementType('date_time_selector_quizclose',“$ CFG-&gt; libdir / form / datetimeselector_quizclose.php”,'MoodleQuickForm_date_time_selector_quizclose');

    11. 转到mod/quiz/mod_form.php第86行,从$mform->addElement('date_time_selector', 'timeopen',更改为$mform->addElement('date_time_selector_quizopen', 'timeopen',

    12. 在第90行的同一文件中,从$mform->addElement('date_time_selector', 'timeclose',更改为$mform->addElement('date_time_selector_quizclose', 'timeclose',