function node_access_entity_test_page

Page callback: Creates the node access entity test page.

Page should say "No nodes" if there are no nodes, and "Yes, # nodes" (with the number filled in) if there were nodes the user could access. Also, the database query is shown, and a list of the node IDs, for debugging purposes. And if there is a query exception, the page says "Exception" and gives the error.

See also

node_access_test_menu()

2 string references to 'node_access_entity_test_page'
NodeEntityFieldQueryAlterTest::testNodeQueryAlterWithUI in drupal/core/modules/node/lib/Drupal/node/Tests/NodeEntityFieldQueryAlterTest.php
Tests that node access permissions are followed.
node_access_test_menu in drupal/core/modules/node/tests/modules/node_access_test/node_access_test.module
Implements hook_menu().

File

drupal/core/modules/node/tests/modules/node_access_test/node_access_test.module, line 154
A dummy module implementing node access related hooks for testing purposes.

Code

function node_access_entity_test_page() {
  $output = '';
  try {
    $result = Drupal::entityQuery('node')
      ->condition('body.value', 'A', 'STARTS_WITH')
      ->execute();
    if (!empty($result)) {
      $output .= '<p>Yes, ' . count($result) . ' nodes</p>';
      $output .= '<ul>';
      foreach ($result as $nid) {
        $output .= '<li>' . $nid . '</li>';
      }
      $output .= '</ul>';
    }
    else {
      $output .= '<p>No nodes</p>';
    }
  } catch (Exception $e) {
    $output = '<p>Exception</p>';
    $output .= '<p>' . $e
      ->getMessage() . '</p>';
  }
  return $output;
}