You are here

function visual_select_file_query_views_visual_select_file_alter in Visual select file 7

Implements hook_query_TAG_alter() for views_visual_select_file.

File

./visual_select_file.module, line 322

Code

function visual_select_file_query_views_visual_select_file_alter(QueryAlterableInterface $query) {
  if (isset($_GET['vsf_field'])) {
    list($entity_type, $bundle, $field) = explode('.', $_GET['vsf_field'] . '..');
    if ($entity_type && $bundle && $field) {
      $field_info = field_info_instance($entity_type, $field, $bundle);
      if ($field_info && !empty($field_info['settings']['file_extensions'])) {
        $extensions = explode(' ', $field_info['settings']['file_extensions']);
        $or = db_or();
        foreach ($extensions as $extension) {
          $or
            ->condition('file_managed.uri', '%.' . db_like($extension), 'LIKE');
        }
        $query
          ->condition($or);
      }
    }
  }
}