function node_access_test_node_access

Same name and namespace in other branches
  1. 9 core/modules/node/tests/modules/node_access_test/node_access_test.module \node_access_test_node_access()
  2. 8.9.x core/modules/node/tests/modules/node_access_test/node_access_test.module \node_access_test_node_access()
  3. 10 core/modules/node/tests/modules/node_access_test/node_access_test.module \node_access_test_node_access()

Implements hook_ENTITY_TYPE_access().

File

core/modules/node/tests/modules/node_access_test/node_access_test.module, line 149

Code

function node_access_test_node_access(NodeInterface $node, $operation, AccountInterface $account) {
    $secret_catalan = \Drupal::state()->get('node_access_test_secret_catalan') ?: 0;
    if ($secret_catalan && $node->language()
        ->getId() == 'ca') {
        // Make all Catalan content secret.
        return AccessResult::forbidden()->setCacheMaxAge(0);
    }
    // Grant access if a specific user is specified.
    if (\Drupal::state()->get('node_access_test.allow_uid') === $account->id()) {
        return AccessResult::allowed();
    }
    // No opinion.
    return AccessResult::neutral()->setCacheMaxAge(0);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.