/** * Reverts a list of user submissions to draft for a single assignment. * * @param int $assignmentid The id of the assignment * @param array $userids Array of user ids to revert * @return array of warnings for each submission that could not be reverted. * @since Moodle 2.6 */ public static function revert_submissions_to_draft($assignmentid, $userids) { global $CFG; require_once "{$CFG->dirroot}/mod/assign/locallib.php"; $params = self::validate_parameters(self::revert_submissions_to_draft_parameters(), array('assignmentid' => $assignmentid, 'userids' => $userids)); $cm = get_coursemodule_from_instance('assign', $params['assignmentid'], 0, false, MUST_EXIST); $context = context_module::instance($cm->id); self::validate_context($context); $assignment = new assign($context, $cm, null); $warnings = array(); foreach ($params['userids'] as $userid) { if (!$assignment->revert_to_draft($userid)) { $detail = 'User id: ' . $userid . ', Assignment id: ' . $params['assignmentid']; $warnings[] = self::generate_warning($params['assignmentid'], 'couldnotrevert', $detail); } } return $warnings; }