/** * Create the user on Turnitin * * @param object $user_details A data object for the user * @param var $role user role to create * @return var Turnitin user id */ private function create_tii_user() { $config = turnitintooltwo_admin_config(); $tiiuserid = null; $turnitincomms = new turnitintooltwo_comms(); $turnitincall = $turnitincomms->initialise_api(); // Convert the email, firstname and lastname to psuedos for students if the option is set in config // Unless the user is already logged as a tutor then use real details. if (!empty($config->enablepseudo) && $this->role == "Learner") { $user = new TiiPseudoUser($this->get_pseudo_domain()); $user->setPseudoSalt($config->pseudosalt); $user->setFirstName($this->get_pseudo_firstname()); $user->setLastName($this->get_pseudo_lastname()); } else { $user = new TiiUser(); $user->setFirstName($this->firstname); $user->setLastName($this->lastname); } $user->setEmail($this->email); $user->setDefaultRole($this->role); try { $response = $turnitincall->createUser($user); $newuser = $response->getUser(); $tiiuserid = $newuser->getUserId(); turnitintooltwo_activitylog("Turnitin User created: " . $this->id . " (" . $tiiuserid . ")", "REQUEST"); return $tiiuserid; } catch (Exception $e) { $toscreen = $this->workflowcontext == "cron" ? false : true; $turnitincomms->handle_exceptions($e, 'usercreationerror', $toscreen); } }
public function readUser($user) { try { $soap = $this->readPerson(array('sourcedId' => $user->getUserId())); $response = new Response($this); if ($response->getStatus() == 'error') { throw new TurnitinSDKException($response->getStatusCode(), $response->getDescription()); } else { $tiiUser = new TiiUser(); $tiiUser->setUserId($soap->personRecord->sourcedGUID->sourcedId); $tiiUser->setDefaultRole($soap->personRecord->person->roles->institutionRole->institutionroletype->instanceValue->textString); $tiiUser->setEmail($soap->personRecord->person->contactinfo->contactinfoValue->textString); foreach ($soap->personRecord->person->name->partName as $partname) { if ($partname->instanceName->textString == 'First') { $tiiUser->setFirstname($partname->instanceValue->textString); } else { if ($partname->instanceName->textString == 'Last') { $tiiUser->setLastname($partname->instanceValue->textString); } } } $soap->personRecord->person->extension->extensionField = is_array($soap->personRecord->person->extension->extensionField) ? $soap->personRecord->person->extension->extensionField : array($soap->personRecord->person->extension->extensionField); foreach ($soap->personRecord->person->extension->extensionField as $field) { $name = $field->fieldName; $method = 'set' . $name; if (is_callable(array($tiiUser, $method))) { $tiiUser->{$method}($field->fieldValue); } } $response->setUser($tiiUser); } return $response; } catch (SoapFault $e) { throw new TurnitinSDKException($e->faultcode, $e->faultstring, parent::getLogPath()); } }