| 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;}
 |