/**
  * 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');
     }
 }
コード例 #2
0
 /**
  * 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);
 }
コード例 #3
0
 /**
  * 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');
         }
     }
 }
コード例 #4
0
 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());
     }
 }