--- taxonews.module	2007-06-12 23:08:33.000000000 +0200
+++ taxonews.module	2007-06-13 12:06:28.000000000 +0200
@@ -75,11 +75,12 @@ class Taxonews
     $form[Taxonews::VAR_VOCABULARY] = array
       (
       '#type'             => 'select',
-      '#title'            => t('Vocabulary'),
-      '#default_value'    => variable_get('Taxonews::VAR_VOCABULARY', 0),
+      '#title'            => t('Vocabularies'),
+      '#default_value'    => variable_get(Taxonews::VAR_VOCABULARY, 0),
       '#options'          => $vocabularies,
-      '#description'      => t('Vocabulary to be used for the generation of blocks. A block will be defined for each term in the vocabulary'),
+      '#description'      => t('Vocabularies to be used for the generation of blocks. A block will be defined for each term of each vocabulary'),
       '#required'         => True,
+      '#multiple'         => True,
       );
     $form[Taxonews::VAR_LIFETIME] = array
       (
@@ -228,7 +229,7 @@ class Taxonews
           }
         }
       $blocks[$i] = array() ;
-      $blocks[$i]['info'] = "$prefix$term->name" ;
+      $blocks[$i]['info'] = "$prefix$term->vname/$term->name" ;
       $i++ ;
       }
 
@@ -325,7 +326,7 @@ class Taxonews
     }
 
   /**
-   * Query for terms in selected vocabulary
+   * Query for terms in selected vocabularies
    *
    * @return array [tid, name]
    */
@@ -335,15 +336,19 @@ class Taxonews
 
     if (count($terms) == 0)
       {
-      $sq = 'SELECT td.tid, td.name '
-         . 'FROM {term_data} td '
-         . 'WHERE td.vid = %s '
-         . 'ORDER BY 2, 1 ';
+      $vids = variable_get(Taxonews::VAR_VOCABULARY, 0);
+      foreach ($vids as $vid) {
+        $sq = 'SELECT td.tid, td.name, v.name as vname '
+           . 'FROM {term_data} td, {vocabulary} v '
+           . 'WHERE td.vid = %s '
+           . 'AND td.vid = v.vid '
+           . 'ORDER BY 2, 1 ';
 
-      $q = db_query($sq, variable_get(Taxonews::VAR_VOCABULARY, 0)) ;
-      while ($o = db_fetch_object($q))
-        {
-        $terms[] = $o;
+        $q = db_query($sq, $vid) ;
+        while ($o = db_fetch_object($q))
+          {
+          $terms[] = $o;
+          }
         }
       }
     return $terms ;
