function taxonomy_tools_publisher_reference_fields in Taxonomy Tools 8
Same name and namespace in other branches
- 7 taxonomy_tools_publisher/taxonomy_tools_publisher.module \taxonomy_tools_publisher_reference_fields()
Returns term reference fields.
Parameters
string $bundle: Node type.
2 calls to taxonomy_tools_publisher_reference_fields()
- taxonomy_tools_publisher_node_insert in taxonomy_tools_publisher/
taxonomy_tools_publisher.module - Implements hook_node_insert().
- taxonomy_tools_publisher_node_update in taxonomy_tools_publisher/
taxonomy_tools_publisher.module - Implements hook_node_update().
File
- taxonomy_tools_publisher/
taxonomy_tools_publisher.module, line 321 - Drupal hooks and functions to manipulate taxonomy terms.
Code
function taxonomy_tools_publisher_reference_fields($bundle) {
$fields = array();
// Get term reference fields.
$query = db_select('field_config', 'fc');
$query
->addField('fc', 'field_name');
$query
->addField('fc', 'data');
$query
->condition('fc.deleted', 0);
$query
->condition('fc.type', 'taxonomy_term_reference');
$query
->join('field_config_instance', 'fci', 'fci.field_name = fc.field_name');
$query
->condition('fci.entity_type', 'node');
$query
->condition('fci.bundle', $bundle);
$result = $query
->execute()
->fetchAll();
$vocabularies = array_filter(variable_get('taxonomy_tools_publisher_config', array()));
foreach ($result as $key => $field) {
$data = unserialize($field->data);
if (in_array($data['settings']['allowed_values'][0]['vocabulary'], $vocabularies)) {
$fields[] = $field->field_name;
}
}
return $fields;
}