function node_access_view_all_nodes

7.x node.module node_access_view_all_nodes($account = NULL)
6.x node.module node_access_view_all_nodes()

Determine whether the user has a global viewing grant for all nodes.

Related topics

1 call to node_access_view_all_nodes()
node_db_rewrite_sql in drupal-6.x/modules/node/node.module
Implementation of hook_db_rewrite_sql

File

drupal-6.x/modules/node/node.module, line 2169
The core that allows content to be submitted to the site. Modules and scripts may programmatically submit nodes using the usual form API pattern.

Code

function node_access_view_all_nodes() {
  static $access;

  if (!isset($access)) {
    $grants = array();
    foreach (node_access_grants('view') as $realm => $gids) {
      foreach ($gids as $gid) {
        $grants[] = "(gid = $gid AND realm = '$realm')";
      }
    }

    $grants_sql = '';
    if (count($grants)) {
      $grants_sql = 'AND (' . implode(' OR ', $grants) . ')';
    }

    $sql = "SELECT COUNT(*) FROM {node_access} WHERE nid = 0 $grants_sql AND grant_view >= 1";
    $result = db_query($sql);
    $access = db_result($result);
  }

  return $access;
}