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/Views/Configuration/tmpl/data.php +200 -88 10.0.1 → 11.1.0 View file →
@@ -1,36 +1,82 @@
1 +<?php
2 +// phpcs:disable WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound -- View file, its variables are local to the include scope, not true globals.
3 +defined('ABSPATH') || die('Restricted Access');
4 +?>
1 5 <div class="acym__content acym_area padding-vertical-1 padding-horizontal-2 margin-bottom-2">
2 6 <div class="cell margin-bottom-2">
3 - <div class="acym__title acym__title__secondary"><?php echo acym_translation('ACYM_CONFIDENTIALITY'); ?></div>
7 + <div class="acym__title acym__title__secondary"><?php echo esc_html(acym_translation('ACYM_CONFIDENTIALITY')); ?></div>
4 8 <div class="grid-x grid-margin-x">
5 - <?php echo acym_switch(
6 - 'config[gdpr_export]',
7 - $this->config->get('gdpr_export'),
8 - acym_translation('ACYM_GDPR_EXPORT_BUTTON'),
9 - [],
10 - 'xlarge-3 medium-5 small-9',
11 - 'auto',
12 - '',
13 - 'export_config'
14 - ); ?>
9 + <?php acym_switch([
10 + 'name' => 'config[gdpr_export]',
11 + 'value' => $this->config->get('gdpr_export'),
12 + 'label' => acym_translation('ACYM_GDPR_EXPORT_BUTTON'),
13 + 'labelClass' => 'xlarge-3 medium-5 small-9',
14 + 'toggle' => 'export_config',
15 + ]); ?>
15 16 </div>
16 17 <div class="grid-x grid-margin-x margin-top-1">
17 - <?php echo acym_switch(
18 - 'config[gdpr_delete]',
19 - $this->config->get('gdpr_delete'),
20 - acym_translation('ACYM_GDPR_DELETE_BUTTON'),
21 - [],
22 - 'xlarge-3 medium-5 small-9'
23 - ); ?>
18 + <?php acym_switch([
19 + 'name' => 'config[gdpr_delete]',
20 + 'value' => $this->config->get('gdpr_delete'),
21 + 'label' => acym_translation('ACYM_GDPR_DELETE_BUTTON'),
22 + 'labelClass' => 'xlarge-3 medium-5 small-9',
23 + ]); ?>
24 24 </div>
25 + <div class="grid-x grid-margin-x margin-top-1">
26 + <?php acym_switch([
27 + 'name' => 'config[dont_track_by_default]',
28 + 'value' => $this->config->get('dont_track_by_default', 0),
29 + 'label' => acym_translation('ACYM_DONT_TRACK_BY_DEFAULT'),
30 + 'labelClass' => 'xlarge-3 medium-5 small-9',
31 + 'tip' => ['textShownInTooltip' => 'ACYM_DONT_TRACK_BY_DEFAULT_DESC'],
32 + ]); ?>
33 + </div>
34 + <div class="grid-x grid-margin-x margin-top-1">
35 + <?php acym_switch([
36 + 'name' => 'config[user_tracking_control]',
37 + 'value' => $this->config->get('user_tracking_control', 0),
38 + 'label' => acym_translation('ACYM_USER_TRACKING_CONTROL'),
39 + 'labelClass' => 'xlarge-3 medium-5 small-9',
40 + ]); ?>
41 + </div>
42 + <div class="grid-x grid-margin-x margin-top-1">
43 + <label class="cell large-3" for="security_key">
44 + <?php echo esc_html(acym_translation('ACYM_IP_COLLECTION'));
45 + acym_info(['textShownInTooltip' => 'ACYM_IP_COLLECTION_DESC']); ?>
46 + </label>
47 + <div class="cell large-9">
48 + <div>
49 + <?php
50 + acym_select(
51 + [
52 + 'yes' => acym_translation('ACYM_YES'),
53 + 'anonymised' => acym_translation('ACYM_ANONYMISED'),
54 + 'no' => acym_translation('ACYM_NO'),
55 + ],
56 + 'config[ip_collection]',
57 + $this->config->get('ip_collection', 'yes'),
58 + [
59 + 'class' => 'acym__select intext_select',
60 + ],
61 + 'value',
62 + 'text',
63 + null,
64 + false,
65 + true
66 + );
67 + ?>
68 + </div>
69 + </div>
70 + </div>
25 71 </div>
26 72
27 73 <div class="cell margin-bottom-2">
28 - <div class="acym__title acym__title__secondary"><?php echo acym_translation('ACYM_TRACKING'); ?></div>
74 + <div class="acym__title acym__title__secondary"><?php echo esc_html(acym_translation('ACYM_TRACKING')); ?></div>
29 75
30 76 <div class="grid-x grid-margin-x margin-y">
31 77 <label class="cell xlarge-3 small-5" for="from_as_replyto">
32 - <?php echo acym_translation('ACYM_TRACKINGSYSTEM'); ?>
78 + <?php echo esc_html(acym_translation('ACYM_TRACKINGSYSTEM')); ?>
33 79 </label>
34 80 <div class="cell xlarge-9 small-7 acym_vcenter">
35 81 <?php $trackingMode = $this->config->get('trackingsystem', 'acymailing'); ?>
36 82
@@ -38,11 +84,11 @@
38 84 type="checkbox"
39 85 name="config[trackingsystem][]"
40 86 id="trackingsystem[0]"
41 87 value="acymailing"
42 - <?php echo stripos($trackingMode, 'acymailing') !== false ? 'checked="checked"' : ''; ?>
88 + <?php checked(stripos($trackingMode, 'acymailing') !== false); ?>
43 89 />
44 - <label for="trackingsystem[0]">AcyMailing<?php echo acym_info('ACYM_TRACKINGSYSTEM_ACY_DESC'); ?></label>
90 + <label for="trackingsystem[0]">AcyMailing<?php acym_info(['textShownInTooltip' => 'ACYM_TRACKINGSYSTEM_ACY_DESC']); ?></label>
45 91
46 92 <input
47 93 type="checkbox"
48 94 name="config[trackingsystem][]"
@@ -47,11 +93,11 @@
47 93 type="checkbox"
48 94 name="config[trackingsystem][]"
49 95 id="trackingsystem[1]"
50 96 value="google"
51 - <?php echo stripos($trackingMode, 'google') !== false ? 'checked="checked"' : ''; ?>
97 + <?php checked(stripos($trackingMode, 'google') !== false); ?>
52 98 />
53 - <label for="trackingsystem[1]">Google Analytics<?php echo acym_info('ACYM_TRACKINGSYSTEM_GA_DESC'); ?></label>
99 + <label for="trackingsystem[1]">Google Analytics<?php acym_info(['textShownInTooltip' => 'ACYM_TRACKINGSYSTEM_GA_DESC']); ?></label>
54 100
55 101 <input type="hidden" name="config[trackingsystem][]" value="1" />
56 102 </div>
57 103 </div>
@@ -57,40 +103,73 @@
57 103 </div>
58 104
59 105 <div class="grid-x grid-margin-x margin-y margin-top-1">
60 106 <?php
61 - echo acym_switch(
62 - 'config[trackingsystemexternalwebsite]',
63 - $this->config->get('trackingsystemexternalwebsite'),
64 - acym_translation('ACYM_TRACKINGSYSTEM_EXTERNAL_LINKS').acym_info('ACYM_TRACKINGSYSTEM_EXTERNAL_LINKS_DESC'),
65 - [],
66 - 'xlarge-3 medium-5 small-9',
67 - 'auto',
68 - '',
69 - 'external_config'
70 - );
107 + acym_switch([
108 + 'name' => 'config[trackingsystemexternalwebsite]',
109 + 'value' => $this->config->get('trackingsystemexternalwebsite'),
110 + 'label' => acym_translation('ACYM_TRACKINGSYSTEM_EXTERNAL_LINKS'),
111 + 'tip' => ['textShownInTooltip' => 'ACYM_TRACKINGSYSTEM_EXTERNAL_LINKS_DESC'],
112 + 'labelClass' => 'xlarge-3 medium-5 small-9',
113 + 'toggle' => 'external_config',
114 + ]);
71 115 ?>
72 116 </div>
117 + <div class="cell grid-x margin-y margin-top-1">
118 + <div class="cell medium-3">
119 + <label for="tracking_delay">
120 + <?php
121 + echo esc_html(acym_translation('ACYM_TRACKING_DELAY'));
122 + acym_info(
123 + [
124 + 'textShownInTooltip' => 'ACYM_TRACKING_DELAY_DESC',
125 + ]
126 + );
127 + ?>
128 + </label>
129 + </div>
130 + <div class="cell medium-9 grid-x">
131 + <div class="cell medium-6 large-4 xlarge-3 xxlarge-2">
132 + <input
133 + id="tracking_delay"
134 + type="number"
135 + class="intext_input"
136 + min="0"
137 + name="config[tracking_delay]"
138 + value="<?php echo intval($this->config->get('tracking_delay', 0)); ?>"
139 + />
140 + </div>
141 + </div>
142 + </div>
143 + <div class="grid-x grid-margin-x margin-y margin-top-1">
144 + <?php
145 + acym_switch([
146 + 'name' => 'config[anonymous_stats]',
147 + 'value' => $this->config->get('anonymous_stats', 0),
148 + 'label' => acym_translation('ACYM_ANONYMOUS_STATS'),
149 + 'tip' => ['textShownInTooltip' => 'ACYM_ANONYMOUS_STATS_DESC'],
150 + 'labelClass' => 'xlarge-3 medium-5 small-9',
151 + ]);
152 + ?>
153 + </div>
73 154 </div>
74 155 <div class="cell margin-bottom-2">
75 - <div class="acym__title acym__title__secondary"><?php echo acym_translation('ACYM_DATA_MANAGEMENT'); ?></div>
156 + <div class="acym__title acym__title__secondary"><?php echo esc_html(acym_translation('ACYM_DATA_MANAGEMENT')); ?></div>
76 157 <?php if (acym_level(ACYM_ESSENTIAL)) { ?>
77 158 <div class="grid-x grid-margin-x margin-y">
78 159 <?php
79 - echo acym_switch(
80 - 'config[delete_stats_enabled]',
81 - $this->config->get('delete_stats_enabled', 0),
82 - acym_translation('ACYM_DELETE_DETAILED_STATS_AFTER').acym_info('ACYM_DELETE_DETAILED_STATS_AFTER_DESC'),
83 - [],
84 - 'xlarge-3 medium-5 small-9',
85 - 'auto',
86 - '',
87 - 'delete_stats_enabled'
88 - ); ?>
160 + acym_switch([
161 + 'name' => 'config[delete_stats_enabled]',
162 + 'value' => $this->config->get('delete_stats_enabled', 0),
163 + 'label' => acym_translation('ACYM_DELETE_DETAILED_STATS_AFTER'),
164 + 'tip' => ['textShownInTooltip' => 'ACYM_DELETE_DETAILED_STATS_AFTER_DESC'],
165 + 'labelClass' => 'xlarge-3 medium-5 small-9',
166 + 'toggle' => 'delete_stats_enabled',
167 + ]); ?>
89 168 <div class="cell grid-x" id="delete_stats_enabled">
90 169 <?php
91 170 $delayTypeAuto = $data['typeDelay'];
92 - echo $delayTypeAuto->display('config[delete_stats]', $this->config->get('delete_stats', 86400 * 360), 4);
171 + $delayTypeAuto->display('config[delete_stats]', $this->config->get('delete_stats', 86400 * 360), \AcyMailing\Types\DelayType::TYPE_WEEKS_MONTHS);
93 172 ?>
94 173 </div>
95 174 </div>
96 175 <?php } ?>
@@ -95,44 +174,38 @@
95 174 </div>
96 175 <?php } ?>
97 176 <div class="grid-x grid-margin-x margin-y margin-top-1">
98 177 <?php
99 - echo acym_switch(
100 - 'config[delete_user_history_enabled]',
101 - $this->config->get('delete_user_history_enabled', 0),
102 - acym_translation('ACYM_DELETE_USER_HISTORY_AFTER'),
103 - [],
104 - 'xlarge-3 medium-5 small-9',
105 - 'auto',
106 - '',
107 - 'delete_user_history_enabled'
108 - ); ?>
178 + acym_switch([
179 + 'name' => 'config[delete_user_history_enabled]',
180 + 'value' => $this->config->get('delete_user_history_enabled', 0),
181 + 'label' => acym_translation('ACYM_DELETE_USER_HISTORY_AFTER'),
182 + 'labelClass' => 'xlarge-3 medium-5 small-9',
183 + 'toggle' => 'delete_user_history_enabled',
184 + ]); ?>
109 185 <div class="cell grid-x" id="delete_user_history_enabled">
110 186 <?php
111 187 $delayTypeAuto = $data['typeDelay'];
112 - echo $delayTypeAuto->display('config[delete_user_history]', $this->config->get('delete_user_history', 0), 4);
188 + $delayTypeAuto->display('config[delete_user_history]', $this->config->get('delete_user_history', 0), \AcyMailing\Types\DelayType::TYPE_WEEKS_MONTHS);
113 189 ?>
114 190 </div>
115 191 </div>
116 192 <div class="grid-x grid-margin-x margin-y margin-top-1">
117 193 <?php
118 - echo acym_switch(
119 - 'config[delete_archive_history_enabled]',
120 - $this->config->get('delete_archive_history_enabled', 1),
121 - acym_translation('ACYM_DELETE_ARCHIVE_HISTORY_AFTER'),
122 - [],
123 - 'xlarge-3 medium-5 small-9',
124 - 'auto',
125 - '',
126 - 'delete_archive_history_enabled'
127 - ); ?>
194 + acym_switch([
195 + 'name' => 'config[delete_archive_history_enabled]',
196 + 'value' => $this->config->get('delete_archive_history_enabled', 1),
197 + 'label' => acym_translation('ACYM_DELETE_ARCHIVE_HISTORY_AFTER'),
198 + 'labelClass' => 'xlarge-3 medium-5 small-9',
199 + 'toggle' => 'delete_archive_history_enabled',
200 + ]); ?>
128 201 <div class="cell grid-x" id="delete_archive_history_enabled">
129 202 <?php
130 203 $delayTypeAuto = $data['typeDelay'];
131 - echo $delayTypeAuto->display(
204 + $delayTypeAuto->display(
132 205 'config[delete_archive_history_after]',
133 206 $this->config->get('delete_archive_history_after', 86400 * 90),
134 - 4
207 + \AcyMailing\Types\DelayType::TYPE_WEEKS_MONTHS
135 208 );
136 209 ?>
137 210 </div>
138 211 </div>
@@ -137,49 +210,88 @@
137 210 </div>
138 211 </div>
139 212 </div>
140 213 <div class="cell margin-bottom-2">
141 - <div class="acym__title acym__title__secondary"><?php echo acym_translation('ACYM_USER_DATA_MANAGEMENT'); ?></div>
214 + <div class="acym__title acym__title__secondary"><?php echo esc_html(acym_translation('ACYM_USER_DATA_MANAGEMENT')); ?></div>
142 215 <div class="grid-x grid-margin-x margin-y">
143 216 <?php
144 - echo acym_switch(
145 - 'config[export_data_changes]',
146 - $this->config->get('export_data_changes', 0),
147 - acym_translation('ACYM_EXPORT_DATA_CHANGES').acym_info('ACYM_EXPORT_DATA_CHANGES_DESC'),
148 - [],
149 - 'xlarge-3 medium-5 small-9',
150 - 'auto',
151 - '',
152 - 'export_data_changes'
153 - ); ?>
217 + acym_switch([
218 + 'name' => 'config[export_data_changes]',
219 + 'value' => $this->config->get('export_data_changes', 0),
220 + 'label' => acym_translation('ACYM_EXPORT_DATA_CHANGES'),
221 + 'tip' => ['textShownInTooltip' => 'ACYM_EXPORT_DATA_CHANGES_DESC'],
222 + 'labelClass' => 'xlarge-3 medium-5 small-9',
223 + 'toggle' => 'export_data_changes',
224 + ]); ?>
154 225 <div id="export_data_changes" class="cell grid-x margin-top-1">
155 226 <div class="cell grid-x">
156 - <label class="xlarge-3 medium-5 small-9"><?php echo acym_translation('ACYM_SELECT_FIELDS_TO_EXPORT'); ?></label>
227 + <label class="xlarge-3 medium-5 small-9"><?php echo esc_html(acym_translation('ACYM_SELECT_FIELDS_TO_EXPORT')); ?></label>
157 228 <div class="cell xlarge-3 medium-5 small-9">
158 - <?php echo acym_selectMultiple(
159 - $data['fields'],
229 + <?php
230 + $exportDataFields = [];
231 + foreach ($data['fields'] as $oneExportField) {
232 + $exportDataFields[$oneExportField->id] = acym_translation($oneExportField->name);
233 + }
234 + acym_selectMultiple(
235 + $exportDataFields,
160 236 'config[export_data_changes_fields]',
161 237 $data['export_data_changes_fields'],
162 238 ['class' => 'acym__select'],
163 - 'id',
164 - 'name',
239 + 'value',
240 + 'text',
165 241 true
166 - ); ?>
242 + );
243 + ?>
167 244 </div>
168 245 </div>
169 246 <div class="cell grid-x margin-top-1">
170 247 <div class="cell xlarge-3 medium-5 small-9 grid-x">
171 248 <button type="button" class="button button-secondary acy_button_submit cell shrink" data-task="downloadExportChangesFile">
172 - <?php echo acym_translation('ACYM_EXPORT'); ?>
249 + <?php echo esc_html(acym_translation('ACYM_EXPORT')); ?>
173 250 </button>
174 251 </div>
175 252 <div class="cell xlarge-3 medium-5 small-9">
176 253 <?php
177 254 $choices = [1 => acym_translation('ACYM_CURRENT_MONTH'), 0 => acym_translation('ACYM_PREVIOUS_MONTH')];
178 - echo acym_select($choices, 'export_changes_file_current', 1, ['class' => 'acym__select']);
255 + acym_select($choices, 'export_changes_file_current', 1, ['class' => 'acym__select'], 'value', 'text', null, false, true);
179 256 ?>
180 257 </div>
181 258 </div>
259 + </div>
260 + </div>
261 + </div>
262 + <div class="cell margin-bottom-2">
263 + <div class="acym__title acym__title__secondary">
264 + <?php echo esc_html(acym_translation('ACYM_DATA_EXPORT_MANAGEMENT')); ?>
265 + </div>
266 +
267 + <div class="grid-x grid-margin-x margin-y">
268 + <label class="cell xlarge-3 medium-5 small-9">
269 + <?php
270 + echo esc_html(acym_translation('ACYM_CSV_SEPARATOR_CHOICE'));
271 + acym_info(
272 + [
273 + 'textShownInTooltip' => acym_translation('ACYM_CSV_SEPARATOR_CHOICE_DESC'),
274 + ]
275 + );
276 + ?>
277 + </label>
278 + <div class="cell xlarge-9 medium-7 small-12 acym_vcenter">
279 + <label class="margin-right-1">
280 + <input type="radio"
281 + name="config[csv_separator]"
282 + value=";"
283 + <?php checked($this->config->get('csv_separator', ',') === ';'); ?> />
284 + ;
285 + </label>
286 +
287 + <label>
288 + <input type="radio"
289 + name="config[csv_separator]"
290 + value=","
291 + <?php checked($this->config->get('csv_separator', ',') === ','); ?> />
292 + ,
293 + </label>
182 294 </div>
183 295 </div>
184 296 </div>
185 297 </div>