12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- <?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);
- }
|