PluginProbe
AcyMailing – An Ultimate Newsletter Plugin and Marketing Automation Solution for WordPress / 11.1.0
AcyMailing – An Ultimate Newsletter Plugin and Marketing Automation Solution for WordPress v11.1.0
11.1.1 11.1.0 11.0.5 11.0.4 11.0.3 11.0.2 11.0.1 11.0.0 10.11.1 10.11.0 10.10.2 10.10.1 10.10.0 10.9.1 trunk 10.0.0 10.0.1 10.1.0 10.1.1 10.1.2 10.1.3 10.1.4 10.2.0 10.2.1 10.2.2 All 62 releases
← All changes | back/dynamics/subscription/SubscriptionMailboxAction.php +29 -26 10.2.2 → 11.1.0 View file →
@@ -4,34 +4,37 @@
4 4 use AcyMailing\Classes\ListClass;
5 5
6 6 trait SubscriptionMailboxAction
7 7 {
8 - public function onAcymMailboxActionDefine(&$actions)
8 + protected function initMailboxActions(): void
9 9 {
10 + $this->mailboxActions = [
11 + 'acy_list_subscribe' => acym_translation('ACYM_SUBSCRIBE_USER'),
12 + 'acy_list_unsubscribe' => acym_translation('ACYM_UNSUB_USER'),
13 + ];
14 + }
15 +
16 + /**
17 + * Both actions offer the same list selector
18 + */
19 + public function displayMailboxActionOptions(string $fieldName): void
20 + {
10 21 $listClass = new ListClass();
11 - $lists = $listClass->getAllWithIdName();
12 -
13 - $actions['acy_list_subscribe'] = new stdClass();
14 - $actions['acy_list_subscribe']->name = acym_translation('ACYM_SUBSCRIBE_USER');
15 - $actions['acy_list_subscribe']->option = '<div class="intext_select_mailbox cell">';
16 - $actions['acy_list_subscribe']->option .= acym_select(
17 - $lists,
18 - 'acym_action[__num__][acy_list_subscribe][list_id]',
19 - null,
20 - ['class' => 'acym__select']
21 - );
22 - $actions['acy_list_subscribe']->option .= '</div>';
23 -
24 - $actions['acy_list_unsubscribe'] = new stdClass();
25 - $actions['acy_list_unsubscribe']->name = acym_translation('ACYM_UNSUB_USER');
26 - $actions['acy_list_unsubscribe']->option = '<div class="intext_select_mailbox cell">';
27 - $actions['acy_list_unsubscribe']->option .= acym_select(
28 - $lists,
29 - 'acym_action[__num__][acy_list_unsubscribe][list_id]',
30 - null,
31 - ['class' => 'acym__select']
32 - );
33 - $actions['acy_list_unsubscribe']->option .= '</div>';
22 + ?>
23 + <div class="intext_select_mailbox cell">
24 + <?php acym_select(
25 + $listClass->getAllWithIdName(),
26 + $fieldName.'[list_id]',
27 + null,
28 + ['class' => 'acym__select'],
29 + 'value',
30 + 'text',
31 + null,
32 + false,
33 + true
34 + ); ?>
35 + </div>
36 + <?php
34 37 }
35 38
36 39 public function onAcymMailboxActionSummaryListing(&$action, &$result)
37 40 {
@@ -77,9 +80,9 @@
77 80 } else {
78 81 $user->id = $userDatabase->id;
79 82 }
80 83
81 - $subscribed = $userClass->subscribe($user->id, $action['list_id']);
84 + $subscribed = $userClass->subscribe([$user->id], [$action['list_id']]);
82 85
83 86 if (!$subscribed) {
84 87 $report[] = [
85 88 'message' => acym_translationSprintf('ACYM_COULD_NOT_SUBSCRIBE_TO_X', $action['list_id']),
@@ -113,9 +116,9 @@
113 116 $executedActions = false;
114 117
115 118 return;
116 119 }
117 - $affected = $userClass->unsubscribe($userDatabase->id, $action['list_id']);
120 + $affected = $userClass->unsubscribe([$userDatabase->id], [$action['list_id']]);
118 121 $message = $affected
119 122 ? acym_translationSprintf('ACYM_UNSUB_USER_X_FROM_X', $userDatabase->email, $action['list_id'])
120 123 : acym_translationSprintf('ACYM_COULD_NOT_UNSUB_USER_X_FROM_X', $userDatabase->email, $action['list_id']);
121 124 $report[] = [