diff -u b/core/modules/node/lib/Drupal/node/NodeGrantDatabaseStorage.php b/core/modules/node/lib/Drupal/node/NodeGrantDatabaseStorage.php --- b/core/modules/node/lib/Drupal/node/NodeGrantDatabaseStorage.php +++ b/core/modules/node/lib/Drupal/node/NodeGrantDatabaseStorage.php @@ -80,7 +80,7 @@ $query->condition($nids); $query->range(0, 1); - $grants = static::addGrantsToQuery(node_access_grants($operation, $account)); + $grants = static::buildGrantsQueryCondition(node_access_grants($operation, $account)); if (count($grants) > 0) { $query->condition($grants); @@ -99,7 +99,7 @@ ->condition('nid', 0) ->condition('grant_view', 1, '>='); - $grants = static::addGrantsToQuery(node_access_grants('view', $account)); + $grants = static::buildGrantsQueryCondition(node_access_grants('view', $account)); if (count($grants) > 0 ) { $query->condition($grants); @@ -128,7 +128,7 @@ // If any grant exists for the specified user, then user has access to the // node for the specified operation. - $grant_conditions = static::addGrantsToQuery($grants); + $grant_conditions = static::buildGrantsQueryCondition($grants); // Attach conditions to the subquery for nodes. if (count($grant_conditions->conditions())) { @@ -244,14 +244,16 @@ } /** - * Helper function to add node access grants to a query. + * Creates a query condition from an array of node access grants. * - * @param $node_access_grants - * An array of grants, matching the return value of node_access_grants. + * @param array $node_access_grants + * An array of grants, as returned by node_access_grants(). * @return \Drupal\Core\Database\Query\Condition - * A condition object to be passed to $query->condition. + * A condition object to be passed to $query->condition(). + * + * @see node_access_grants() */ - static function addGrantsToQuery(array $node_access_grants) { + static function buildGrantsQueryCondition(array $node_access_grants) { $grants = new Condition("OR"); foreach ($node_access_grants as $realm => $gids) { if (!empty($gids)) {