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/Campaigns/Edition.php +9 -5 11.0.2 → 11.1.0 View file →
@@ -9,9 +9,8 @@
9 9 use AcyMailing\Classes\QueueClass;
10 10 use AcyMailing\Classes\SegmentClass;
11 11 use AcyMailing\Classes\TagClass;
12 12 use AcyMailing\Classes\UserClass;
13 -use AcyMailing\Controllers\AutomationController;
14 13 use AcyMailing\Controllers\MailsController;
15 14 use AcyMailing\Controllers\SegmentsController;
16 15 use AcyMailing\Helpers\EditorHelper;
17 16 use AcyMailing\Helpers\EntitySelectHelper;
@@ -25,8 +24,9 @@
25 24 {
26 25 public function newEmail(): void
27 26 {
28 27 acym_setVar('layout', 'new_email');
28 + $mailClass = new MailClass();
29 29
30 30 $data = [
31 31 'selectedType' => acym_getVar('string', 'email_type', ''),
32 32 'menuClass' => $this->menuClass,
@@ -34,9 +34,9 @@
34 34
35 35 $listClass = new ListClass();
36 36 if (acym_isAdmin()) {
37 37 $returnUrl = urlencode(base64_encode(acym_completeLink('campaigns')));
38 - $favoriteTemplate = $this->config->get('favorite_template', 0);
38 + $favoriteTemplate = $mailClass->getFavoriteTemplateId();
39 39 $welcomeUnsub = '&list_id={dataid}&type_editor=acyEditor&return='.$returnUrl;
40 40
41 41 if (empty($favoriteTemplate)) {
42 42 $data = array_merge(
@@ -100,9 +100,9 @@
100 100
101 101 parent::display($data);
102 102 }
103 103
104 - private function prepareSegmentDisplay(array &$data, array $sendingParams): void
104 + private function prepareSegmentDisplay(array &$data, ?array $sendingParams): void
105 105 {
106 106 $data['menuClass'] = $this->menuClass;
107 107 $data['displaySegmentTab'] = !empty($sendingParams) && array_key_exists('segment', $sendingParams);
108 108 }
@@ -187,8 +187,12 @@
187 187 $campaignId = acym_getVar('int', 'campaignId', 0);
188 188 $mailId = acym_getVar('int', 'from', 0);
189 189 $mailClass = new MailClass();
190 190 $data['mailClass'] = $mailClass;
191 +
192 + if ($mailId > 0 && !$mailClass->hasUserAccess($mailId)) {
193 + die('Access denied for this email');
194 + }
191 195 // Check autosave only if mail already saved in campaign and not just selected template (from parameter)
192 196 $checkAutosave = empty($mailId);
193 197 $editLink = 'campaigns&task=edit&step=editEmail';
194 198
@@ -558,9 +562,9 @@
558 562 $data['triggers_display'] = [];
559 563
560 564 foreach ($triggers as $key => $trigger) {
561 565 $data['triggers_select'][$key] = $trigger->name;
562 - $data['triggers_display'][$key] = $trigger->option;
566 + $data['triggers_display'][$key] = $trigger;
563 567 }
564 568
565 569 if (!empty($data['currentCampaign']->sending_params) && empty($data['currentCampaign']->sending_params['trigger_type'])) {
566 570 foreach (array_keys($triggers) as $oneTrigger) {
@@ -618,9 +622,9 @@
618 622
619 623 $campaign = new stdClass();
620 624 $campaign->draft = 1;
621 625 $campaign->active = 0;
622 - $campaign->sending_type = $types[$campaignType];
626 + $campaign->sending_type = $types[$campaignType] ?? CampaignClass::SENDING_TYPE_NOW;
623 627 $campaign->sent = 0;
624 628 $campaign->sending_params = [];
625 629 } else {
626 630 if (!$campaignClass->hasUserAccess($campaignId)) {