taxonomy.devel_generate.inc
File
-
devel_generate/
taxonomy.devel_generate.inc
View source
<?php
function taxonomy_devel_generate($object, $field, $instance, $bundle) {
if (field_behaviors_widget('multiple values', $instance) == FIELD_BEHAVIOR_CUSTOM) {
return devel_generate_multiple('_taxonomy_devel_generate', $object, $field, $instance, $bundle);
}
else {
return _taxonomy_devel_generate($object, $field, $instance, $bundle);
}
}
function _taxonomy_devel_generate($object, $field, $instance, $bundle) {
$object_field = array();
// TODO: For free tagging vocabularies that do not already have terms, this
// will not result in any tags being added.
$machine_name = $field['settings']['allowed_values'][0]['vocabulary'];
$vocabulary = taxonomy_vocabulary_machine_name_load($machine_name);
if ($max = db_query('SELECT MAX(tid) FROM {taxonomy_term_data} WHERE vid = :vid', array(
':vid' => $vocabulary->vid,
))
->fetchField()) {
$candidate = mt_rand(1, $max);
$query = db_select('taxonomy_term_data', 't');
$tid = $query->fields('t', array(
'tid',
))
->condition('t.vid', $vocabulary->vid, '=')
->condition('t.tid', $candidate, '>=')
->range(0, 1)
->execute()
->fetchField();
// If there are no terms for the taxonomy, the query will fail, in which
// case we return NULL.
if ($tid === FALSE) {
return NULL;
}
$object_field['tid'] = (int) $tid;
return $object_field;
}
}
Functions
Title | Deprecated | Summary |
---|---|---|
taxonomy_devel_generate | ||
_taxonomy_devel_generate |