You are here

function views_natural_sort_text_field_views_natural_sort_queue_rebuild_data_count in Views Natural Sort 7.2

Implements hook_views_natural_sort_queue_rebuild_data_count().

File

./views_natural_sort_text_field.module, line 141
The Views Natural Sort Text Field module file.

Code

function views_natural_sort_text_field_views_natural_sort_queue_rebuild_data_count($entry_type) {
  if (!in_array($entry_type, views_natural_sort_text_field_views_natural_sort_get_entry_types())) {
    return array();
  }
  $field = field_info_field($entry_type['field']);
  $bundles = array();
  if (isset($field['bundles'][$entry_type['entity_type']])) {
    foreach ($field['bundles'][$entry_type['entity_type']] as $key => $bundle) {
      $bundles[] = $bundle;
    }
  }
  $entity_info = entity_get_info($entry_type['entity_type']);
  $query = db_select($entity_info['base table'], 'e')
    ->fields('e', array(
    $entity_info['entity keys']['id'],
  ))
    ->condition('e.' . $entity_info['bundle keys']['bundle'], $bundles, 'IN');
  $query
    ->join('field_data_' . $entry_type['field'], 'f', 'f.entity_type = :entity_type AND f.deleted = 0 AND f.entity_id = e.' . $entity_info['entity keys']['id'], array(
    'entity_type' => $entry_type['entity_type'],
  ));
  return $query
    ->execute()
    ->rowCount();
}