case 'CRM_Profile_Form_Edit':
$page_id = $form->get('gid'); // gid, not id
- $filter = $groups_field_filters['profile'][strval($page_id)];
+ $filter_config = $groups_field_filters['profile'][strval($page_id)];
break;
case 'CRM_Contribute_Form_Contribution_Main':
case 'CRM_Contribute_Form_Contribution_Confirm':
case 'CRM_Contribute_Form_Contribution_ThankYou':
$page_id = $form->get('id'); // id, not gid
- $filter = $groups_field_filters['contribution'][strval($page_id)];
+ $filter_config = $groups_field_filters['contribution'][strval($page_id)];
break;
case 'CRM_Event_Form_Registration_Register':
$page_id = $form->get('id'); // id, not gid
- $filter = $groups_field_filters['event'][strval($page_id)];
+ $filter_config = $groups_field_filters['event'][strval($page_id)];
break;
}
+
+ if (isset($filter_config)) {
+
+ $filter_ids = $filter_config['groups'];
+ $filter_titles = $filter_config['titles'];
+ }
// sudoman hack continues further below
$attributes['skiplabel'] = TRUE;
// sudoman hack continues
// filter groups if a filter is set
- if (isset($filter) and !in_array($id, $filter)) {
+ if (isset($filter_ids) and !in_array($id, $filter_ids)) {
continue;
}
- // sudoman hack continues with calls to CRM_Contact_Form_Edit_TagsAndGroups::reInsertFilteredGroupMemberships
+ // sudoman hack continues further below
// make sure that this group has public visibility
if ($visibility &&
$groupsOptions[$key] = $group;
}
else {
+
+ // sudoman hack continues
+ if (isset($filter_titles)) {
+ $custom_group_title = $filter_titles[array_search($id, $filter_ids)];
+ }
+ if (isset($custom_group_title)) {
+ $group_title = $custom_group_title;
+ } else {
+ $group_title = $group['title'];
+ }
+
+ // only slight modification here
$form->_tagGroup[$fName][$id]['description'] = $group['description'];
$elements[] = &$form->addElement('advcheckbox', $id, NULL, $group['text'], $attributes);
+
+ // sudoman hack continues with calls to CRM_Contact_Form_Edit_TagsAndGroups::reInsertFilteredGroupMemberships
}
}
$contactID, $ignorePermission, $params) {
$groups_field_filters = json_decode(variable_get('groups_field_filters', NULL), $assoc = TRUE);
- $filter = $groups_field_filters[$page_type][strval($page_id)];
+ $filter_ids = $groups_field_filters[$page_type][strval($page_id)]['groups'];
if ($contactID !== NULL) {
foreach ($contactGroupList as $value) {
$groupId = $value['group_id'];
- if (!empty($filter) && !in_array($groupId, $filter)) {
+ if (!empty($filter_ids) && !in_array($groupId, $filter_ids)) {
$params['group'][strval($groupId)] = 1;
}