/** * Save extension date. * * @param moodleform $mform The submitted form * @return boolean */ protected function process_save_extension(&$mform) { global $DB, $CFG; // Include extension form. require_once $CFG->dirroot . '/mod/assign/extensionform.php'; require_sesskey(); $formparams = array('instance' => $this->get_instance(), 'userscount' => 0, 'usershtml' => ''); $mform = new mod_assign_extension_form(null, $formparams); if ($mform->is_cancelled()) { return true; } if ($formdata = $mform->get_data()) { if (!empty($formdata->selectedusers)) { $users = explode(',', $formdata->selectedusers); $result = true; foreach ($users as $userid) { $user = $DB->get_record('user', array('id' => $userid), '*', MUST_EXIST); $result = $this->save_user_extension($user->id, $formdata->extensionduedate) && $result; } return $result; } if (!empty($formdata->userid)) { $user = $DB->get_record('user', array('id' => $formdata->userid), '*', MUST_EXIST); return $this->save_user_extension($user->id, $formdata->extensionduedate); } } return false; }
/** * Save extension date. * * @param moodleform $mform The submitted form * @return boolean */ protected function process_save_extension(&$mform) { global $DB, $CFG; // Include extension form. require_once $CFG->dirroot . '/mod/assign/extensionform.php'; $batchusers = optional_param('selectedusers', '', PARAM_SEQUENCE); $userid = 0; if (!$batchusers) { $userid = required_param('userid', PARAM_INT); $user = $DB->get_record('user', array('id' => $userid), '*', MUST_EXIST); } $mform = new mod_assign_extension_form(null, array($this->get_course_module()->id, $userid, $batchusers, $this->get_instance(), null)); if ($mform->is_cancelled()) { return true; } if ($formdata = $mform->get_data()) { if ($batchusers) { $users = explode(',', $batchusers); $result = true; foreach ($users as $userid) { $result = $this->save_user_extension($userid, $formdata->extensionduedate) && $result; } return $result; } else { return $this->save_user_extension($userid, $formdata->extensionduedate); } } return false; }
/** * Save extension date. * * @param moodleform $mform The submitted form * @return boolean */ protected function process_save_extension(& $mform) { global $DB, $CFG; // Include extension form. require_once($CFG->dirroot . '/mod/assign/extensionform.php'); require_sesskey(); $users = optional_param('userid', 0, PARAM_INT); if (!$users) { $users = required_param('selectedusers', PARAM_SEQUENCE); } $userlist = explode(',', $users); $keys = array('duedate', 'cutoffdate', 'allowsubmissionsfromdate'); $maxoverride = array('allowsubmissionsfromdate' => 0, 'duedate' => 0, 'cutoffdate' => 0); foreach ($userlist as $userid) { // To validate extension date with users overrides. $override = $this->override_exists($userid); foreach ($keys as $key) { if ($override->{$key}) { if ($maxoverride[$key] < $override->{$key}) { $maxoverride[$key] = $override->{$key}; } } else if ($maxoverride[$key] < $this->get_instance()->{$key}) { $maxoverride[$key] = $this->get_instance()->{$key}; } } } foreach ($keys as $key) { if ($maxoverride[$key]) { $this->get_instance()->{$key} = $maxoverride[$key]; } } $formparams = array( 'instance' => $this->get_instance(), 'assign' => $this, 'userlist' => $userlist ); $mform = new mod_assign_extension_form(null, $formparams); if ($mform->is_cancelled()) { return true; } if ($formdata = $mform->get_data()) { if (!empty($formdata->selectedusers)) { $users = explode(',', $formdata->selectedusers); $result = true; foreach ($users as $userid) { $user = $DB->get_record('user', array('id' => $userid), '*', MUST_EXIST); $result = $this->save_user_extension($user->id, $formdata->extensionduedate) && $result; } return $result; } if (!empty($formdata->userid)) { $user = $DB->get_record('user', array('id' => $formdata->userid), '*', MUST_EXIST); return $this->save_user_extension($user->id, $formdata->extensionduedate); } } return false; }