From e850b79193268ada18cc1480da31fb1116947349 Mon Sep 17 00:00:00 2001
From: solotandem <jim@boombatower.com>
Date: Fri, 19 Aug 2011 08:54:31 -0500
Subject: [PATCH] #1224628: Add setting and enable reference to search files
 associated with all content fields.

---
 sources/reference.inc |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/sources/reference.inc b/sources/reference.inc
index 65e777f..ea2aefa 100644
--- a/sources/reference.inc
+++ b/sources/reference.inc
@@ -83,9 +83,16 @@ function filefield_source_reference_settings($op, $field) {
       '#type' => 'radios',
       '#default_value' => empty($field['filefield_source_autocomplete']) ? '0' : '1', 
     );
+    $return['sources_reference']['filefield_source_autocomplete_search_all_fields'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Search all fields'),
+      '#default_value' => empty($field['filefield_source_autocomplete_search_all_fields']) ? '0' : '1',
+      '#description' => t('If checked, the autocomplete search will include files previously associated with any content field. Otherwise, the search will be restricted to this content field.'),
+    );
   }
   elseif ($op == 'save') {
     $return[] = 'filefield_source_autocomplete';
+    $return[] = 'filefield_source_autocomplete_search_all_fields';
   }
 
   return $return;
@@ -163,7 +170,8 @@ function filefield_source_reference_autocomplete($type_name, $field_name, $filen
 
   $items = array();
   if (!empty($field)) {
-    $files = filefield_source_reference_get_files($filename, $field);
+    $search_field = isset($field['widget']['filefield_source_autocomplete_search_all_fields']) && !$field['widget']['filefield_source_autocomplete_search_all_fields'] ? $field : NULL;
+    $files = filefield_source_reference_get_files($filename, $search_field);
     foreach ($files as $fid => $file) {
       $items[$file->filename ." [fid:$fid]"] = theme('filefield_source_reference_autocomplete_item', $file);
     }
-- 
1.7.6

