- // sudoman hack: re-insert filtered group memberships
- $params = CRM_Contact_Form_Edit_TagsAndGroups::reInsertFilteredGroupMemberships($form->get('id'), 'event', $contactID, TRUE, $params);
+ // sudoman hack: get profile ids before re-inserting filtered group memberships
+ foreach (['custom_pre_id', 'custom_post_id'] as $which_profile) {
+
+ $profile_ids = $form->get('values')[$which_profile];
+
+ // some pages can have multiple profiles
+ if (!is_array($profile_ids)) {
+ $all_profile_ids[] = $profile_ids;
+ } else {
+ $all_profile_ids = array_merge($all_profile_ids, $profile_ids);
+ }
+ }
+
+ // sudoman hack: continues from above: re-insert filtered group memberships
+ if (isset($fields['group'])) {
+ $params = CRM_Contact_Form_Edit_TagsAndGroups::reInsertFilteredGroupMemberships($all_profile_ids, $contactID, TRUE, $params);
+ }