function i18n_node_form_submit in Internationalization 7
Replacement for core's node_form_submit(), taking care of translating node type names.
1 string reference to 'i18n_node_form_submit'
- i18n_node_form_node_form_alter in i18n_node/
i18n_node.module - Implements hook_form_BASE_FORM_ID_alter().
File
- i18n_node/
i18n_node.module, line 486 - Internationalization (i18n) module - Node type handling
Code
function i18n_node_form_submit($form, &$form_state) {
$node = node_form_submit_build_node($form, $form_state);
$insert = empty($node->nid);
node_save($node);
$node_link = l(t('view'), 'node/' . $node->nid);
$type_name = i18n_node_type_name($node->type);
$watchdog_args = array(
'@type' => $node->type,
'%title' => $node->title,
);
$t_args = array(
'@type' => $type_name,
'%title' => $node->title,
);
if ($insert) {
watchdog('content', '@type: added %title.', $watchdog_args, WATCHDOG_NOTICE, $node_link);
drupal_set_message(t('@type %title has been created.', $t_args));
}
else {
watchdog('content', '@type: updated %title.', $watchdog_args, WATCHDOG_NOTICE, $node_link);
drupal_set_message(t('@type %title has been updated.', $t_args));
}
if ($node->nid) {
$form_state['values']['nid'] = $node->nid;
$form_state['nid'] = $node->nid;
$form_state['redirect'] = node_access('view', $node) ? 'node/' . $node->nid : '<front>';
}
else {
// In the unlikely case something went wrong on save, the node will be
// rebuilt and node form redisplayed the same way as in preview.
drupal_set_message(t('The post could not be saved.'), 'error');
$form_state['rebuild'] = TRUE;
}
// Clear the page and block caches.
cache_clear_all();
}