/** * Creates a new LTI User with the absolute minimum of required informations * * @param taoLti_models_classes_LtiLaunchData $ltiContext * @return core_kernel_classes_Resource */ public function spawnUser(taoLti_models_classes_LtiLaunchData $ltiContext) { $class = new core_kernel_classes_Class(CLASS_LTI_USER); //$lang = tao_models_classes_LanguageService::singleton()->getLanguageByCode(DEFAULT_LANG); $props = array(PROPERTY_USER_LTIKEY => $ltiContext->getUserID(), PROPERTY_USER_LTICONSUMER => $this->getLtiConsumerResource($ltiContext)); if ($ltiContext->hasVariable(taoLti_models_classes_LtiLaunchData::LIS_PERSON_NAME_FULL)) { $props[RDFS_LABEL] = $ltiContext->getUserFullName(); } if ($ltiContext->hasVariable(taoLti_models_classes_LtiLaunchData::LIS_PERSON_NAME_GIVEN)) { $props[PROPERTY_USER_FIRSTNAME] = $ltiContext->getUserGivenName(); } if ($ltiContext->hasVariable(taoLti_models_classes_LtiLaunchData::LIS_PERSON_NAME_FAMILY)) { $props[PROPERTY_USER_LASTNAME] = $ltiContext->getUserFamilyName(); } if ($ltiContext->hasVariable(taoLti_models_classes_LtiLaunchData::LIS_PERSON_CONTACT_EMAIL_PRIMARY)) { $props[PROPERTY_USER_MAIL] = $ltiContext->getUserEmail(); } $user = $class->createInstanceWithProperties($props); common_Logger::i('added User ' . $user->getLabel()); return $user; }