/** * @ignore * @param Soap $soap * @throws TurnitinSDKException */ public function __construct($soap) { $this->domobject = new DomDocument(); $this->requestdomobject = new DomDocument(); $logger = new TurnitinLogger($soap->getLogPath()); if ($logger) { $logger->logInfo($soap->getHttpHeaders() . PHP_EOL . $soap->__getLastRequest()); } if ($soap->getDebug()) { $this->outputDebug($soap->__getLastRequest(), 'Request Message', $soap->getHttpHeaders()); } @$this->requestdomobject->loadXML($soap->__getLastRequest()); if ($logger) { $logger->logInfo($soap->__getLastResponse()); } if ($soap->getDebug()) { $this->outputDebug($soap->__getLastResponse(), 'Response Message'); } if (($load = @$this->domobject->loadXML($soap->__getLastResponse())) === false) { throw new TurnitinSDKException('responsexmlerror', 'XML Response could not be parsed', $soap->getLogPath()); } $this->setMessageId(@$this->domobject->getElementsByTagName('imsx_messageIdentifier')->item(0)->nodeValue); $this->setStatus(@$this->domobject->getElementsByTagName('imsx_severity')->item(0)->nodeValue); if (is_null($this->getStatus())) { $this->setStatus($this->domobject->getElementsByTagName('status')->item(0)->nodeValue); } if (isset($this->domobject->getElementsByTagName('imsx_codeMinorFieldValue')->item(0)->nodeValue)) { $this->setStatusCode(@$this->domobject->getElementsByTagName('imsx_codeMinorFieldValue')->item(0)->nodeValue); } else { $this->setStatus('status'); $this->setStatusCode($this->domobject->getElementsByTagName('status')->item(0)->nodeValue); } $this->setDescription(@$this->domobject->getElementsByTagName('imsx_description')->item(0)->nodeValue); if (is_null($this->getDescription())) { $this->setDescription($this->domobject->getElementsByTagName('message')->item(0)->nodeValue); } $this->setMessageRefId(@$this->domobject->getElementsByTagName('imsx_messageRefIdentifier')->item(0)->nodeValue); }
public function findClasses($class) { try { $queryObject = array('queryObject' => json_encode(array('coursesection_title' => $class->getTitle(), 'date_from' => $class->getDateFrom(), 'integration_id' => $class->getIntegrationId(), 'user_id' => $class->getUserId(), 'user_role' => $class->getUserRole()))); $soap = $this->discoverCourseSectionIds($queryObject); $response = new Response($this); if ($response->getStatus() == 'error') { throw new TurnitinSDKException($response->getStatusCode(), $response->getDescription(), parent::getLogPath()); } else { $tiiClass = new TiiClass(); $classids = array(); if (isset($soap->sourcedIdSet->sourcedId)) { if (!is_array($soap->sourcedIdSet->sourcedId)) { $soap->sourcedIdSet->sourcedId = array($soap->sourcedIdSet->sourcedId); } foreach ($soap->sourcedIdSet->sourcedId as $id) { $classids[] = $id; } } $tiiClass->setClassIds($classids); $response->setClass($tiiClass); } return $response; } catch (SoapFault $e) { throw new TurnitinSDKException($e->faultcode, $e->faultstring, parent::getLogPath()); } }
public function findAssignments($assignment) { try { $soap = $this->readLineItemIdsForCourseSection(array('sectionSourcedId' => $assignment->getClassId())); $response = new Response($this); if ($response->getStatus() == 'error') { throw new TurnitinSDKException($response->getStatusCode(), $response->getDescription()); } else { $tiiAssignment = new TiiAssignment(); $assignmentids = array(); if (isset($soap->sourcedIdSet->sourcedId)) { if (!is_array($soap->sourcedIdSet->sourcedId)) { $soap->sourcedIdSet->sourcedId = array($soap->sourcedIdSet->sourcedId); } foreach ($soap->sourcedIdSet->sourcedId as $id) { $assignmentids[] = $id; } } $tiiAssignment->setAssignmentIds($assignmentids); $response->setAssignment($tiiAssignment); } return $response; } catch (SoapFault $e) { throw new TurnitinSDKException($e->faultcode, $e->faultstring, parent::getLogPath()); } }
public function findUser($user) { try { $request = array('queryObject' => $user->getEmail()); $soap = $this->discoverPersonIds($request); $response = new Response($this); if ($response->getStatus() == 'error') { throw new TurnitinSDKException($response->getStatusCode(), $response->getDescription()); } else { $tiiUser = new TiiUser(); if (isset($soap->sourcedIdSet->sourcedId)) { $tiiUser->setUserId($soap->sourcedIdSet->sourcedId); } $response->setUser($tiiUser); } return $response; } catch (SoapFault $e) { throw new TurnitinSDKException($e->faultcode, $e->faultstring, parent::getLogPath()); } }
public function findMemberships($membership) { try { $soap = $this->readMembershipIdsForCollection(array('groupSourcedId' => $membership->getClassId(), 'collection' => 'courseSection')); $response = new Response($this); if ($response->getStatus() == 'error') { throw new TurnitinSDKException($response->getStatusCode(), $response->getDescription()); } else { $tiiMembership = new TiiMembership(); $membershipids = array(); if (isset($soap->sourcedIdSet->sourcedId)) { if (!is_array($soap->sourcedIdSet->sourcedId)) { $soap->sourcedIdSet->sourcedId = array($soap->sourcedIdSet->sourcedId); } foreach ($soap->sourcedIdSet->sourcedId as $id) { $membershipids[] = $id; } } $tiiMembership->setMembershipIds($membershipids); $response->setMembership($tiiMembership); } return $response; } catch (SoapFault $e) { throw new TurnitinSDKException($e->faultcode, $e->faultstring, parent::getLogPath()); } }
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()); } }