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/Controllers/Scenarios/Edition.php +24 -9 10.2.2 → 11.1.0 View file →
@@ -79,12 +79,15 @@
79 79
80 80 private function changeMailIdInFlowByStepId(array &$node, string $stepId, int $mailId): void
81 81 {
82 82 if (!empty($node['slug']) && $node['slug'] === $stepId) {
83 - $node['params']['option'] = [
84 - 'acym_action[actions][__and__][acy_send_email][mail_id]' => $mailId,
85 - ];
83 + $existingOptions = !empty($node['params']['option']) && is_array($node['params']['option']) ? $node['params']['option'] : [];
86 84
85 + $existingOptions['acym_action[actions][__and__][acy_send_email][mail_id]'] = $mailId;
86 + $existingOptions['mail_id'] = $mailId;
87 +
88 + $node['params']['option'] = $existingOptions;
89 +
87 90 return;
88 91 }
89 92
90 93 if (!empty($node['children'])) {
@@ -103,14 +106,19 @@
103 106
104 107 private function searchForSendEmailAction(array &$node): void
105 108 {
106 109 if (!empty($node['params']['action']) && $node['params']['action'] === 'acy_send_email') {
107 - $mailId = !empty($node['params']['option']['acym_action[actions][__and__][acy_send_email][mail_id]'])
108 - ? $node['params']['option']['acym_action[actions][__and__][acy_send_email][mail_id]'] : 0;
110 + $complexKey = 'acym_action[actions][__and__][acy_send_email][mail_id]';
109 111
112 + $mailId = 0;
113 + if (!empty($node['params']['option'][$complexKey])) {
114 + $mailId = (int)$node['params']['option'][$complexKey];
115 + } elseif (!empty($node['params']['option']['mail_id'])) {
116 + $mailId = (int)$node['params']['option']['mail_id'];
117 + }
118 +
110 119 if (!empty($mailId)) {
111 120 $mail = $this->mailClass->getOneById($mailId);
112 -
113 121 if (!empty($mail)) {
114 122 $node['params']['option']['mail'] = $mail;
115 123 }
116 124 }
@@ -188,9 +196,9 @@
188 196
189 197 $triggersFormatted = [];
190 198 foreach ($triggers['user'] as $key => $trigger) {
191 199 $trigger->key = $key;
192 - $trigger->name = strip_tags($trigger->name);
200 + $trigger->name = acym_stripTags($trigger->name);
193 201 $triggersFormatted[] = $trigger;
194 202 }
195 203
196 204 $data['triggers'] = $triggersFormatted;
@@ -203,9 +211,9 @@
203 211
204 212 $conditionsFormatted = [];
205 213 foreach ($conditions['user'] as $key => $condition) {
206 214 $condition->key = $key;
207 - $condition->name = strip_tags($condition->name);
215 + $condition->name = acym_stripTags($condition->name);
208 216 $conditionsFormatted[] = $condition;
209 217 }
210 218
211 219 $data['conditions'] = $conditionsFormatted;
@@ -218,9 +226,9 @@
218 226
219 227 $actionsFormatted = [];
220 228 foreach ($actions as $key => $action) {
221 229 $action->key = $key;
222 - $action->name = strip_tags($action->name);
230 + $action->name = acym_stripTags($action->name);
223 231 $actionsFormatted[] = $action;
224 232 }
225 233
226 234 $data['actions'] = $actionsFormatted;
@@ -251,8 +259,10 @@
251 259 }
252 260
253 261 public function saveExit(): void
254 262 {
263 + wp_verify_nonce(acym_getVar('cmd', '_wpnonce'), 'acymnonce') || die('Invalid Token');
264 +
255 265 $this->saveInner();
256 266 $this->listing();
257 267 }
258 268
@@ -257,8 +267,10 @@
257 267 }
258 268
259 269 public function save(): void
260 270 {
271 + wp_verify_nonce(acym_getVar('cmd', '_wpnonce'), 'acymnonce') || die('Invalid Token');
272 +
261 273 $scenarioId = $this->saveInner();
262 274
263 275 acym_setVar('scenarioId', $scenarioId);
264 276
@@ -266,8 +278,10 @@
266 278 }
267 279
268 280 public function createMail(): void
269 281 {
282 + wp_verify_nonce(acym_getVar('cmd', '_wpnonce'), 'acymnonce') || die('Invalid Token');
283 +
270 284 $options = acym_getVar('array', 'send_mail', []);
271 285
272 286 if (empty($options['step_id'])) {
273 287 return;
@@ -287,8 +301,9 @@
287 301 'type' => $type,
288 302 'return' => acym_completeLink('scenarios&task=edit&step=editScenario&mailId={mailid}&scenarioId='.$scenarioId.'&stepId='.$options['step_id']),
289 303 ];
290 304
305 + // Conditional mail ID
291 306 if (!empty($options['mail_id'])) {
292 307 $urlParams['id'] = $options['mail_id'];
293 308 }
294 309