| @@ -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 | } |
| @@ -117,10 +117,10 @@ | ||
| 117 | 117 | $campaignId = acym_getVar('int', 'campaignId', 0); |
| 118 | 118 | $campaignClass = new CampaignClass(); |
| 119 | 119 | $searchFilter = $this->getVarFiltersListing('string', 'mailchoose_search', ''); |
| 120 | 120 | $tagFilter = $this->getVarFiltersListing('string', 'mailchoose_tag', ''); |
| 121 | - $ordering = $this->getVarFiltersListing('string', 'mailchoose_ordering', 'creation_date'); | |
| 122 | - $orderingSortOrder = $this->getVarFiltersListing('string', 'mailchoose_ordering_sort_order', 'DESC'); | |
| 121 | + $ordering = $this->getVarFiltersListing('cmd', 'mailchoose_ordering', 'creation_date'); | |
| 122 | + $orderingSortOrder = $this->getVarFiltersListing('cmd', 'mailchoose_ordering_sort_order', 'DESC'); | |
| 123 | 123 | $campaign = $campaignClass->getOneByIdWithMail($campaignId); |
| 124 | 124 | $campaignType = $this->getVarFiltersListing('string', 'campaign_type', 'now'); |
| 125 | 125 | $abTest = acym_getVar('bool', 'abtest', false); |
| 126 | 126 | |
| @@ -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)) { |