From 0cc41dd2c40452f2a3e6ec0003c54ffd86de7a14 Mon Sep 17 00:00:00 2001 From: Silvio Date: Thu, 24 Sep 2009 11:21:33 -0300 Subject: Initial import --- dynamic_taxonomy.info | 5 +++++ dynamic_taxonomy.module | 55 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 dynamic_taxonomy.info create mode 100644 dynamic_taxonomy.module diff --git a/dynamic_taxonomy.info b/dynamic_taxonomy.info new file mode 100644 index 0000000..3627dbd --- /dev/null +++ b/dynamic_taxonomy.info @@ -0,0 +1,5 @@ +; $Id$ +name = Dynamic Taxonomy +description = Show taxonomy items in a dynamic select list. +core = 6.x +dependencies[] = taxonomy diff --git a/dynamic_taxonomy.module b/dynamic_taxonomy.module new file mode 100644 index 0000000..a78d33f --- /dev/null +++ b/dynamic_taxonomy.module @@ -0,0 +1,55 @@ + 'radios', + '#title' => t('Select the vocabulary to list'), + '#default_value' => variable_get('dynamic_taxonomy_vid', 1), + '#options' => dynamic_taxonomy_get_vocabularies(), + ); + return $form; + + case 'save': + variable_set('dynamic_taxonomy_vid', (int) $edit['dynamic_taxonomy_vid']); + break; + + case 'view': + $vid = variable_get('dynamic_taxonomy_vid', 1); + $tree = dynamic_taxonomy_get_terms($vid); + $block['content'] = theme('item_list', $tree); + return $block; + } +} + +/** + * Get all vocabularies; + */ +function dynamic_taxonomy_get_vocabularies() { + $result = db_query('SELECT vid, name from {vocabulary}'); + while ($item = db_fetch_object($result)) { + $items[$item->vid] = $item->name; + } + return $items; +} + +function dynamic_taxonomy_get_terms($vid = null) { + if ($vid != null) { + $tree = taxonomy_get_tree($vid); + foreach ($tree as $term) { + $items[$term->tid] = $term->name; + } + return $items; + } + return null; +} -- cgit v1.2.3