From d140bd9ed7e633c3ccea0d3de50f62363d9cc2a5 Mon Sep 17 00:00:00 2001 From: Marc Michalsky Date: Tue, 18 Aug 2020 14:15:59 +0200 Subject: [PATCH] filter out non-public groups non-public groups are getting ignored --- api/v3/TwingleDonation/Submit.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/api/v3/TwingleDonation/Submit.php b/api/v3/TwingleDonation/Submit.php index d8577e6..984fa9a 100644 --- a/api/v3/TwingleDonation/Submit.php +++ b/api/v3/TwingleDonation/Submit.php @@ -503,9 +503,15 @@ function civicrm_api3_twingle_donation_Submit($params) { )['values'], 'group_id' ); - // TODO: Filter for public mailing list groups? foreach ($groups as $group_id) { - if (!in_array($group_id, $group_memberships)) { + $is_public_group = civicrm_api3( + 'Group', + 'getsingle', + array( + 'id' => (int) $group_id, + ) + )['visibility'] == 'Public Pages'; + if (!in_array($group_id, $group_memberships) && $is_public_group) { $result_values['newsletter'][][$group_id] = civicrm_api3( 'MailingEventSubscribe', 'create', @@ -516,7 +522,7 @@ function civicrm_api3_twingle_donation_Submit($params) { ) ); } - else { + elseif ($is_public_group) { $result_values['newsletter'][] = $group_id; } }