| 6 taxonomy.module | taxonomy_vocabulary_load($vid, |
| 7 taxonomy.module | taxonomy_vocabulary_load($vid) |
| 8 taxonomy.module | taxonomy_vocabulary_load($vid) |
Return the vocabulary object matching a vocabulary ID.
Parameters
$vid: The vocabulary's ID
$reset: Whether to reset the internal taxonomy_vocabulary_load cache.
Return value
The vocabulary object with all of its metadata, if exists, FALSE otherwise. Results are statically cached.
File
- modules/
taxonomy/ taxonomy.module, line 1044 - Enables the organization of content into categories.
Code
<?php
function taxonomy_vocabulary_load($vid, $reset = FALSE) {
static $vocabularies = array();
if ($reset) {
$vocabularies = array();
}
if (!isset($vocabularies[$vid])) {
// Initialize so if this vocabulary does not exist, we have
// that cached, and we will not try to load this later.
$vocabularies[$vid] = FALSE;
// Try to load the data and fill up the object.
$result = db_query('SELECT v.*, n.type FROM {vocabulary} v LEFT JOIN {vocabulary_node_types} n ON v.vid = n.vid WHERE v.vid = %d', $vid);
$node_types = array();
while ($voc = db_fetch_object($result)) {
if (!empty($voc->type)) {
$node_types[$voc->type] = $voc->type;
}
unset($voc->type);
$voc->nodes = $node_types;
$vocabularies[$vid] = $voc;
}
}
// Return FALSE if this vocabulary does not exist.
return !empty($vocabularies[$vid]) ? $vocabularies[$vid] : FALSE;
}
?>Login or register to post comments