/** * Submit the logged in users setaskment for grading. * * @param int $setaskmentid The id of the setaskment * @return array of warnings to indicate any errors. * @since Moodle 2.6 */ public static function submit_for_grading($setaskmentid, $acceptsubmissionstatement) { global $CFG, $USER; require_once "{$CFG->dirroot}/mod/setask/locallib.php"; $params = self::validate_parameters(self::submit_for_grading_parameters(), array('setaskmentid' => $setaskmentid, 'acceptsubmissionstatement' => $acceptsubmissionstatement)); $cm = get_coursemodule_from_instance('setask', $params['setaskmentid'], 0, false, MUST_EXIST); $context = context_module::instance($cm->id); self::validate_context($context); $setaskment = new setask($context, $cm, null); $warnings = array(); $data = new stdClass(); $data->submissionstatement = $params['acceptsubmissionstatement']; $notices = array(); if (!$setaskment->submit_for_grading($data, $notices)) { $detail = 'User id: ' . $USER->id . ', Assignment id: ' . $params['setaskmentid'] . ' Notices:' . implode(', ', $notices); $warnings[] = self::generate_warning($params['setaskmentid'], 'couldnotsubmitforgrading', $detail); } return $warnings; }