function redhen_org_group_redhen_org_type_update in RedHen CRM 7
Implements hook_redhen_org_type_update().
File
- modules/
redhen_org_group/ redhen_org_group.module, line 87
Code
function redhen_org_group_redhen_org_type_update(RedhenOrgType $org_type) {
if (isset($org_type->group_settings['content_types'])) {
$content_types = isset($org_type->data['group_settings']['content_types']) ? $org_type->data['group_settings']['content_types'] : array();
// Delete field instances if a content type was removed.
foreach ($org_type->group_settings['content_types'] as $old_type) {
if (!isset($content_types[$old_type])) {
$instance = field_read_instance('node', REDHEN_ORG_GROUP_FIELD, $old_type);
if ($instance) {
field_delete_instance($instance, FALSE);
field_purge_batch(10);
drupal_set_message(t('Field %label has been deleted from the %type content type.', array(
'%label' => $instance['label'],
'%type' => $old_type,
)));
}
}
}
}
// Create new field instances.
redhen_org_group_create_instance($org_type);
}