summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/taxonomy/taxonomy.module2
-rw-r--r--modules/taxonomy/taxonomy.test5
2 files changed, 6 insertions, 1 deletions
diff --git a/modules/taxonomy/taxonomy.module b/modules/taxonomy/taxonomy.module
index 5215c6cc4..56c207895 100644
--- a/modules/taxonomy/taxonomy.module
+++ b/modules/taxonomy/taxonomy.module
@@ -1019,7 +1019,7 @@ function taxonomy_vocabulary_load_multiple($vids = array(), $conditions = array(
$query->orderBy('v.name');
if (!empty($type)) {
- $query->leftJoin('taxonomy_vocabulary_node_type', 'n', 'v.vid = n.vid WHERE n.type = :type', array(':type' => $type));
+ $query->leftJoin('taxonomy_vocabulary_node_type', 'n', 'v.vid = n.vid AND n.type = :type', array(':type' => $type));
}
else {
$query->leftJoin('taxonomy_vocabulary_node_type', 'n', 'v.vid = n.vid');
diff --git a/modules/taxonomy/taxonomy.test b/modules/taxonomy/taxonomy.test
index fda432120..636c7a030 100644
--- a/modules/taxonomy/taxonomy.test
+++ b/modules/taxonomy/taxonomy.test
@@ -276,6 +276,11 @@ public static function getInfo() {
// Fetch vocabulary 1 by name and ID.
$this->assertTrue(current(taxonomy_vocabulary_load_multiple(array($vocabulary1->vid), array('name' => $vocabulary1->name))) == $vocabulary1, t('Vocabulary loaded successfully by name and ID.'));
+
+ // Fetch vocabulary 1 with specified node type.
+ drupal_static_reset('taxonomy_vocabulary_load_multiple');
+ $vocabulary_node_type = current(taxonomy_vocabulary_load_multiple(array($vocabulary1->vid), array('type' => 'article')));
+ $this->assertEqual($vocabulary_node_type, $vocabulary1, t('Vocabulary with specified node type loaded successfully.'));
}
}