--- modules/node/node.module.orig 2007-02-24 01:28:14.000000000 +0000 +++ modules/node/node.module 2007-02-24 03:57:00.000000000 +0000 @@ -2667,6 +2667,18 @@ function node_access($op, $node = NULL) 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) {