cvs diff: Diffing modules/node Index: modules/node/node.module =================================================================== RCS file: /cvs/drupal/drupal/modules/node/node.module,v retrieving revision 1.819 diff -u -p -r1.819 node.module --- modules/node/node.module 23 May 2007 07:55:08 -0000 1.819 +++ modules/node/node.module 24 May 2007 22:01:58 -0000 @@ -2736,6 +2736,18 @@ function node_access($op, $node) { return FALSE; } + // Check nodeapi 'access' hook. + // This happens before the module's own hook so that nodeapi can perform + // overrides. + $access = node_invoke_nodeapi($node, 'access', $op); + // node_invoke_nodeapi drops NULLs; so if no nodeapi actually responded + // to this, we'll have an empty return value, which means nothing cares + // and we move on. + if (!empty($access) && is_array($access)) { + // If any values were true, return true; otherwise, return false. + return (bool) array_filter($access); + } + // Can't use node_invoke(), because the access hook takes the $op parameter // before the $node parameter. $module = node_get_types('module', $node);