function lti_tool_provider_outcomes_outcomes_manage_form in LTI Tool Provider 7
Form function for managing outcomes.
Parameters
array $form: The form.
array $form_state: The form state.
string $resource: A Resource.
Return value
array The outcomes manage form array.
1 string reference to 'lti_tool_provider_outcomes_outcomes_manage_form'
- lti_tool_provider_outcomes_menu in lti_tool_provider_outcomes/
lti_tool_provider_outcomes.module - Implements hook_menu().
File
- lti_tool_provider_outcomes/
lti_tool_provider_outcomes.admin.inc, line 285 - Admin forms and menu page callbacks for LTI Tool Provider module.
Code
function lti_tool_provider_outcomes_outcomes_manage_form($form, &$form_state, $resource = NULL) {
$form = array();
if (isset($_SESSION['lti_tool_provider_context_info'])) {
$consumer_id = $_SESSION['lti_tool_provider_context_info']['consumer_id'];
$context_id = $_SESSION['lti_tool_provider_context_info']['context_id'];
$resource_link_id = $_SESSION['lti_tool_provider_context_info']['resource_link_id'];
$consumer = lti_tool_provider_consumer_load($consumer_id);
if (!isset($resource)) {
$resource = lti_tool_provider_outcomes_get_resource($consumer_id, $context_id, $resource_link_id);
}
$query = db_select('lti_tool_provider_outcomes', 'o')
->extend('PagerDefault');
$query
->fields('o');
$result = $query
->limit(15)
->condition('lti_tool_provider_outcomes_resource_entity_id_fk', $resource->lti_tool_provider_outcomes_resource_id, '=')
->execute();
$form['title'] = array(
'#type' => 'item',
'#markup' => t('Consumer: <b>@consumer</b>', array(
'@consumer' => $consumer->lti_tool_provider_consumer_consumer,
)),
);
$form['resource_title'] = array(
'#type' => 'item',
'#markup' => t('Outcomes record for resource : <b>@resource</b>', array(
'@resource' => $_SESSION['lti_tool_provider_context_info']['resource_link_title'],
)),
);
$outcomes = array();
$form['resource'] = array(
'#type' => 'value',
'#value' => $resource,
);
$form['table'] = array(
'#tree' => TRUE,
'#theme' => 'table',
'#rows' => array(),
'#header' => array(
t('No'),
t('Username'),
t('Current Score'),
t('Date Joined'),
t('Last sent'),
t('Score Last updated'),
),
'#empty' => t('No records found.'),
);
$page = isset($_GET['page']) ? $_GET['page'] * 15 : 0;
$rows = 1;
$table_row_counter = 0;
$rows_arr = array();
foreach ($result as $outcome) {
$no = array(
'#type' => 'item',
'#markup' => $rows + $page,
);
$username = array(
'#type' => 'item',
'#markup' => l(lti_tool_provider_outcomes_get_username($outcome->lti_tool_provider_outcomes_user_id), 'user/' . $outcome->lti_tool_provider_outcomes_user_id),
);
$score_arr = lti_tool_provider_outcomes_create_score_form_params($resource->lti_tool_provider_outcomes_resource_score_datatype, $resource->lti_tool_provider_outcomes_resource_score_datatype_base_value, $outcome);
$date_joined = array(
'#type' => 'item',
'#markup' => '<div style=" white-space:normal;">' . format_date($outcome->lti_tool_provider_outcomes_date_joined) . "</div>",
);
$last_sent = array(
'#type' => 'item',
'#markup' => '<div style=" white-space:normal;">' . (isset($outcome->lti_tool_provider_outcomes_timestamp) ? format_date($outcome->lti_tool_provider_outcomes_timestamp) : 'Score yet to be sent') . "</div>",
);
$last_updated = array(
'#type' => 'item',
'#markup' => '<div style=" white-space:normal;">' . (isset($outcome->lti_tool_provider_outcomes_last_updated) ? format_date($outcome->lti_tool_provider_outcomes_last_updated) : 'Yet to be updated') . "</div>",
);
$form['table'][] = array(
'no' => &$no,
'username' => &$username,
'score' => &$score_arr,
'date_joined' => &$date_joined,
'last_sent' => &$last_sent,
'last_updated' => &$last_updated,
);
$form['table']['#rows'][] = array(
array(
'data' => &$no,
),
array(
'data' => &$username,
),
array(
'data' => &$score_arr,
"width" => '100px',
),
array(
'data' => &$date_joined,
),
array(
'data' => &$last_sent,
),
array(
'data' => &$last_updated,
),
);
unset($no);
unset($username);
unset($score_arr);
unset($date_joined);
unset($last_sent);
unset($last_updated);
$rows++;
$outcomes[] = $outcome;
}
$form['outcomes'] = array(
'#type' => 'value',
'#value' => $outcomes,
);
$form['table_pager'] = array(
'#theme' => 'pager',
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#submit' => array(
'lti_tool_provider_outcomes_outcomes_manage_form_submit',
),
);
$form['back'] = array(
'#type' => 'button',
'#value' => t('Cancel'),
'#executes_submit_callback' => TRUE,
'#submit' => array(
'lti_tool_provider_outcomes_outcomes_manage_form_cancel',
),
);
}
else {
$form['message'] = array(
'#type' => 'item',
'#markup' => t('<b> This is not a valid LTI session</b>'),
);
}
return $form;
}