function NodeSelection::buildEntityQuery
Same name in other branches
- 8.9.x core/modules/node/src/Plugin/EntityReferenceSelection/NodeSelection.php \Drupal\node\Plugin\EntityReferenceSelection\NodeSelection::buildEntityQuery()
- 10 core/modules/node/src/Plugin/EntityReferenceSelection/NodeSelection.php \Drupal\node\Plugin\EntityReferenceSelection\NodeSelection::buildEntityQuery()
- 11.x core/modules/node/src/Plugin/EntityReferenceSelection/NodeSelection.php \Drupal\node\Plugin\EntityReferenceSelection\NodeSelection::buildEntityQuery()
Overrides DefaultSelection::buildEntityQuery
File
-
core/
modules/ node/ src/ Plugin/ EntityReferenceSelection/ NodeSelection.php, line 24
Class
- NodeSelection
- Provides specific access control for the node entity type.
Namespace
Drupal\node\Plugin\EntityReferenceSelectionCode
protected function buildEntityQuery($match = NULL, $match_operator = 'CONTAINS') {
$query = parent::buildEntityQuery($match, $match_operator);
// Adding the 'node_access' tag is sadly insufficient for nodes: core
// requires us to also know about the concept of 'published' and
// 'unpublished'. We need to do that as long as there are no access control
// modules in use on the site. As long as one access control module is there,
// it is supposed to handle this check.
if (!$this->currentUser
->hasPermission('bypass node access') && !$this->moduleHandler
->hasImplementations('node_grants')) {
$query->condition('status', NodeInterface::PUBLISHED);
}
return $query;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.