示例#1
0
 /**
  * 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;
 }
示例#2
0
 /**
  * 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;
 }
示例#3
0
    /**
     * 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;
    }