/** * Get all the membership ids for a particular class * * @param int $tiicourseid the course id on Turnitin * @return array $tiiclassmembers all the membership Ids for the class if successful */ private function get_class_memberships($tiicourseid) { $turnitincomms = new turnitintooltwo_comms(); $turnitincall = $turnitincomms->initialise_api(); $membership = new TiiMembership(); $membership->setClassId($tiicourseid); try { $response = $turnitincall->findMemberships($membership); $findmembership = $response->getMembership(); $tiiclassmembers = $findmembership->getMembershipIds(); return $tiiclassmembers; } catch (Exception $e) { $turnitincomms->handle_exceptions($e, 'membercheckerror'); } }
/** * Create a new Instructor Membership on a Class. * * Takes a {@link TiiMembership.html TiiMembership} object containing the required parameters * and returns a {@link Response.html Response} object containing the data from the response. * * Convenience method that adds the Instructor role (see: {@link TurnitinAPI.html#createMembership createMembership}) * * @param TiiMembership $membership * @return Response */ public function createInstructorMembership($membership) { $membershipSoap = $this->setOptions(new MembershipSoap($this->membershipwsdl, $this->getServiceOptions('membership'))); $membership->setRole('Instructor'); return $membershipSoap->createMembership($membership); }
/** * Set the number of user messages and any instructor rubrics from Turnitin */ public function set_user_values_from_tii() { $turnitincomms = new turnitintooltwo_comms(); $turnitincall = $turnitincomms->initialise_api(); $user = new TiiUser(); $user->setUserId($this->tii_user_id); try { $response = $turnitincall->readUser($user); $readuser = $response->getUser(); $this->usermessages = $readuser->getUserMessages(); $this->save_instructor_rubrics($readuser->getInstructorRubrics()); $tiiuser = array("id" => $readuser->getUserId(), "firstname" => $readuser->getFirstName(), "lastname" => $readuser->getLastName(), "email" => $readuser->getEmail()); return $tiiuser; } catch (Exception $e) { try { // We need to join the user to the account, we can only do that by adding the user to a class // make one and add them, then delete it. Awful workaround but should be rare. $class = new TiiClass(); $uuid = uniqid(microtime() . '-'); $class->setTitle($uuid); $response = $turnitincall->createClass($class); $newclass = $response->getClass(); $tiiclassid = $newclass->getClassId(); $membership = new TiiMembership(); $membership->setRole($this->role); $membership->setUserId($this->tii_user_id); $membership->setClassId($tiiclassid); $response = $turnitincall->createMembership($membership); $class->setClassId($tiiclassid); $response = $turnitincall->deleteClass($class); $response = $turnitincall->readUser($user); $readuser = $response->getUser(); $this->usermessages = $readuser->getUserMessages(); $this->save_instructor_rubrics($readuser->getInstructorRubrics()); } catch (Exception $e) { $turnitincomms->handle_exceptions($e, 'tiiusergeterror'); } } }
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()); } }