function NodeGrantDatabaseStorage::buildGrantsQueryCondition
Same name in other branches
- 9 core/modules/node/src/NodeGrantDatabaseStorage.php \Drupal\node\NodeGrantDatabaseStorage::buildGrantsQueryCondition()
- 8.9.x core/modules/node/src/NodeGrantDatabaseStorage.php \Drupal\node\NodeGrantDatabaseStorage::buildGrantsQueryCondition()
- 10 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 - NodeGrantDatabaseStorage::alterQuery in core/
modules/ node/ src/ NodeGrantDatabaseStorage.php - NodeGrantDatabaseStorage::checkAll in core/
modules/ node/ src/ NodeGrantDatabaseStorage.php
File
-
core/
modules/ node/ src/ NodeGrantDatabaseStorage.php, line 315
Class
- NodeGrantDatabaseStorage
- Defines a storage handler class that handles the node grants system.
Namespace
Drupal\nodeCode
protected function buildGrantsQueryCondition(array $node_access_grants) {
$grants = $this->database
->condition('OR');
foreach ($node_access_grants as $realm => $gids) {
if (!empty($gids)) {
$and = $this->database
->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.