You are here

function _scald_create_tags_vocabulary in Scald: Media Management made easy 7

Create a vocabulary for storing Scald Tags, and the matching fields.

2 calls to _scald_create_tags_vocabulary()
scald_enable in ./scald.install
Implements hook_enable().
scald_update_7003 in ./scald.install
Create Scald_tags vocabulary.

File

./scald.install, line 429

Code

function _scald_create_tags_vocabulary() {
  field_associate_fields('taxonomy');

  // Create the atom vocabulary if it does not exist.
  $name = variable_get('scald_tags_vocabulary', 'scald_tags');
  $vocabulary = taxonomy_vocabulary_machine_name_load($name);
  if (!$vocabulary) {
    $edit = array(
      'name' => t('Scald tags'),
      'machine_name' => $name,
      'description' => t('Scald tags vocabulary'),
      'hierachy' => 0,
      'module' => 'scald',
      'weight' => -5,
    );
    $vocabulary = (object) $edit;
    taxonomy_vocabulary_save($vocabulary);
    variable_set('scald_tags_vocabulary', $vocabulary->machine_name);
  }

  // Create the scald_tags field.
  if (!field_info_field('scald_tags')) {
    $field = array(
      'title' => t('Scald tags'),
      'cardinality' => FIELD_CARDINALITY_UNLIMITED,
      'field_name' => 'scald_tags',
      'type' => 'taxonomy_term_reference',
      'settings' => array(
        'allowed_values' => array(
          array(
            'vocabulary' => $vocabulary->machine_name,
            'parent' => 0,
          ),
        ),
      ),
    );
    field_create_field($field);
  }
}