node_object_prepare

5 node.module node_object_prepare(&$node)
6 node.pages.inc node_object_prepare(&$node)
7 node.module node_object_prepare($node)
8 node.module node_object_prepare(Node $node)

Prepares a node entity 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

Drupal\node\Node $node: The node entity.

1 call to node_object_prepare()

File

core/modules/node/node.module, line 961
The core module that allows content to be submitted to the site.

Code

function node_object_prepare(Node $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 entity.
    $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);
}
Login or register to post comments