Index: drupal/modules/node/node.module =================================================================== RCS file: /cvs/drupal/drupal/modules/node/node.module,v retrieving revision 1.783 diff -u -p -r1.783 node.module --- drupal/modules/node/node.module 15 Feb 2007 11:40:18 -0000 1.783 +++ drupal/modules/node/node.module 24 Feb 2007 04:26:31 -0000 @@ -2648,6 +2648,18 @@ function node_access($op, $node) { return $access; } + // Now allow other modules to have their say on access to this node + $results = node_invoke_nodeapi($node, 'access', $op); + // The first module that actually returns a value takes precidence over + // all the others. + foreach ($results as $access) { + // node_invoke_nodeapi shouldn't even put NULL in it's results, but + // we should check because it's pretty important to get this right + if (!is_null($access)) { + return $access; + } + } + // If the module did not override the access rights, use those set in the // node_access table. if ($op != 'create' && $node->nid && $node->status) {