/** * This function is used by the reset_course_userdata function in moodlelib. * This function will remove all assignment submissions and feedbacks in the database * and clean up any related data. * @param $data the data submitted from the reset course. * @return array status array */ function assign_reset_userdata($data) { global $CFG, $DB; require_once($CFG->dirroot . '/mod/assign/locallib.php'); $status = array(); $params = array('courseid'=>$data->courseid); $sql = "SELECT a.id FROM {assign} a WHERE a.course=:courseid"; $course = $DB->get_record('course', array('id'=>$data->courseid), '*', MUST_EXIST); if ($assigns = $DB->get_records_sql($sql, $params)) { foreach ($assigns as $assign) { $cm = get_coursemodule_from_instance('assign', $assign->id, $data->courseid, false, MUST_EXIST); $context = context_module::instance($cm->id); $assignment = new assign($context, $cm, $course); $status = array_merge($status, $assignment->reset_userdata($data)); } } // Updating dates - shift may be negative too. if ($data->timeshift) { shift_course_mod_dates('assign', array('duedate', 'allowsubmissionsfromdate', 'cutoffdate'), $data->timeshift, $data->courseid); $status[] = array('component' => get_string('modulenameplural', 'assign'), 'item' => get_string('datechanged'), 'error' => false); } return $status; }
/** * This function is used by the reset_course_userdata function in moodlelib. * This function will remove all assignment submissions and feedbacks in the database * and clean up any related data. * @param $data the data submitted from the reset course. * @return array status array */ function assign_reset_userdata($data) { global $CFG, $DB; require_once $CFG->dirroot . '/mod/assign/locallib.php'; $status = array(); $params = array('courseid' => $data->courseid); $sql = "SELECT a.id FROM {assign} a WHERE a.course=:courseid"; $course = $DB->get_record('course', array('id' => $data->courseid), '*', MUST_EXIST); if ($assigns = $DB->get_records_sql($sql, $params)) { foreach ($assigns as $assign) { $cm = get_coursemodule_from_instance('assign', $assign->id, $data->courseid, false, MUST_EXIST); $context = context_module::instance($cm->id); $assignment = new assign($context, $cm, $course); $status = array_merge($status, $assignment->reset_userdata($data)); } } return $status; }