You are here

function merci_core_create_field in MERCI (Manage Equipment Reservations, Checkout and Inventory) 7.3

Create an organic groups field in a bundle.

Parameters

$field_name: The field name

$entity_type: The entity type

$bundle: The bundle name.

5 calls to merci_core_create_field()
merci_holiday_enable in merci_hours/merci_holiday.install
Implements hook_enable().
merci_hours_enable in merci_hours/merci_hours.install
Implements hook_enable().
merci_line_item_configuration in merci_line_item/merci_line_item.module
Ensures the product line item type contains a product reference field.
merci_reservation_merci_reservation_type_insert in merci_reservation/merci_reservation.module
merci_restrictions_enable in merci_restrictions/merci_restrictions.install
Implements hook_enable().

File

merci_core/merci_core.module, line 174

Code

function merci_core_create_field($field, $entity_type, $bundle) {
  if (is_string($field)) {
    $field_name = $field;
    $merci_field = merci_core_fields_info($field_name);
  }
  elseif (is_array($field)) {
    $merci_field = $field;
    $field_name = $field['field']['field_name'];
  }
  else {
    return;
  }
  if ($merci_field) {
    $field = field_info_field($field_name);
    if (empty($field)) {
      $field = field_create_field($merci_field['field']);
    }
    $instance = field_info_instance($entity_type, $field_name, $bundle);
    if (empty($instance)) {
      $instance = $merci_field['instance'];
      $instance += array(
        'field_name' => $field_name,
        'bundle' => $bundle,
        'entity_type' => $entity_type,
      );
      field_create_instance($instance);
    }
  }
}