diff --git a/modules/node/node.module b/modules/node/node.module index c26817b27279758e82f0a4e4812c56e6b0e3e916..bd99ccc4273518398cc91744680eab8b18974d30 100644 --- a/modules/node/node.module +++ b/modules/node/node.module @@ -622,7 +622,7 @@ function _node_types_build() { if (is_object($_node_types)) { return $_node_types; } - $_node_types = (object) array('types' => array(), 'names' => array()); + $_node_types = (object)array('types' => array(), 'names' => array()); $info_array = module_invoke_all('node_info'); foreach ($info_array as $type => $info) { @@ -713,7 +713,7 @@ function node_type_set_defaults($info = array()) { * Determine whether a node hook exists. * * @param $node - * Either a node object, node array, or a string containing the node type. + * A node object or a string containing the node type. * @param $hook * A string containing the name of the hook. * @return @@ -728,7 +728,7 @@ function node_hook($node, $hook) { * Invoke a node hook. * * @param $node - * Either a node object, node array, or a string containing the node type. + * A node object or a string containing the node type. * @param $hook * A string containing the name of the hook. * @param $a2, $a3, $a4 @@ -791,8 +791,6 @@ function node_load($nid = NULL, $vid = NULL, $reset = FALSE) { * Perform validation checks on the given node. */ function node_validate($node, $form = array()) { - // Convert the node to an object, if necessary. - $node = (object)$node; $type = node_type_get_type($node); if (isset($node->nid) && (node_last_changed($node->nid) > $node->changed)) { @@ -825,9 +823,6 @@ function node_validate($node, $form = array()) { function node_submit($node) { global $user; - // Convert the node to an object, if necessary. - $node = (object)$node; - if (user_access('administer nodes')) { // Populate the "authored by" field. if ($account = user_load_by_name($node->name)) { @@ -1040,7 +1035,7 @@ function node_revision_delete($revision_id) { * Generate an array for rendering the given node. * * @param $node - * A node array or node object. + * A node object. * @param $build_mode * Build mode, e.g. 'full', 'teaser'... * @@ -1048,8 +1043,6 @@ function node_revision_delete($revision_id) { * An array as expected by drupal_render(). */ function node_build($node, $build_mode = 'full') { - $node = (object)$node; - // Populate $node->content with a render() array. node_build_content($node, $build_mode); @@ -2215,8 +2208,8 @@ function node_search_validate($form, &$form_state) { * - "delete" * - "create" * @param $node - * The node object (or node array) on which the operation is to be performed, - * or node type (e.g. 'forum') for "create" operation. + * The node object on which the operation is to be performed, or node type + * (e.g. 'forum') for "create" operation. * @param $account * Optional, a user object representing the user for whom the operation is to * be performed. Determines access for a user other than the current user. @@ -2231,10 +2224,6 @@ function node_access($op, $node, $account = NULL) { // supported ones, we return access denied. return FALSE; } - // Convert the node to an object if necessary: - if ($op != 'create') { - $node = (object)$node; - } // If no user object is supplied, the access check is for the current user. if (empty($account)) { $account = $user; diff --git a/modules/node/node.pages.inc b/modules/node/node.pages.inc index 969cc357a36cc60e2363de174bf9f6f891cfd964..60804ff45ff355d26a17ab38a511f7dc5759cefe 100644 --- a/modules/node/node.pages.inc +++ b/modules/node/node.pages.inc @@ -61,7 +61,7 @@ function node_add($type) { // If a node type has been specified, validate its existence. if (isset($types[$type]) && node_access('create', $type)) { // Initialize settings: - $node = array('uid' => $user->uid, 'name' => (isset($user->name) ? $user->name : ''), 'type' => $type, 'language' => ''); + $node = (object)array('uid' => $user->uid, 'name' => (isset($user->name) ? $user->name : ''), 'type' => $type, 'language' => ''); drupal_set_title(t('Create @name', array('@name' => $types[$type]->name)), PASS_THROUGH); $output = drupal_get_form($type . '_node_form', $node); @@ -71,12 +71,11 @@ function node_add($type) { } function node_form_validate($form, &$form_state) { - $node = $form_state['values']; + $node = (object)$form_state['values']; node_validate($node, $form); // Field validation. Requires access to $form_state, so this cannot be // done in node_validate() as it currently exists. - $node = (object)$node; field_attach_form_validate('node', $node, $form, $form_state); } @@ -111,12 +110,11 @@ function node_form($form, &$form_state, $node) { global $user; if (isset($form_state['node'])) { - $node = $form_state['node'] + (array)$node; + $node = (object)($form_state['node'] + (array)$node); } if (isset($form_state['node_preview'])) { $form['#prefix'] = $form_state['node_preview']; } - $node = (object)$node; foreach (array('title') as $key) { if (!isset($node->$key)) { $node->$key = NULL; @@ -441,7 +439,7 @@ function node_form_submit_build_node($form, &$form_state) { // functions to process the form values into an updated node. unset($form_state['submit_handlers']); form_execute_handlers('submit', $form, $form_state); - $node = node_submit($form_state['values']); + $node = node_submit((object)$form_state['values']); field_attach_submit('node', $node, $form, $form_state);