function redhen_org_group_redhen_org_type_delete in RedHen CRM 7
Implements hook_redhen_org_type_delete().
File
- modules/
redhen_org_group/ redhen_org_group.module, line 172
Code
function redhen_org_group_redhen_org_type_delete(RedhenOrgType $redhen_org_type) {
// Delete redhen group field if not used by another org type.
if (isset($redhen_org_type->group_settings['content_types'])) {
$org_types = redhen_org_get_types();
foreach ($redhen_org_type->group_settings['content_types'] as $type) {
$in_use = FALSE;
foreach ($org_types as $org_type) {
if ($org_type->name != $redhen_org_type->name && isset($org_type->group) && $org_type->group) {
if (isset($org_type->group_settings['content_types'])) {
$in_use = in_array($type, $org_type->group_settings['content_types']);
}
}
}
if (!$in_use) {
$instance = field_read_instance('node', REDHEN_ORG_GROUP_FIELD, $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' => $type,
)));
}
}
}
}
}