| @@ -6,9 +6,9 @@ | ||
| 6 | 6 | use AcyMailing\Helpers\AutomationHelper; |
| 7 | 7 | |
| 8 | 8 | trait Campaign |
| 9 | 9 | { |
| 10 | - public function countSegmentById($segmentId, $listsIds, $ajax = true, $exclude = false): int | |
| 10 | + public function countSegmentById(int $segmentId, array $listsIds, bool $ajax = true, bool $exclude = false): int | |
| 11 | 11 | { |
| 12 | 12 | acym_arrayToInteger($listsIds); |
| 13 | 13 | |
| 14 | 14 | if (empty($listsIds)) { |
| @@ -71,13 +71,18 @@ | ||
| 71 | 71 | return $numberOfRecipients; |
| 72 | 72 | } |
| 73 | 73 | } |
| 74 | 74 | |
| 75 | - public function countGlobalBySegmentId() | |
| 75 | + public function countGlobalBySegmentId(): void | |
| 76 | 76 | { |
| 77 | + wp_verify_nonce(acym_getVar('cmd', '_wpnonce'), 'acymnonce') || die('Invalid Token'); | |
| 78 | + | |
| 77 | 79 | $segmentId = acym_getVar('int', 'segmentId', 0); |
| 78 | 80 | $isExclude = acym_getVar('boolean', 'exclude', false); |
| 79 | - $listsIds = json_decode(acym_getVar('string', 'lists', '[]')); | |
| 81 | + $listsIds = json_decode(acym_getVar('string', 'lists', '[]'), true); | |
| 82 | + if (empty($listsIds)) { | |
| 83 | + $listsIds = []; | |
| 84 | + } | |
| 80 | 85 | |
| 81 | 86 | if (empty($segmentId)) { |
| 82 | 87 | acym_sendAjaxResponse('', ['count' => $this->countSegmentByParams([], $listsIds, $isExclude)]); |
| 83 | 88 | } |
| @@ -83,12 +88,16 @@ | ||
| 83 | 88 | } |
| 84 | 89 | acym_sendAjaxResponse('', ['count' => $this->countSegmentById($segmentId, $listsIds, true, $isExclude)]); |
| 85 | 90 | } |
| 86 | 91 | |
| 87 | - public function saveFromCampaign() | |
| 92 | + public function saveFromCampaign(): void | |
| 88 | 93 | { |
| 94 | + wp_verify_nonce(acym_getVar('cmd', '_wpnonce'), 'acymnonce') || die('Invalid Token'); | |
| 95 | + | |
| 96 | + $filters = acym_getVar('array', 'acym_action', []); | |
| 97 | + acym_blockRestrictedFilterAjax($filters); | |
| 98 | + | |
| 89 | 99 | $name = acym_getVar('string', 'segment_name', ''); |
| 90 | - $filters = acym_getVar('array', 'acym_action', []); | |
| 91 | 100 | |
| 92 | 101 | $segmentClass = new SegmentClass(); |
| 93 | 102 | |
| 94 | 103 | $segment = new \stdClass(); |
| @@ -98,9 +107,9 @@ | ||
| 98 | 107 | $segment->active = 1; |
| 99 | 108 | $segment->filters = json_encode($filters['filters']); |
| 100 | 109 | |
| 101 | 110 | $segmentId = $segmentClass->save($segment); |
| 102 | - if ($segmentId) { | |
| 111 | + if (!empty($segmentId)) { | |
| 103 | 112 | acym_sendAjaxResponse(acym_translation('ACYM_SEGMENT_WELL_SAVE'), ['segment_id' => $segmentId]); |
| 104 | 113 | } else { |
| 105 | 114 | acym_sendAjaxResponse(acym_translation('ACYM_COULD_NOT_SAVE_SEGMENT'), [], false); |
| 106 | 115 | } |