Index: extractor.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/extractor/extractor.module,v
retrieving revision 1.3
diff -u -p -r1.3 extractor.module
--- extractor.module	30 Mar 2010 21:49:02 -0000	1.3
+++ extractor.module	5 Aug 2010 21:12:39 -0000
@@ -63,7 +63,12 @@ function extractor_settings_form() {
 
   $options = array(0 => t('Select a vocabulary'));
   foreach (taxonomy_get_vocabularies() as $vid => $vocab) {
-    $options[$vid] = $vocab->name;
+    if (strpos($vocab->module, 'features_') === 0) {
+      $options[$vocab->module] = $vocab->name;
+    }
+    else {
+      $options[$vid] = $vocab->name;
+    }
   }
   $form['extractor_simple_vid'] = array(
     '#type' => 'select',
Index: libraries/extractor_simple.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/extractor/libraries/extractor_simple.inc,v
retrieving revision 1.1
diff -u -p -r1.1 extractor_simple.inc
--- libraries/extractor_simple.inc	4 Dec 2009 15:01:46 -0000	1.1
+++ libraries/extractor_simple.inc	5 Aug 2010 21:12:39 -0000
@@ -13,7 +13,6 @@ function extractor_simple_extract($text)
   $tags = array();
   $text = strip_tags($text);
   $words = _extractor_simple_split($text);
-  $vid = variable_get('extractor_simple_vid', 1);
 
   for ($pos = 0; $pos < count($words); $pos++) {
     $term_names = $term_tids = $terms = array();
@@ -89,7 +88,13 @@ function _extractor_simple_lookup($word)
   }
 
   if (!$loaded) {
-    $result = db_query_range('SELECT tid, name FROM {term_data} WHERE vid = %d', variable_get('extractor_simple_vid', 1), 0, 2000);
+    $id = variable_get('extractor_simple_vid', 1);
+    if (is_numeric($id)) {
+      $result = db_query_range('SELECT tid, name FROM {term_data} WHERE vid = %d', $id, 0, 2000);
+    }
+    elseif (strpos($id, 'features_') === 0) {
+      $result = db_query_range('SELECT td.tid, td.name FROM {term_data} td JOIN {vocabulary} v ON td.vid = v.vid WHERE v.module = "%s"', $id, 0, 2000);
+    }
     while ($term = db_fetch_object($result)) {
       $term_cache[strtolower($term->name[0])][$term->name] = $term;
     }
