function lti_tool_provider_outcomes_get_set_resource in LTI Tool Provider 7
Retrieve the corresponding resource record, and create if it does not exist.
Parameters
int $consumer_id: Consumer Entity ID.
int $context_id: Context ID.
string $resource_link_id: Resource Link ID of the request.
string $resource_title: Resource Title of the request.
string $result_value_sourcedids: Result value source dids.
Return value
int ID of the new resource record.
2 calls to lti_tool_provider_outcomes_get_set_resource()
- lti_tool_provider_outcomes_lti_tool_provider_create_account_alter in lti_tool_provider_outcomes/
lti_tool_provider_outcomes.module - Implements hook_lti_tool_provider_create_account_alter().
- lti_tool_provider_outcomes_lti_tool_provider_launch_alter in lti_tool_provider_outcomes/
lti_tool_provider_outcomes.module - Implements hook_lti_tool_provider_launch_alter().
File
- lti_tool_provider_outcomes/
lti_tool_provider_outcomes.module, line 234
Code
function lti_tool_provider_outcomes_get_set_resource($consumer_id, $context_id, $resource_link_id, $resource_title, $result_value_sourcedids) {
$results_arr = array();
$query = new EntityFieldQuery();
$query
->entityCondition('entity_type', 'lti_tool_provider_outcomes_resource')
->propertyCondition('lti_tool_provider_outcomes_resource_consumer_id', $consumer_id)
->propertyCondition('lti_tool_provider_outcomes_resource_context_id', $context_id)
->propertyCondition('lti_tool_provider_outcomes_resource_resource_link_id', $resource_link_id);
$result = $query
->execute();
if (count(lti_tool_provider_outcomes_datatype_array($result_value_sourcedids)) == 1) {
$result_value_sourcedids = lti_tool_provider_outcomes_default_resultvalue_sourcedids();
}
if (isset($result['lti_tool_provider_outcomes_resource'])) {
// Record exists.
$resources = array_keys($result['lti_tool_provider_outcomes_resource']);
return reset($resources);
}
else {
$entity = new stdClass();
$entity->lti_tool_provider_outcomes_resource_id = 0;
$entity->lti_tool_provider_outcomes_resource_consumer_id = $consumer_id;
$entity->lti_tool_provider_outcomes_resource_context_id = $context_id;
$entity->lti_tool_provider_outcomes_resource_resource_link_title = $resource_title;
$entity->lti_tool_provider_outcomes_resource_resource_link_id = $resource_link_id;
$entity->lti_tool_provider_outcomes_resource_score_datatype_base_value = NULL;
$entity->lti_tool_provider_outcomes_resource_resultvalue_sourcedids = $result_value_sourcedids;
$entity = entity_get_controller('lti_tool_provider_outcomes_resource')
->save($entity);
return $entity->lti_tool_provider_outcomes_resource_id;
}
}