83 lines
2.3 KiB
PHP
83 lines
2.3 KiB
PHP
<?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);
|
|
|
|
}
|