/** * Edit the submission in Turnitin so a tutor can see the identity of the student * * @param string $reason * @return boolean */ public function unanonymise_submission($reason) { // Get user and part details. $turnitintooltwoassignment = new turnitintooltwo_assignment($this->turnitintooltwoid); $partdetails = $turnitintooltwoassignment->get_part_details($this->submission_part); $user = new turnitintooltwo_user($this->userid); // Initialise Comms Object. $turnitincomms = new turnitintooltwo_comms(); $turnitincall = $turnitincomms->initialise_api(); $submission = new TiiSubmission(); $submission->setSubmissionId($this->submission_objectid); $submission->setAssignmentId($partdetails->tiiassignid); if (strlen($reason) < 5) { $reason = "No specified reason: " . $reason; } $submission->setAnonymousRevealReason($reason); $submission->setAnonymousRevealUser($user->tii_user_id); $submission->setAnonymousRevealDateTime(date("c")); try { $turnitincall->updateSubmission($submission); return true; } catch (Exception $e) { $turnitincomms->handle_exceptions($e, "unanonymiseerror", false); return false; } }
/** * * @param TiiSubmission $submission */ public function replaceSubmission($submission) { $params_merge = $this->getResubmissionFormHash($submission); if (is_null($submission->getSubmissionDataPath()) && is_null($submission->getSubmissionDataUrl())) { $params_merge['custom_submission_data'] = $submission->getSubmissionDataText(); } else { if (is_null($submission->getSubmissionDataUrl())) { // CURL uploading with @ has been deprecated in PHP 5.5 if (class_exists('CURLFile')) { $finfo = new finfo(FILEINFO_MIME); $mimetype = $finfo->file($submission->getSubmissionDataPath()); $params_merge['custom_submission_data'] = new CurlFile($submission->getSubmissionDataPath(), $mimetype); } else { $params_merge['custom_submission_data'] = '@' . $submission->getSubmissionDataPath(); } } } $transport = $this->transportData($params_merge); $response = new Response($this); if ($response->getStatusCode() == 'failure') { throw new TurnitinSDKException($response->getStatusCode(), $response->getDescription()); } else { $dom = $response->getDomObject(); $tiiSubmission = new TiiSubmission(); $tiiSubmission->setSubmissionId($dom->getElementsByTagName('lis_result_sourcedid')->item(0)->nodeValue); $tiiSubmission->setTextExtract(@$dom->getElementsByTagName('submission_data_extract')->item(0)->nodeValue); $response->setSubmission($tiiSubmission); } return $response; }
/** * Delete a submission from Turnitin */ private function delete_tii_submission($submissionid) { // Initialise Comms Object. $turnitincomms = new turnitin_comms(); $turnitincall = $turnitincomms->initialise_api(); $submission = new TiiSubmission(); $submission->setSubmissionId($submissionid); try { $response = $turnitincall->deleteSubmission($submission); } catch (Exception $e) { $turnitincomms->handle_exceptions($e, 'turnitindeletionerror'); } }
/** * Delete a submission from Turnitin */ private function delete_tii_submission($cm, $submissionid, $user) { global $CFG; // Initialise Comms Object. $turnitincomms = new turnitin_comms(); $turnitincall = $turnitincomms->initialise_api(); $submission = new TiiSubmission(); $submission->setSubmissionId($submissionid); try { $response = $turnitincall->deleteSubmission($submission); } catch (Exception $e) { $turnitincomms->handle_exceptions($e, 'turnitindeletionerror', false); mtrace('-------------------------'); mtrace(get_string('turnitindeletionerror', 'plagiarism_turnitin') . ': ' . $e->getMessage()); mtrace('User: '******' - ' . $user->firstname . ' ' . $user->lastname . ' (' . $user->email . ')'); mtrace('Course Module: ' . $cm->id . ''); mtrace('-------------------------'); } }
public function createSubmission($submission) { try { $request = array(); $request['resultRecord']['sourcedGUID']['sourcedId'] = ''; $request['resultRecord']['result']['personSourcedId'] = $submission->getAuthorUserId(); $request['resultRecord']['result']['lineItemSourcedId'] = $submission->getAssignmentId(); $request['resultRecord']['result']['extension']['extensionNameVocabulary'] = self::$extensionname_vocab; $request['resultRecord']['result']['extension']['extensionValueVocabulary'] = self::$extensionvalue_vocab; $request['resultRecord']['result']['extension']['extensionField'][0]['fieldName'] = 'Submitter'; $request['resultRecord']['result']['extension']['extensionField'][0]['fieldType'] = 'Integer'; $request['resultRecord']['result']['extension']['extensionField'][0]['fieldValue'] = $submission->getSubmitterUserId(); $soap = $this->createByProxyResult($request); $response = new Response($this); if ($response->getStatus() == 'error') { throw new TurnitinSDKException($response->getStatusCode(), $response->getDescription()); } else { $tiiSubmission = new TiiSubmission(); $tiiSubmission->setSubmissionId($soap->sourcedId); $response->setSubmission($tiiSubmission); } return $response; } catch (SoapFault $e) { throw new TurnitinSDKException($e->faultcode, $e->faultstring, parent::getLogPath()); } }