function tmgmt_i18n_string_form_i18n_string_translate_page_overview_form_alter in Translation Management Tool 7
Implements hook_form_ID_alter().
Adds request translation capabilities into i18n translate tab.
File
- sources/
i18n_string/ tmgmt_i18n_string.module, line 112 - Source plugin for the Translation Management system that handles i18n strings.
Code
function tmgmt_i18n_string_form_i18n_string_translate_page_overview_form_alter(&$form, &$form_state) {
$object = $form['object']['#value'];
// Create the id: textgroup:type:objectid.
$id = $object
->get_textgroup() . ':' . implode(':', $object
->get_string_context());
$source_language = variable_get_value('i18n_string_source_language');
$existing_items = tmgmt_job_item_load_latest('i18n_string', $object
->get_type(), $id, $source_language);
$form['top_actions']['#type'] = 'actions';
$form['top_actions']['#weight'] = -10;
tmgmt_ui_add_cart_form($form['top_actions'], $form_state, 'i18n_string', $object
->get_type(), $id);
$form['languages']['#type'] = 'tableselect';
// Append lang code so that we can use it
foreach ($form['languages']['#rows'] as $lang => $row) {
if (isset($existing_items[$lang])) {
$states = tmgmt_job_item_states();
$row['status'] = $states[$existing_items[$lang]->state];
if ($existing_items[$lang]
->isNeedsReview()) {
$row['operations'] .= ' | ' . l(t('review'), 'admin/tmgmt/items/' . $existing_items[$lang]->tjiid, array(
'query' => array(
'destination' => $_GET['q'],
),
));
}
elseif ($existing_items[$lang]
->isActive()) {
$row['operations'] .= ' | ' . l(t('in progress'), 'admin/tmgmt/items/' . $existing_items[$lang]->tjiid, array(
'query' => array(
'destination' => $_GET['q'],
),
));
}
}
$form['languages']['#options'][$id . ':' . $lang] = $row;
if ($lang == $source_language || isset($existing_items[$lang])) {
$form['languages'][$id . ':' . $lang] = array(
'#type' => 'checkbox',
'#disabled' => TRUE,
);
}
}
unset($form['languages']['#rows'], $form['languages']['#theme']);
$form['actions']['request_translation'] = array(
'#type' => 'submit',
'#value' => t('Request translation'),
'#submit' => array(
'tmgmt_i18n_string_translate_form_submit',
),
'#validate' => array(
'tmgmt_i18n_string_translate_form_validate',
),
);
}