function node_node_access

Implements hook_node_access().

Related topics

File

drupal/core/modules/node/node.module, line 2819
The core module that allows content to be submitted to the site.

Code

function node_node_access($node, $op, $account) {
  $type = is_string($node) ? $node : $node->type;
  $configured_types = node_permissions_get_configured_types();
  if (isset($configured_types[$type])) {
    if ($op == 'create' && user_access('create ' . $type . ' content', $account)) {
      return NODE_ACCESS_ALLOW;
    }
    if ($op == 'update') {
      if (user_access('edit any ' . $type . ' content', $account) || user_access('edit own ' . $type . ' content', $account) && $account->uid == $node->uid) {
        return NODE_ACCESS_ALLOW;
      }
    }
    if ($op == 'delete') {
      if (user_access('delete any ' . $type . ' content', $account) || user_access('delete own ' . $type . ' content', $account) && $account->uid == $node->uid) {
        return NODE_ACCESS_ALLOW;
      }
    }
  }
  return NODE_ACCESS_IGNORE;
}