| @@ -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 | |