diff options
-rw-r--r-- | modules/taxonomy.module | 20 | ||||
-rw-r--r-- | modules/taxonomy/taxonomy.module | 20 |
2 files changed, 40 insertions, 0 deletions
diff --git a/modules/taxonomy.module b/modules/taxonomy.module index 1f1ac3048..701645957 100644 --- a/modules/taxonomy.module +++ b/modules/taxonomy.module @@ -452,6 +452,26 @@ 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($free_tags = 0) { + $vocabularies = taxonomy_get_vocabularies(); + $options = array(); + foreach ($vocabularies as $vid => $vocabulary) { + if ($vocabulary->tags && !$free_tags) { continue; } + $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 diff --git a/modules/taxonomy/taxonomy.module b/modules/taxonomy/taxonomy.module index 1f1ac3048..701645957 100644 --- a/modules/taxonomy/taxonomy.module +++ b/modules/taxonomy/taxonomy.module @@ -452,6 +452,26 @@ 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($free_tags = 0) { + $vocabularies = taxonomy_get_vocabularies(); + $options = array(); + foreach ($vocabularies as $vid => $vocabulary) { + if ($vocabulary->tags && !$free_tags) { continue; } + $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 |