public function readSubmissions($submission) { try { $soap = $this->readResults(array('sourcedIdSet' => array('sourcedId' => $submission->getSubmissionIds()))); $response = new Response($this); if ($response->getStatus() == 'error') { throw new TurnitinSDKException($response->getStatusCode(), $response->getDescription()); } else { $submissions = array(); if (isset($soap->resultRecordSet->resultRecord)) { if (!is_array($soap->resultRecordSet->resultRecord)) { $soap->resultRecordSet->resultRecord = array($soap->resultRecordSet->resultRecord); } foreach ($soap->resultRecordSet->resultRecord as $submission) { $tiiSubmission = new TiiSubmission(); $tiiSubmission->setSubmissionId($submission->sourcedGUID->sourcedId); $tiiSubmission->setTitle($submission->result->resultValue->label); $tiiSubmission->setAssignmentId($submission->result->lineItemSourcedId); $tiiSubmission->setAuthorUserId($submission->result->personSourcedId); $tiiSubmission->setDate($submission->result->date); $tiiSubmission->setOverallSimilarity($submission->result->resultScore->textString); $submission->result->extension->extensionField = is_array($submission->result->extension->extensionField) ? $submission->result->extension->extensionField : array($submission->result->extension->extensionField); foreach ($submission->result->extension->extensionField as $field) { $name = $field->fieldName; $method = 'set' . $name; if (is_callable(array($tiiSubmission, $method))) { $tiiSubmission->{$method}($field->fieldValue); } } $submissions[] = $tiiSubmission; } } $response->setSubmissions($submissions); } return $response; } catch (SoapFault $e) { throw new TurnitinSDKException($e->faultcode, $e->faultstring, parent::getLogPath()); } }