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