function node_form_submit in Drupal 7
Same name and namespace in other branches
- 4 modules/node.module \node_form_submit()
- 5 modules/node/node.module \node_form_submit()
- 6 modules/node/node.pages.inc \node_form_submit()
Form submission handler for node_form().
See also
1 string reference to 'node_form_submit'
- node_form in modules/
node/ node.pages.inc - Form constructor for the node add/edit form.
File
- modules/
node/ node.pages.inc, line 456 - Page callbacks for adding, editing, deleting, and revisions management for content.
Code
function 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);
$watchdog_args = array(
'@type' => $node->type,
'%title' => $node->title,
);
$t_args = array(
'@type' => node_type_get_name($node),
'%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();
}