Index: modules/node/node.module =================================================================== RCS file: /cvs/drupal/drupal/modules/node/node.module,v retrieving revision 1.947.2.11 diff -u -p -r1.947.2.11 node.module --- modules/node/node.module 25 Jun 2008 08:59:57 -0000 1.947.2.11 +++ modules/node/node.module 21 Nov 2008 11:50:15 -0000 @@ -643,14 +643,14 @@ function node_hook(&$node, $hook) { * @return * The returned value of the invoked hook. */ -function node_invoke(&$node, $hook, $a2 = NULL, $a3 = NULL, $a4 = NULL) { +function node_invoke(&$node, $hook, $a2 = NULL, $a3 = NULL, $a4 = NULL, &$form_state = NULL) { if (node_hook($node, $hook)) { $module = node_get_types('module', $node); if ($module == 'node') { $module = 'node_content'; // Avoid function name collisions. } $function = $module .'_'. $hook; - return ($function($node, $a2, $a3, $a4)); + return ($function($node, $a2, $a3, $a4, $form_state)); } } @@ -666,11 +666,11 @@ function node_invoke(&$node, $hook, $a2 * @return * The returned value of the invoked hooks. */ -function node_invoke_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) { +function node_invoke_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL, &$form_state = NULL) { $return = array(); foreach (module_implements('nodeapi') as $name) { $function = $name .'_nodeapi'; - $result = $function($node, $op, $a3, $a4); + $result = $function($node, $op, $a3, $a4, $form_state); if (isset($result) && is_array($result)) { $return = array_merge($return, $result); } @@ -774,7 +774,7 @@ function node_load($param = array(), $re /** * Perform validation checks on the given node. */ -function node_validate($node, $form = array()) { +function node_validate($node, $form = array(), &$form_state) { // Convert the node to an object, if necessary. $node = (object)$node; $type = node_get_types('type', $node); @@ -805,8 +805,8 @@ function node_validate($node, $form = ar } // Do node-type-specific validation checks. - node_invoke($node, 'validate', $form); - node_invoke_nodeapi($node, 'validate', $form); + node_invoke($node, 'validate', $form, NULL, NULL, $form_state); + node_invoke_nodeapi($node, 'validate', $form, NULL, $form_state); } /** Index: modules/node/node.pages.inc =================================================================== RCS file: /cvs/drupal/drupal/modules/node/node.pages.inc,v retrieving revision 1.28.2.3 diff -u -p -r1.28.2.3 node.pages.inc --- modules/node/node.pages.inc 10 Nov 2008 10:18:54 -0000 1.28.2.3 +++ modules/node/node.pages.inc 21 Nov 2008 11:50:15 -0000 @@ -62,7 +62,7 @@ function node_add($type) { } function node_form_validate($form, &$form_state) { - node_validate($form_state['values'], $form); + node_validate($form_state['values'], $form, $form_state); } function node_object_prepare(&$node) {