function node_object_prepare in Drupal 7
Same name and namespace in other branches
- 4 modules/node.module \node_object_prepare()
- 5 modules/node/node.module \node_object_prepare()
- 6 modules/node/node.pages.inc \node_object_prepare()
Prepares a node object for editing.
Fills in a few default values, and then invokes hook_prepare() on the node type module, and hook_node_prepare() on all modules.
Parameters
$node: A node object.
1 call to node_object_prepare()
- node_form in modules/
node/ node.pages.inc - Form constructor for the node add/edit form.
File
- modules/
node/ node.module, line 979 - The core that allows content to be submitted to the site. Modules and scripts may programmatically submit nodes using the usual form API pattern.
Code
function node_object_prepare($node) {
// Set up default values, if required.
$node_options = variable_get('node_options_' . $node->type, array(
'status',
'promote',
));
// If this is a new node, fill in the default values.
if (!isset($node->nid) || isset($node->is_new)) {
foreach (array(
'status',
'promote',
'sticky',
) as $key) {
// Multistep node forms might have filled in something already.
if (!isset($node->{$key})) {
$node->{$key} = (int) in_array($key, $node_options);
}
}
global $user;
$node->uid = $user->uid;
$node->created = REQUEST_TIME;
}
else {
$node->date = format_date($node->created, 'custom', 'Y-m-d H:i:s O');
// Remove the log message from the original node object.
$node->log = NULL;
}
// Always use the default revision setting.
$node->revision = in_array('revision', $node_options);
node_invoke($node, 'prepare');
module_invoke_all('node_prepare', $node);
}