summaryrefslogtreecommitdiff
path: root/modules/taxonomy.module
diff options
context:
space:
mode:
Diffstat (limited to 'modules/taxonomy.module')
-rw-r--r--modules/taxonomy.module19
1 files changed, 19 insertions, 0 deletions
diff --git a/modules/taxonomy.module b/modules/taxonomy.module
index caa3fa1fe..c30032355 100644
--- a/modules/taxonomy.module
+++ b/modules/taxonomy.module
@@ -389,6 +389,25 @@ function taxonomy_form($vid, $value = 0, $help = NULL, $name = 'taxonomy') {
}
/**
+* Generate a set of options for selecting a term from all vocabularies. Can be
+* passed to form_select.
+*/
+function taxonomy_form_all($value = 0, $help = NULL, $name = 'taxonomy') {
+ $vocabularies = taxonomy_get_vocabularies();
+ $options = array();
+ foreach ($vocabularies as $vid => $vocabulary) {
+ $tree = taxonomy_get_tree($vid);
+ $options[$vocabulary->name] = array();
+ if ($tree) {
+ foreach ($tree as $term) {
+ $options[$vocabulary->name][$term->tid] = _taxonomy_depth($term->depth, '-') . $term->name;
+ }
+ }
+ }
+ return $options;
+}
+
+/**
* Return an array of all vocabulary objects.
*
* @param $type