/** * Delete the Custom Group. * * @param CRM_Core_BAO_CustomGroup $group * Custom group object. * @param bool $force * whether to force the deletion, even if there are custom fields. * * @return bool * False if field exists for this group, true if group gets deleted. */ public static function deleteGroup($group, $force = FALSE) { //check whether this contain any custom fields $customField = new CRM_Core_DAO_CustomField(); $customField->custom_group_id = $group->id; $customField->find(); // return early if there are custom fields and we're not // forcing the delete, otherwise delete the fields one by one while ($customField->fetch()) { if (!$force) { return FALSE; } CRM_Core_BAO_CustomField::deleteField($customField); } // drop the table associated with this custom group CRM_Core_BAO_SchemaHandler::dropTable($group->table_name); //delete custom group $group->delete(); CRM_Utils_Hook::post('delete', 'CustomGroup', $group->id, $group); return TRUE; }