function oa_core_get_entity_vocabs in Open Atrium Core 7.2
Return vocabularies assigned to a specific content type
File
- includes/
oa_core.util.inc, line 1263 - Code for Utility functions for OpenAtrium spaces
Code
function oa_core_get_entity_vocabs($entity_type, $bundle) {
$vocabs = array();
$fields = field_info_instances($entity_type, $bundle);
foreach ($fields as $field_name => $field) {
$info = field_info_field($field_name);
// handle normal taxonomy_term_reference fields
if ($info['type'] == 'taxonomy_term_reference') {
foreach ($info['settings']['allowed_values'] as $value) {
if (!empty($value['vocabulary'])) {
$vocabs[$value['vocabulary']] = $value['vocabulary'];
}
}
}
elseif ($info['type'] == 'entityreference' && $info['settings']['target_type'] == 'taxonomy_term') {
if (!empty($info['settings']['handler_settings']['target_bundles'])) {
foreach ($info['settings']['handler_settings']['target_bundles'] as $value) {
$vocabs[$value] = $value;
}
}
}
}
return $vocabs;
}