function lti_tool_provider_memberships_lti_tool_provider_launch_alter in LTI Tool Provider 7
Implements hook_lti_tool_provider_launch().
File
- lti_tool_provider_memberships/
lti_tool_provider_memberships.module, line 910 - lti_tool_provider_memberships hook implementations and support functions.
Code
function lti_tool_provider_memberships_lti_tool_provider_launch_alter(&$launch_info, &$account) {
// If user does not have a membership, create one
global $user;
$query = new EntityFieldQuery();
$result = $query
->entityCondition('entity_type', 'lti_tool_provider_memberships')
->propertyCondition('lti_tool_provider_memberships_context_id', $launch_info['context_id'])
->propertyCondition('lti_tool_provider_memberships_user_id', $launch_info['user_id'])
->execute();
if (empty($result)) {
$entity = entity_get_controller('lti_tool_provider_memberships')
->create();
$entity->lti_tool_provider_memberships_context_id = $launch_info['context_id'];
$entity->lti_tool_provider_memberships_uid = isset($account->uid) ? $account->uid : NULL;
$entity->lti_tool_provider_memberships_user_id = $launch_info['user_id'];
$entity->lti_tool_provider_memberships_role = $launch_info['roles'];
$entity->lti_tool_provider_memberships_person_name_full = $launch_info['lis_person_name_full'];
lti_tool_provider_memberships_save($entity);
}
}