123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- <?php
- /**
- * @file
- * Helper module for testing EntityFieldQuery access on any type of entity.
- */
- /**
- * Implements hook_menu().
- */
- function entity_query_access_test_menu() {
- $items['entity-query-access/test/%'] = array(
- 'title' => "Retrieve a sample of entity query access data",
- 'page callback' => 'entity_query_access_test_sample_query',
- 'page arguments' => array(2),
- 'access callback' => TRUE,
- 'type' => MENU_CALLBACK,
- );
- return $items;
- }
- /**
- * Returns the results from an example EntityFieldQuery.
- */
- function entity_query_access_test_sample_query($field_name) {
- global $user;
- // Simulate user does not have access to view all nodes.
- $access = &drupal_static('node_access_view_all_nodes');
- $access[$user->uid] = FALSE;
- $query = new EntityFieldQuery();
- $query
- ->entityCondition('entity_type', 'test_entity_bundle_key')
- ->fieldCondition($field_name, 'value', 0, '>')
- ->entityOrderBy('entity_id', 'ASC');
- $results = array(
- 'items' => array(),
- 'title' => t('EntityFieldQuery results'),
- );
- foreach ($query->execute() as $entity_type => $entity_ids) {
- foreach ($entity_ids as $entity_id => $entity_stub) {
- $results['items'][] = format_string('Found entity of type @entity_type with id @entity_id', array('@entity_type' => $entity_type, '@entity_id' => $entity_id));
- }
- }
- if (count($results['items']) > 0) {
- $output = theme('item_list', $results);
- }
- else {
- $output = 'No results found with EntityFieldQuery.';
- }
- return $output;
- }
|