Mercurial > hg > isophonics-drupal-site
view core/modules/node/src/NodeAccessControlHandlerInterface.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children |
line wrap: on
line source
<?php namespace Drupal\node; use Drupal\Core\Session\AccountInterface; /** * Node specific entity access control methods. * * @ingroup node_access */ interface NodeAccessControlHandlerInterface { /** * 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. * * @param \Drupal\node\NodeInterface $node * The $node to acquire grants for. * * @return array * The access rules for the node. */ public function acquireGrants(NodeInterface $node); /** * Writes a list of grants to the database, deleting any previously saved ones. * * Modules that use node access can use this function when doing mass updates * due to widespread permission changes. * * Note: Don't call this function directly from a contributed module. Call * \Drupal\node\NodeAccessControlHandlerInterface::acquireGrants() instead. * * @param \Drupal\node\NodeInterface $node * The node whose grants are being written. * @param $delete * (optional) If false, does not delete records. This is only for optimization * purposes, and assumes the caller has already performed a mass delete of * some form. Defaults to TRUE. * * @deprecated in Drupal 8.x, will be removed before Drupal 9.0. * Use \Drupal\node\NodeAccessControlHandlerInterface::acquireGrants(). */ public function writeGrants(NodeInterface $node, $delete = TRUE); /** * Creates the default node access grant entry on the grant storage. */ public function writeDefaultGrant(); /** * Deletes all node access entries. */ public function deleteGrants(); /** * Counts available node grants. * * @return int * Returns the amount of node grants. */ public function countGrants(); /** * Checks all grants for a given account. * * @param \Drupal\Core\Session\AccountInterface $account * A user object representing the user for whom the operation is to be * performed. * * @return int * Status of the access check. */ public function checkAllGrants(AccountInterface $account); }