diff --git a/mod/assignment/lib.php b/mod/assignment/lib.php index 6e3af37f17f..7f02446f2de 100644 --- a/mod/assignment/lib.php +++ b/mod/assignment/lib.php @@ -326,14 +326,23 @@ class assignment_base { // of the new instance. $assignment->timemodified = time(); - $assignment->timedue = make_timestamp($assignment->dueyear, $assignment->duemonth, - $assignment->dueday, $assignment->duehour, - $assignment->dueminute); - $assignment->timeavailable = make_timestamp($assignment->availableyear, $assignment->availablemonth, - $assignment->availableday, $assignment->availablehour, - $assignment->availableminute); + if (empty($assignment->dueenable)) { + $assignment->timedue = 0; + } else { + $assignment->timedue = make_timestamp($assignment->dueyear, $assignment->duemonth, + $assignment->dueday, $assignment->duehour, + $assignment->dueminute); + } + if (empty($assignment->availableenable)) { + $assignment->timeavailable = 0; + $assignment->preventlate = 0; + } else { + $assignment->timeavailable = make_timestamp($assignment->availableyear, $assignment->availablemonth, + $assignment->availableday, $assignment->availablehour, + $assignment->availableminute); + } - return insert_record("assignment", $assignment); + return insert_record('assignment', $assignment); } function delete_instance($assignment) { @@ -347,14 +356,25 @@ class assignment_base { // of the new instance. $assignment->timemodified = time(); - $assignment->timedue = make_timestamp($assignment->dueyear, $assignment->duemonth, - $assignment->dueday, $assignment->duehour, - $assignment->dueminute); - $assignment->timeavailable = make_timestamp($assignment->availableyear, $assignment->availablemonth, - $assignment->availableday, $assignment->availablehour, - $assignment->availableminute); + $assignment->timemodified = time(); + if (empty($assignment->dueenable)) { + $assignment->timedue = 0; + } else { + $assignment->timedue = make_timestamp($assignment->dueyear, $assignment->duemonth, + $assignment->dueday, $assignment->duehour, + $assignment->dueminute); + } + if (empty($assignment->availableenable)) { + $assignment->timeavailable = 0; + $assignment->preventlate = 0; + } else { + $assignment->timeavailable = make_timestamp($assignment->availableyear, $assignment->availablemonth, + $assignment->availableday, $assignment->availablehour, + $assignment->availableminute); + } + $assignment->id = $assignment->instance; - return update_record("assignment", $assignment); + return update_record('assignment', $assignment); } diff --git a/mod/assignment/mod.html b/mod/assignment/mod.html index d89054f301b..f957d7030db 100644 --- a/mod/assignment/mod.html +++ b/mod/assignment/mod.html @@ -25,6 +25,9 @@ if (!isset($form->timeavailable)) { $form->timeavailable = time(); } + if (!isset($form->preventlate)) { + $form->preventlate = 0; + } if (!isset($form->grade)) { $form->grade = 100; } @@ -36,6 +39,11 @@ } ?> + +