function globallink_entity_active_form in GlobalLink Connect for Drupal 7.6
Same name and namespace in other branches
- 7.5 globallink_entity/globallink_entity_active_submissions.inc \globallink_entity_active_form()
Builds form to show all active entity submissions.
1 string reference to 'globallink_entity_active_form'
- globallink_entity_active_submissions in globallink_entity/
globallink_entity_active_submissions.inc - Builds forms on entity active submissions dashboard.
File
- globallink_entity/
globallink_entity_active_submissions.inc, line 187
Code
function globallink_entity_active_form() {
$form = array();
$redirect_submission = isset($_GET['submission']) ? urldecode($_GET['submission']) : '';
$selected_value = '';
if (empty($redirect_submission) && !empty($_SESSION['globallink_entity_selected_submission'])) {
$selected_value = $_SESSION['globallink_entity_selected_submission'];
}
elseif (!empty($redirect_submission)) {
$options = globallink_entity_get_distinct_active_submission_names();
$selected_value = array_search($redirect_submission, $options);
}
if (!empty($_SESSION['transpefect_entity_active_type'])) {
$content_types = node_type_get_names();
$projects = globallink_get_pd_projects();
$page_count = TPT_PAGER_LIMIT;
if (isset($_SESSION['globallink_entity_active_page_count'])) {
$page_count = $_SESSION['globallink_entity_active_page_count'][0];
}
$header = array(
'submission' => array(
'field' => 'submission',
'data' => t('Submission Name'),
),
'type' => array(
'field' => 'type',
'data' => t('Content Type'),
),
'title' => array(
'field' => 'title',
'data' => t('Title'),
),
'project_code' => array(
'field' => 'project_code',
'data' => t('Project'),
),
'source_name' => array(
'field' => 'source_name',
'data' => t('Source Language'),
),
'target_name' => array(
'field' => 'target_name',
'data' => t('Target Language'),
),
'status' => array(
'field' => 'status',
'data' => t('Status'),
),
'timestamp' => array(
'field' => 'timestamp',
'data' => t('Last Updated'),
),
);
$query = db_select('globallink_core_entity', 'tc')
->extend('PagerDefault')
->limit($page_count)
->extend('TableSort')
->orderByHeader($header);
// Field to sort on is picked from $header
$query
->condition('status', array(
'Sent for Translations',
'Error',
'Cancelled',
), 'IN');
if ($selected_value != '') {
$query
->condition('submission_ticket', $selected_value, '=');
}
$query
->join('globallink_locale', 'tl1', 'tc.source = tl1.locale_code');
$query
->join('globallink_locale', 'tl2', 'tc.target = tl2.locale_code');
$query
->fields('tc');
$query
->addField('tl1', 'drupal_locale_desc', 'source_name');
$query
->addField('tl2', 'drupal_locale_desc', 'target_name');
$results = $query
->execute();
$count = 0;
$rows = array();
foreach ($results as $item) {
$count++;
$rows[$item->rid] = array(
'rid' => $item->rid,
'nid' => $item->nid,
'vid' => $item->vid,
'submission' => $item->submission,
'title' => l(globallink_format_display_string($item->title), 'node/' . $item->nid),
'project_code' => isset($projects[$item->project_code]) ? $projects[$item->project_code] : '',
'type' => isset($content_types[$item->type]) ? $content_types[$item->type] : '',
'status' => $item->status,
'timestamp' => format_date($item->timestamp, 'custom', 'Y-m-d H:i:s'),
'source_name' => $item->source_name,
'target_name' => $item->target_name,
);
}
$form['table'] = array(
'#type' => 'tableselect',
'#header' => $header,
'#options' => $rows,
'#empty' => t('No items available'),
);
$form['pager'] = array(
'#markup' => theme('pager'),
);
if ($count > 0) {
if (user_access(TPT_ROLE_MANAGE_TRANSLATIONS)) {
$form['submit_cancel_document'] = array(
'#type' => 'submit',
'#value' => t('Cancel Selected Documents'),
);
$form['submit_clear_cancelled_documents'] = array(
'#type' => 'submit',
'#value' => t('Clear Cancelled Documents'),
);
}
}
}
return $form;
}