function translation_overview_node_form in Translation Overview 6.2
Overview page for a node's translations.
Based on the translation.module's translation_node_overview().
Parameters
$node: Node object.
1 string reference to 'translation_overview_node_form'
File
- ./
translation_overview.pages.inc, line 17
Code
function translation_overview_node_form(&$form_state, $node) {
if ($node->tnid) {
// Already part of a set, grab that set.
$tnid = $node->tnid;
$translations = translation_node_get_translations($node->tnid);
}
else {
// We have no translation source nid, this could be a new set, emulate that.
$tnid = $node->nid;
$translations = array(
$node->language => $node,
);
}
$priorities = translation_overview_get_node_priority($node);
$form['languages']['#tree'] = TRUE;
foreach (language_list() as $lang_code => $language) {
// Skip over any disabled languages.
if (!$language->enabled) {
continue;
}
$form['languages'][$lang_code]['priority'] = array(
'#type' => 'radios',
'#default_value' => $priorities[$lang_code],
'#options' => array(
TRANSLATION_OVERVIEW_HIGH => t('High'),
TRANSLATION_OVERVIEW_NORMAL => t('Normal'),
TRANSLATION_OVERVIEW_IGNORE => t('Ignore'),
),
// If there's no manager role then everyone gets a chance. Otherwise
// check that they're a manager for this language.
'#access' => translation_overview_is_manager($lang_code),
);
if (isset($translations[$lang_code])) {
// Existing translation in the translation set: display status.
// We load the full node to check whether the user can edit it.
$translation_node = node_load($translations[$lang_code]->nid);
if ($translation_node->nid == $tnid) {
// Original shouldn't have a priority.
$form['languages'][$lang_code]['priority']['#access'] = FALSE;
$form['languages'][$lang_code]['language'] = array(
'#value' => '<strong>' . $language->name . '</strong> (source)',
);
}
else {
$form['languages'][$lang_code]['language'] = array(
'#value' => $language->name,
);
}
$form['languages'][$lang_code]['title'] = array(
'#value' => l($translation_node->title, 'node/' . $translation_node->nid),
);
$form['languages'][$lang_code]['status'] = array(
'#value' => translation_overview_translation_link($node, $translation_node, $lang_code, TRUE),
);
}
else {
// No such translation in the set yet: help user to create it.
$form['languages'][$lang_code]['language'] = array(
'#value' => $language->name,
);
$form['languages'][$lang_code]['title'] = array(
'#value' => t('n/a'),
);
$form['languages'][$lang_code]['status'] = array(
'#value' => translation_overview_translation_link($node, NULL, $lang_code, TRUE),
);
}
}
$form['tnid'] = array(
'#type' => 'value',
'#value' => $tnid,
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Submit'),
);
return $form;
}