You are here

function commerce_discount_extra_install in Commerce Discount Extra 7

Implements hook_install().

1 call to commerce_discount_extra_install()
commerce_discount_extra_flush_caches in ./commerce_discount_extra.module
Implements hook_flush_caches().

File

./commerce_discount_extra.install, line 11
Installs necessary fields for extra discounts.

Code

function commerce_discount_extra_install() {
  field_info_cache_clear();
  $fields = field_info_fields();

  // Create required field bases.
  foreach (_commerce_discount_extra_offer_fields() as $field) {
    if (empty($fields[$field['field_name']])) {
      field_create_field($field);
    }
  }
  $instances = field_info_instances();
  $instance_definitions = _commerce_discount_extra_offer_field_instances();

  // Add required field instances to our offer type bundles.
  foreach (_commerce_discount_extra_offer_bundle_field_map() as $bundle_name => $field_names) {
    foreach ($field_names as $field_name) {
      if (empty($instances['commerce_discount_offer'][$bundle_name][$field_name])) {
        $instance_definitions[$field_name]['bundle'] = $bundle_name;
        field_create_instance($instance_definitions[$field_name]);
      }
    }
  }
}