function taxonomy_vocabulary_load in Drupal 6
Same name and namespace in other branches
- 8 core/modules/taxonomy/taxonomy.module \taxonomy_vocabulary_load()
- 7 modules/taxonomy/taxonomy.module \taxonomy_vocabulary_load()
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.
14 calls to taxonomy_vocabulary_load()
- forum_enable in modules/
forum/ forum.install - forum_nodeapi in modules/
forum/ forum.module - Implementation of hook_nodeapi().
- forum_overview in modules/
forum/ forum.admin.inc - Returns an overview list of existing forums and containers
- system_mail in modules/
system/ system.module - Implementation of hook_mail().
- system_message_action in modules/
system/ system.module - A configurable Drupal action. Sends a message to the current user's screen.
File
- 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;
}