/** * @response - array * * Inserts the user submissions into the database */ public static function create_submission($response) { $submission = new Submission(); foreach ($response as $key => $val) { $submission->{$key} = $val; } if ($submission->save()) { return true; } return false; }
STEP 2 : check & query -------------------------------------*/ if ($cmd == "exGradeWrk" && isset($_REQUEST['gradedWrkId'])) { if (isset($formCorrectlySent) && $formCorrectlySent) { $submission->setAssignmentId($assignmentId); $submission->setUserId(claro_get_current_user_id()); $submission->setTitle($wrkForm['wrkTitle']); $submission->setAuthor($wrkForm['wrkAuthors']); $submission->setVisibility($assignment->getDefaultSubmissionVisibility()); $submission->setSubmittedText($wrkForm['wrkTxt']); $submission->setSubmittedFilename($wrkForm['filename']); $submission->setParentId($_REQUEST['gradedWrkId']); $submission->setPrivateFeedback($wrkForm['wrkPrivFbk']); $submission->setOriginalId($_REQUEST['authId']); $submission->setScore($wrkForm['wrkScore']); $submission->save(); $dialogBox->success(get_lang('Feedback added')); // notify eventmanager that a new correction has been posted $eventNotifier->notifyCourseEvent('work_correction_posted', claro_get_current_course_id(), claro_get_current_tool_id(), $_REQUEST['gradedWrkId'], '0', '0'); // mail notification if required by configuration if (get_conf('mail_notification') && (claro_get_current_course_data('notify_feedbacks') || get_conf('automatic_mail_notification', false))) { // get owner(s) email $userIdList = array(); if ($assignment->getAssignmentType() == 'GROUP') { $gradedSubmission = new Submission(); $gradedSubmission->load($submission->getParentId()); $userIdList[] = $gradedSubmission->getUserId(); } else { $userIdList[] = $_REQUEST['authId']; } if (is_array($userIdList)) {
private function saveSubmission($type, Reference $reference) { if ($reference->type == null) { $reference->type = $type; } $serialized = serialize($reference); $oid = sha1($serialized); $submission = Submission::model()->findByAttributes(array('oid' => $oid)); if (!$submission) { $submission = new Submission(); } $submission->timestamp = new CDbExpression('NOW()'); $submission->object = $serialized; $submission->oid = $oid; $submission->ref_type = $type; $submission->save(); return $oid; }