$gradinginfo->items[0]->grades[$userid]->overridden 會記錄修改的時間,這表示老師手動評分,學生不能再做任何的修改。不過對於「作業」的評分,並不是系統自動評分,為避免老師在總表修改成績,而無法讓逾期的學生再繳交作業,修改以下程式,移除 overridden 的判斷。
[root@moodle moodle23]# diff -uN ../moodle23.bak/mod/assign/locallib.php mod/assign/locallib.php
--- ../moodle23.bak/mod/assign/locallib.php 2013-01-25 16:32:08.000000000 +0800
+++ mod/assign/locallib.php 2015-01-16 18:04:28.080079998 +0800
@@ -2970,7 +2970,7 @@
if (!isset($gradinginfo->items[0]->grades[$userid])) {
return false;
}
- $gradingdisabled = $gradinginfo->items[0]->grades[$userid]->locked || $gradinginfo->items[0]->grades[$userid]->overridden;
+ $gradingdisabled = $gradinginfo->items[0]->grades[$userid]->locked;
return $gradingdisabled;
}