public function NodeAccessControlHandler::acquireGrants in Drupal 9
Same name and namespace in other branches
- 8 core/modules/node/src/NodeAccessControlHandler.php \Drupal\node\NodeAccessControlHandler::acquireGrants()
Gets the list of node access grants.
This function is called to check the access grants for a node. It collects all node access grants for the node from hook_node_access_records() implementations, allows these grants to be altered via hook_node_access_records_alter() implementations, and returns the grants to the caller.
Parameters
\Drupal\node\NodeInterface $node: The $node to acquire grants for.
Return value
array The access rules for the node.
Overrides NodeAccessControlHandlerInterface::acquireGrants
File
- core/
modules/ node/ src/ NodeAccessControlHandler.php, line 158
Class
- NodeAccessControlHandler
- Defines the access control handler for the node entity type.
Namespace
Drupal\nodeCode
public function acquireGrants(NodeInterface $node) {
$grants = $this->moduleHandler
->invokeAll('node_access_records', [
$node,
]);
// Let modules alter the grants.
$this->moduleHandler
->alter('node_access_records', $grants, $node);
// If no grants are set and the node is published, then use the default grant.
if (empty($grants) && $node
->isPublished()) {
$grants[] = [
'realm' => 'all',
'gid' => 0,
'grant_view' => 1,
'grant_update' => 0,
'grant_delete' => 0,
];
}
return $grants;
}