function NodeGrantDatabaseStorage::buildGrantsQueryCondition
Same name in other branches
- 9 core/modules/node/src/NodeGrantDatabaseStorage.php \Drupal\node\NodeGrantDatabaseStorage::buildGrantsQueryCondition()
- 10 core/modules/node/src/NodeGrantDatabaseStorage.php \Drupal\node\NodeGrantDatabaseStorage::buildGrantsQueryCondition()
- 11.x core/modules/node/src/NodeGrantDatabaseStorage.php \Drupal\node\NodeGrantDatabaseStorage::buildGrantsQueryCondition()
Creates a query condition from an array of node access grants.
Parameters
array $node_access_grants: An array of grants, as returned by node_access_grants().
Return value
\Drupal\Core\Database\Query\Condition A condition object to be passed to $query->condition().
See also
3 calls to NodeGrantDatabaseStorage::buildGrantsQueryCondition()
- NodeGrantDatabaseStorage::access in core/
modules/ node/ src/ NodeGrantDatabaseStorage.php - Determines access to nodes based on node grants.
- NodeGrantDatabaseStorage::alterQuery in core/
modules/ node/ src/ NodeGrantDatabaseStorage.php - Alters a query when node access is required.
- NodeGrantDatabaseStorage::checkAll in core/
modules/ node/ src/ NodeGrantDatabaseStorage.php - Checks all grants for a given account.
File
-
core/
modules/ node/ src/ NodeGrantDatabaseStorage.php, line 297
Class
- NodeGrantDatabaseStorage
- Defines a storage handler class that handles the node grants system.
Namespace
Drupal\nodeCode
protected static function buildGrantsQueryCondition(array $node_access_grants) {
$grants = new Condition("OR");
foreach ($node_access_grants as $realm => $gids) {
if (!empty($gids)) {
$and = new Condition('AND');
$grants->condition($and->condition('gid', $gids, 'IN')
->condition('realm', $realm));
}
}
return $grants;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.