function taxonomy_vocabulary_load
7.x taxonomy.module | taxonomy_vocabulary_load($vid) |
6.x taxonomy.module | taxonomy_vocabulary_load($vid, $reset = FALSE) |
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.
15 calls to taxonomy_vocabulary_load()
- forum_enable in drupal-6.x/
modules/ forum/ forum.install - forum_nodeapi in drupal-6.x/
modules/ forum/ forum.module - Implementation of hook_nodeapi().
- forum_overview in drupal-6.x/
modules/ forum/ forum.admin.inc - Returns an overview list of existing forums and containers
- hook_mail in documentation-6.x/
developer/ hooks/ core.php - Prepare a message based on parameters; called from drupal_mail().
- system_mail in drupal-6.x/
modules/ system/ system.module - Implementation of hook_mail().
File
- drupal-6.x/
modules/ taxonomy/ taxonomy.module, line 1044 - Enables the organization of content into categories.
Code
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;
}