You are here

function redhen_org_group_create_instance in RedHen CRM 7

Create group field instances.

Parameters

RedhenOrgType $org_type: Org type object.

2 calls to redhen_org_group_create_instance()
redhen_org_group_redhen_org_type_insert in modules/redhen_org_group/redhen_org_group.module
Implements hook_redhen_org_type_insert().
redhen_org_group_redhen_org_type_update in modules/redhen_org_group/redhen_org_group.module
Implements hook_redhen_org_type_update().

File

modules/redhen_org_group/redhen_org_group.module, line 133

Code

function redhen_org_group_create_instance(RedhenOrgType $org_type) {
  if (!isset($org_type->data['group_settings']['content_types'])) {
    return;
  }

  // Create an instance of our audience field if it doesn't already exist.
  foreach ($org_type->data['group_settings']['content_types'] as $type) {
    $instance = field_read_instance('node', REDHEN_ORG_GROUP_FIELD, $type);
    if (!$instance) {
      $instance = array(
        'field_name' => REDHEN_ORG_GROUP_FIELD,
        'entity_type' => 'node',
        'bundle' => $type,
        'label' => t('Group'),
        'widget' => array(
          'module' => 'options',
          'settings' => array(),
          'type' => 'options_select',
        ),
      );
      field_create_instance($instance);
      drupal_set_message(t('Field %label has been added to the %type content type.', array(
        '%label' => $instance['label'],
        '%type' => $type,
      )));
    }
  }
}