diff options
author | Silvio <s1lv10@uol.com.br> | 2009-09-28 23:57:23 -0300 |
---|---|---|
committer | Silvio <s1lv10@uol.com.br> | 2009-09-28 23:57:23 -0300 |
commit | 7dba2312a71b38d6bfce8397764086d47425ab62 (patch) | |
tree | 306bc427414b8ac6058ab8267afae29c343d4bb2 /finder_menu.module | |
parent | 0cc41dd2c40452f2a3e6ec0003c54ffd86de7a14 (diff) | |
download | finder_menu-7dba2312a71b38d6bfce8397764086d47425ab62.tar.gz finder_menu-7dba2312a71b38d6bfce8397764086d47425ab62.tar.bz2 |
Starting to change module to 'Finder Menu'
Diffstat (limited to 'finder_menu.module')
-rw-r--r-- | finder_menu.module | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/finder_menu.module b/finder_menu.module new file mode 100644 index 0000000..9eb17b6 --- /dev/null +++ b/finder_menu.module @@ -0,0 +1,55 @@ +<?php +// $Id$ + +/** + * Implementation of hook_block(); + */ +function finder_taxonomy_block($op = 'list', $delta = 0, $edit = array()) { + switch ($op) { + case 'list': + $blocks[0]['info'] = t('Finder Menu'); + $blocks[0]['cache'] = BLOCK_NO_CACHE; + return $blocks; + + case 'configure': + $form['finder_taxonomy_vid'] = array( + '#type' => 'radios', + '#title' => t('Select the vocabulary to list'), + '#default_value' => variable_get('finder_taxonomy_vid', 1), + '#options' => finder_taxonomy_get_vocabularies(), + ); + return $form; + + case 'save': + variable_set('finder_taxonomy_vid', (int) $edit['finder_taxonomy_vid']); + break; + + case 'view': + $vid = variable_get('finder_taxonomy_vid', 1); + $tree = finder_taxonomy_get_terms($vid); + $block['content'] = theme('item_list', $tree); + return $block; + } +} + +/** + * Get all vocabularies; + */ +function finder_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 finder_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; +} |