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/queue.php +172 -64 10.11.1 → 11.1.0 View file →
@@ -1,13 +1,15 @@
1 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');
2 4
3 5 use AcyMailing\Helpers\CronHelper;
4 6
5 7 ?>
6 8 <div class="acym__content acym_area padding-vertical-1 padding-horizontal-2">
7 - <div class="acym__title acym__title__secondary"><?php echo acym_translation('ACYM_CONFIGURATION_QUEUE'); ?></div>
9 + <div class="acym__title acym__title__secondary"><?php echo esc_html(acym_translation('ACYM_CONFIGURATION_QUEUE')); ?></div>
8 10 <div class="grid-x grid-margin-x margin-y">
9 - <div class="cell medium-3"><?php echo acym_translation('ACYM_CONFIGURATION_QUEUE_PROCESSING'); ?></div>
11 + <div class="cell medium-3"><?php echo esc_html(acym_translation('ACYM_CONFIGURATION_QUEUE_PROCESSING')); ?></div>
10 12 <div class="cell medium-9">
11 13 <?php
12 14 $disabledOptions = [];
13 15 if (!acym_level(ACYM_ESSENTIAL)) {
@@ -15,9 +17,9 @@
15 17 'auto' => ['tooltipTxt' => acym_translation('ACYM_PRO_ONLY'), 'disabledClass' => 'acym__disabled'],
16 18 'automan' => ['tooltipTxt' => acym_translation('ACYM_PRO_ONLY'), 'disabledClass' => 'acym__disabled'],
17 19 ];
18 20 }
19 - echo acym_radio(
21 + acym_radio(
20 22 [
21 23 'auto' => acym_translation('ACYM_CONFIGURATION_QUEUE_AUTOMATIC'),
22 24 'automan' => acym_translation('ACYM_CONFIGURATION_QUEUE_AUTOMAN'),
23 25 'manual' => acym_translation('ACYM_CONFIGURATION_QUEUE_MANUAL'),
@@ -38,10 +40,10 @@
38 40 ?>
39 41 </div>
40 42 <div class="cell medium-3 automatic_only automatic_manual">
41 43 <?php
42 - echo acym_translation('ACYM_AUTO_SEND_PROCESS');
43 - echo acym_info(['textShownInTooltip' => 'ACYM_AUTO_SEND_PROCESS_DESC']);
44 + echo esc_html(acym_translation('ACYM_AUTO_SEND_PROCESS'));
45 + acym_info(['textShownInTooltip' => 'ACYM_AUTO_SEND_PROCESS_DESC']);
44 46 ?>
45 47 </div>
46 48 <div class="cell medium-9 grid-x automatic_only automatic_manual">
47 49 <div class="cell large-9 grid-x margin-y">
@@ -56,38 +58,83 @@
56 58 }
57 59
58 60 $disabledBatch = acym_level(ACYM_ENTERPRISE) ? '' : 'disabled';
59 61 $delayTypeAuto = $data['typeDelay'];
60 - $delayHtml = '<span data-acym-tooltip="'.acym_translation('ACYM_CRON_TRIGGERED_DESC').'">'.$delayTypeAuto->display(
61 - 'config[cron_frequency]',
62 - $cronFrequency,
63 - \AcyMailing\Types\DelayType::TYPE_MINUTES_HOURS,
64 - '',
65 - 'auto_sending_input'
66 - ).'</span>';
67 - echo acym_translationSprintf(
68 - 'ACYM_SEND_X_BATCH_OF_X_EMAILS_EVERY_Y',
69 - '<input '.$disabledBatch.' class="intext_input auto_sending_input" type="number" min="1" max="10" name="config[queue_batch_auto]" value="'.intval(
70 - $valueBatch
71 - ).'" />',
72 - '<input class="intext_input auto_sending_input" type="number" min="1" max="900" name="config[queue_nbmail_auto]" value="'.intval(
73 - $this->config->get('queue_nbmail_auto')
74 - ).'" />',
75 - $delayHtml
62 + $delayHtml = '<span data-acym-tooltip="'.esc_attr(acym_translation('ACYM_CRON_TRIGGERED_DESC')).'">';
63 + ob_start();
64 + $delayTypeAuto->display(
65 + 'config[cron_frequency]',
66 + $cronFrequency,
67 + \AcyMailing\Types\DelayType::TYPE_MINUTES_HOURS,
68 + '',
69 + 'auto_sending_input'
76 70 );
71 + $delayHtml .= ob_get_clean().'</span>';
72 + echo wp_kses(
73 + acym_translationSprintf(
74 + 'ACYM_SEND_X_BATCH_OF_X_EMAILS_EVERY_Y',
75 + '<input '.$disabledBatch.' class="intext_input auto_sending_input" type="number" min="1" max="10" name="config[queue_batch_auto]" value="'.intval(
76 + $valueBatch
77 + ).'" />',
78 + '<input class="intext_input auto_sending_input" type="number" min="1" max="900" name="config[queue_nbmail_auto]" value="'.intval(
79 + $this->config->get('queue_nbmail_auto')
80 + ).'" />',
81 + $delayHtml
82 + ),
83 + [
84 + 'input' => [
85 + 'disabled' => true,
86 + 'class' => true,
87 + 'type' => true,
88 + 'min' => true,
89 + 'max' => true,
90 + 'name' => true,
91 + 'value' => true,
92 + 'onchange' => true,
93 + 'id' => true,
94 + ],
95 + 'span' => [
96 + 'data-acym-tooltip' => true,
97 + ],
98 + 'select' => [
99 + 'class' => true,
100 + 'onchange' => true,
101 + 'name' => true,
102 + 'id' => true,
103 + ],
104 + 'option' => [
105 + 'value' => true,
106 + 'selected' => true,
107 + ],
108 + 'script' => [],
109 + ]
110 + );
77 111 echo '<span id="automatic_sending_speed_too_many_batches">';
78 - echo acym_info(['textShownInTooltip' => 'ACYM_TOO_MANY_BATCHES', 'isWarning' => true]);
112 + acym_info(['textShownInTooltip' => 'ACYM_TOO_MANY_BATCHES', 'isWarning' => true]);
79 113 echo '</span>';
80 114 ?>
81 115 </div>
82 116 <div class="cell">
83 117 <?php
84 - echo acym_translationSprintf(
85 - 'ACYM_WAIT_X_SECONDS_BETWEEN_MAILS',
86 - '<input class="intext_input auto_sending_input" type="number" min="0" name="config[email_frequency]" value="'.$this->config->get(
87 - 'email_frequency',
88 - 0
89 - ).'" />'
118 + echo wp_kses(
119 + acym_translationSprintf(
120 + 'ACYM_WAIT_X_SECONDS_BETWEEN_MAILS',
121 + '<input class="intext_input auto_sending_input" type="number" min="0" name="config[email_frequency]" value="'.esc_attr(
122 + $this->config->get(
123 + 'email_frequency',
124 + 0
125 + )
126 + ).'" />'
127 + ),
128 + [
129 + 'input' => [
130 + 'class' => true,
131 + 'type' => true,
132 + 'min' => true,
133 + 'name' => true,
134 + 'value' => true,
135 + ],
136 + ]
90 137 );
91 138 ?>
92 139 </div>
93 140 </div>
@@ -93,12 +140,19 @@
93 140 </div>
94 141 </div>
95 142 <div class="cell medium-3 automatic_only automatic_manual"></div>
96 143 <div class="cell medium-9 automatic_only automatic_manual margin-bottom-2">
97 - <?php echo acym_translationSprintf('ACYM_SEND_X_EMAILS_PER_HOUR', '<span id="automatic_sending_speed_preview">280</span>'); ?>
144 + <?php echo wp_kses(
145 + acym_translationSprintf('ACYM_SEND_X_EMAILS_PER_HOUR', '<span id="automatic_sending_speed_preview">280</span>'),
146 + [
147 + 'span' => [
148 + 'id' => true,
149 + ],
150 + ]
151 + ); ?>
98 152 <span id="automatic_sending_speed_too_much">
99 153 <?php
100 - echo acym_info(
154 + acym_info(
101 155 [
102 156 'textShownInTooltip' => acym_translation('ACYM_ONE_SECOND_PER_EMAIL_WARNING'),
103 157 ]
104 158 );
@@ -105,9 +159,9 @@
105 159 ?>
106 160 </span>
107 161 <span id="automatic_sending_speed_no_wait">
108 162 <?php
109 - echo acym_info(
163 + acym_info(
110 164 [
111 165 'textShownInTooltip' => acym_translation('ACYM_SEND_FASTER_DECREASE_WAIT'),
112 166 ]
113 167 );
@@ -113,9 +167,9 @@
113 167 );
114 168 ?>
115 169 </span>
116 170 </div>
117 - <div class="cell medium-3 automatic_only automatic_manual"><?php echo acym_translation('ACYM_SEND_RESTRICTIONS'); ?></div>
171 + <div class="cell medium-3 automatic_only automatic_manual"><?php echo esc_html(acym_translation('ACYM_SEND_RESTRICTIONS')); ?></div>
118 172 <div class="cell medium-9 grid-x margin-y automatic_only automatic_manual acym_auto_send_time">
119 173 <div class="cell">
120 174 <?php
121 175 $hoursFrom = acym_select(
@@ -141,45 +195,100 @@
141 195 'config[queue_send_to_minute]',
142 196 $this->config->get('queue_send_to_minute', '59'),
143 197 ['class' => 'intext_select']
144 198 );
145 - echo acym_translationSprintf('ACYM_SEND_FROM_TO', $hoursFrom, $minutesFrom, $hoursTo, $minutesTo);
199 + echo wp_kses(
200 + acym_translationSprintf('ACYM_SEND_FROM_TO', $hoursFrom, $minutesFrom, $hoursTo, $minutesTo),
201 + [
202 + 'select' => [
203 + 'class' => true,
204 + 'name' => true,
205 + 'id' => true,
206 + ],
207 + 'option' => [
208 + 'value' => true,
209 + 'selected' => true,
210 + ],
211 + ]
212 + );
146 213 ?>
147 214 </div>
148 215 <div class="cell grid-x">
149 216 <div class="cell shrink margin-right-1">
150 - <?php echo acym_translation('ACYM_DONT_SEND_WEEKEND'); ?>
217 + <?php echo esc_html(acym_translation('ACYM_DONT_SEND_WEEKEND')); ?>
151 218 </div>
152 219 <div class="cell shrink">
153 - <?php echo acym_switch('config[queue_stop_weekend]', $this->config->get('queue_stop_weekend', 0)); ?>
220 + <?php acym_switch(['name' => 'config[queue_stop_weekend]', 'value' => $this->config->get('queue_stop_weekend', 0)]); ?>
154 221 </div>
155 222 <div class="cell auto"></div>
156 223 </div>
157 224 </div>
158 - <div class="cell medium-3 manual_only automatic_manual"><?php echo acym_translation('ACYM_MANUAL_SEND_PROCESS'); ?></div>
225 + <div class="cell medium-3 manual_only automatic_manual"><?php echo esc_html(acym_translation('ACYM_MANUAL_SEND_PROCESS')); ?></div>
159 226 <div class="cell medium-9 manual_only automatic_manual">
160 227 <?php
161 - echo acym_translationSprintf(
162 - 'ACYM_SEND_X_EMAILS_WAIT_Y_SECONDS',
163 - '<input class="intext_input" type="number" min="1" name="config[queue_nbmail]" value="'.intval($this->config->get('queue_nbmail')).'" />',
164 - '<input class="intext_input" type="number" min="0" name="config[queue_pause]" value="'.intval($this->config->get('queue_pause')).'" />'
228 + echo wp_kses(
229 + acym_translationSprintf(
230 + 'ACYM_SEND_X_EMAILS_WAIT_Y_SECONDS',
231 + '<input class="intext_input" type="number" min="1" name="config[queue_nbmail]" value="'.intval($this->config->get('queue_nbmail')).'" />',
232 + '<input class="intext_input" type="number" min="0" name="config[queue_pause]" value="'.intval($this->config->get('queue_pause')).'" />'
233 + ),
234 + [
235 + 'input' => [
236 + 'class' => true,
237 + 'type' => true,
238 + 'min' => true,
239 + 'name' => true,
240 + 'value' => true,
241 + ],
242 + ]
165 243 );
166 244 ?>
167 245 </div>
168 - <div class="cell medium-3"><?php echo '<span>'.acym_translation('ACYM_MAX_NB_TRY').'</span>'.acym_info(['textShownInTooltip' => 'ACYM_MAX_NB_TRY_DESC']); ?></div>
246 + <div class="cell medium-3"><?php echo '<span>'.esc_html(acym_translation('ACYM_MAX_NB_TRY')).'</span>';
247 + acym_info(['textShownInTooltip' => 'ACYM_MAX_NB_TRY_DESC']); ?></div>
169 248 <div class="cell medium-9">
170 - <?php echo acym_translationSprintf(
171 - 'ACYM_CONFIG_TRY',
172 - '<input class="intext_input" type="number" min="0" name="config[queue_try]" value="'.intval($this->config->get('queue_try')).'">'
249 + <?php echo wp_kses(
250 + acym_translationSprintf(
251 + 'ACYM_CONFIG_TRY',
252 + '<input class="intext_input" type="number" min="0" name="config[queue_try]" value="'.intval($this->config->get('queue_try')).'">'
253 + ),
254 + [
255 + 'input' => [
256 + 'class' => true,
257 + 'type' => true,
258 + 'min' => true,
259 + 'name' => true,
260 + 'value' => true,
261 + ],
262 + ]
173 263 );
174 264
175 265 $failaction = $data['failaction'];
176 - echo ' '.acym_translationSprintf('ACYM_CONFIG_TRY_ACTION', $failaction->display('maxtry', $this->config->get('bounce_action_maxtry', 'noaction'))); ?>
266 + echo ' '.wp_kses(
267 + acym_translationSprintf('ACYM_CONFIG_TRY_ACTION', $failaction->display('maxtry', $this->config->get('bounce_action_maxtry', 'noaction'))),
268 + [
269 + 'select' => [
270 + 'class' => true,
271 + 'style' => true,
272 + 'onchange' => true,
273 + 'name' => true,
274 + 'id' => true,
275 + ],
276 + 'option' => [
277 + 'value' => true,
278 + 'selected' => true,
279 + ],
280 + 'span' => [
281 + 'id' => true,
282 + 'style' => true,
283 + ],
284 + ]
285 + ); ?>
177 286 </div>
178 287 <div class="cell medium-3">
179 288 <?php
180 - echo acym_translation('ACYM_NUMBER_OF_DAYS_TO_CLEAN_QUEUE');
181 - echo acym_info(
289 + echo esc_html(acym_translation('ACYM_NUMBER_OF_DAYS_TO_CLEAN_QUEUE'));
290 + acym_info(
182 291 [
183 292 'textShownInTooltip' => 'ACYM_NUMBER_OF_DAYS_TO_CLEAN_QUEUE_DESC',
184 293 ]
185 294 );
@@ -189,10 +298,10 @@
189 298 <div class="cell medium-6 large-4 xlarge-3 xxlarge-2">
190 299 <?php
191 300 $queueDelete = $this->config->get('queue_delete_days', 0);
192 301 if (!acym_level(ACYM_ESSENTIAL)) {
193 - $inputContent = '<input type="number" class="intext_input" disabled min="0" name="config[queue_delete_days]" value="'.acym_escape($queueDelete).'">';
194 - $inputContent = acym_tooltip(
302 + $inputContent = '<input type="number" class="intext_input" disabled min="0" name="config[queue_delete_days]" value="'.esc_attr($queueDelete).'">';
303 + acym_tooltip(
195 304 [
196 305 'hoveredText' => $inputContent,
197 306 'textShownInTooltip' => acym_translation('ACYM_PRO_ONLY'),
198 307 ]
@@ -197,47 +306,46 @@
197 306 'textShownInTooltip' => acym_translation('ACYM_PRO_ONLY'),
198 307 ]
199 308 );
200 309 } else {
201 - $inputContent = '<input type="number" class="intext_input" min="0" name="config[queue_delete_days]" value="'.acym_escape($queueDelete).'">';
310 + echo '<input type="number" class="intext_input" min="0" name="config[queue_delete_days]" value="'.esc_attr($queueDelete).'">';
202 311 }
203 - echo $inputContent;
204 312 ?>
205 313 </div>
206 314 </div>
207 315 <div class="cell medium-3">
208 316 <?php
209 - echo acym_translation('ACYM_RECORD_STATS_EACH_EMAIL');
210 - echo acym_info(['textShownInTooltip' => 'ACYM_RECORD_STATS_EACH_EMAIL_DESC']); ?>
317 + echo esc_html(acym_translation('ACYM_RECORD_STATS_EACH_EMAIL'));
318 + acym_info(['textShownInTooltip' => 'ACYM_RECORD_STATS_EACH_EMAIL_DESC']); ?>
211 319 </div>
212 320 <div class="cell medium-9 grid-x">
213 321 <div class="cell medium-6 large-4 xlarge-3 xxlarge-2">
214 - <?php echo acym_switch('config[queue_statistics_by_batch]', $this->config->get('queue_statistics_by_batch', 1)); ?>
322 + <?php acym_switch(['name' => 'config[queue_statistics_by_batch]', 'value' => $this->config->get('queue_statistics_by_batch', 1)]); ?>
215 323 </div>
216 324 </div>
217 325 <?php if (acym_level(ACYM_ENTERPRISE)) { ?>
218 326 <div class="cell medium-3">
219 327 <?php
220 - echo acym_translation('ACYM_SET_FOLLOWUP_PRIORITY');
221 - echo acym_info(['textShownInTooltip' => 'ACYM_SET_FOLLOWUP_PRIORITY_DESC']); ?>
328 + echo esc_html(acym_translation('ACYM_SET_FOLLOWUP_PRIORITY'));
329 + acym_info(['textShownInTooltip' => 'ACYM_SET_FOLLOWUP_PRIORITY_DESC']); ?>
222 330 </div>
223 331 <div class="cell medium-9 grid-x">
224 332 <div class="cell medium-6 large-4 xlarge-3 xxlarge-2">
225 - <?php echo acym_switch('config[followup_max_priority]', $this->config->get('followup_max_priority', 0)); ?>
333 + <?php acym_switch(['name' => 'config[followup_max_priority]', 'value' => $this->config->get('followup_max_priority', 0)]); ?>
226 334 </div>
227 335 </div>
228 336 <div class="cell medium-3 automatic_only automatic_manual">
229 337 <?php
230 - echo acym_translation('ACYM_USE_DEDICATED_SENDING_PROCESS');
231 - echo acym_info(['textShownInTooltip' => 'ACYM_USE_DEDICATED_SENDING_PROCESS_DESC']); ?>
338 + echo esc_html(acym_translation('ACYM_USE_DEDICATED_SENDING_PROCESS'));
339 + acym_info(['textShownInTooltip' => 'ACYM_USE_DEDICATED_SENDING_PROCESS_DESC']); ?>
232 340 </div>
233 341 <div class="cell medium-9 grid-x automatic_only automatic_manual">
234 342 <div class="cell medium-6 large-4 xlarge-3 xxlarge-2">
235 343 <?php
236 - echo acym_switch(
237 - 'config[dedicated_send_process]',
238 - $this->config->get('dedicated_send_process', 0)
239 - );
344 + acym_switch([
345 + 'name' => 'config[dedicated_send_process]',
346 + 'value' => $this->config->get('dedicated_send_process', 0),
347 + ]);
240 348 ?>
241 349 </div>
242 350 </div>
243 351 <?php } ?>
@@ -245,8 +353,8 @@
245 353 </div>
246 354 <?php
247 355 if (!acym_level(ACYM_ESSENTIAL)) {
248 356 echo '<div class="acym_area">
249 - <div class="acym__title acym__title__secondary">'.acym_translation('ACYM_CRON').'</div>';
357 + <div class="acym__title acym__title__secondary">'.esc_html(acym_translation('ACYM_CRON')).'</div>';
250 358 include acym_getView('configuration', 'upgrade_license');
251 359 echo '</div>';
252 360 }