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 | front/FrontViews/Frontusers/tmpl/profile.php +24 -13 11.0.3 → 11.1.0 View file →
@@ -4,8 +4,18 @@
4 4
5 5 use AcyMailing\Helpers\SecurityHelper;
6 6
7 7 $formName = acym_getModuleFormName();
8 +$allowedIntroTags = array_merge(SecurityHelper::ALLOWED_HTML_INTRO, [
9 + 'a' => [
10 + 'href' => true,
11 + 'target' => true,
12 + 'title' => true,
13 + 'class' => true,
14 + 'rel' => true,
15 + 'aria-label' => true,
16 + ],
17 +]);
8 18 ?>
9 19 <div id="acym_fulldiv_<?php echo esc_attr($formName); ?>" class="acym_front_page <?php echo empty($data['suffix']) ? '' : esc_attr($data['suffix']); ?>">
10 20 <?php
11 21 if (!empty($data['show_page_heading'])) {
@@ -14,19 +24,19 @@
14 24
15 25 if (!empty($data['introtext'])) {
16 26 echo '<span class="acym_introtext">'.wp_kses(
17 27 $data['introtext'],
18 - SecurityHelper::ALLOWED_HTML_INTRO
28 + $allowedIntroTags
19 29 ).'</span>';
20 30 }
21 31 ?>
22 32
23 33 <form enctype="multipart/form-data"
24 - action="<?php echo esc_url(acym_frontendLink('frontusers'.(acym_isNoTemplate() ? '&'.acym_noTemplate() : ''))); ?>"
25 - method="post"
26 - name="<?php echo esc_attr($formName); ?>"
27 - id="<?php echo esc_attr($formName); ?>"
28 - onsubmit="this.querySelector('input[type=submit]').click(); return false;" novalidate>
34 + action="<?php echo esc_url(acym_frontendLink('frontusers'.(acym_isNoTemplate() ? '&'.acym_noTemplate() : ''))); ?>"
35 + method="post"
36 + name="<?php echo esc_attr($formName); ?>"
37 + id="<?php echo esc_attr($formName); ?>"
38 + onsubmit="this.querySelector('input[type=submit]').click(); return false;" novalidate>
29 39 <fieldset class="adminform acy_user_info">
30 40 <legend>
31 41 <span>
32 42 <?php
@@ -73,15 +83,16 @@
73 83 ?>
74 84 </div>
75 85
76 86 <?php
77 - if ($this->config->get('user_tracking_control', 0) && !empty($data['user']->id)) {
87 + if ($this->config->get('user_tracking_control', 0)) {
88 + $trackingChecked = isset($data['user']->tracking) ? (int)$data['user']->tracking === 1 : !$this->config->get('dont_track_by_default', 0);
78 89 echo '<div class="onefield fieldacytracking" id="field_tracking_'.esc_attr($formName).'">';
79 90 echo '<label for="mailingdata_tracking_'.esc_attr($formName).'">';
80 91 echo '<input type="hidden" name="user[tracking]" value="0"/>';
81 92 echo '<input id="mailingdata_tracking_'.esc_attr(
82 93 $formName
83 - ).'" class="checkbox" type="checkbox" name="user[tracking]" value="1" '.((int)$data['user']->tracking === 1 ? 'checked="checked"' : '').'/> '.esc_html(
94 + ).'" class="checkbox" type="checkbox" name="user[tracking]" value="1" '.checked($trackingChecked, true, false).'/> '.esc_html(
84 95 acym_translation('ACYM_ALLOW_TRACKING')
85 96 );
86 97 echo '</label>';
87 98 echo '</div>';
@@ -91,9 +102,9 @@
91 102 $deleteButton = $this->config->get('gdpr_delete', 0);
92 103 if (!empty($data['user']->id) && !(empty($exportButton) && empty($deleteButton))) {
93 104 ?>
94 105 <div id="acyuseractions">
95 - <table>
106 + <table role="presentation">
96 107 <tr>
97 108 <?php
98 109 if ($exportButton == 1) {
99 110 ?>
@@ -109,9 +120,9 @@
109 120 if ($deleteButton == 1) {
110 121 ?>
111 122 <td id="acybutton_subscriber_delete_data">
112 123 <button class="btn btn-secondary button"
113 - onclick="if(confirm(ACYM_JS_TXT.ACYM_ARE_YOU_SURE + '\n' + ACYM_JS_TXT.ACYM_DELETE_MY_DATA_CONFIRM)){ this.form.task.value = 'gdprDelete'; this.form.submit(); } return false;">
124 + onclick="if(confirm(ACYM_JS_TXT.ACYM_ARE_YOU_SURE + '\n' + ACYM_JS_TXT.ACYM_DELETE_MY_DATA_CONFIRM)){ this.form.task.value = 'gdprDelete'; this.form.submit(); } return false;">
114 125 <?php echo esc_html(acym_translation('ACYM_DELETE_MY_DATA')); ?>
115 126 </button>
116 127 </td>
117 128 <?php
@@ -225,10 +236,10 @@
225 236 <input type="hidden" name="acyprofile" value="1" />
226 237
227 238 <p class="acymodifybutton">
228 239 <button class="btn btn-primary"
229 - type="submit"
230 - onclick="<?php echo esc_attr($actionClick); ?>">
240 + type="submit"
241 + onclick="<?php echo esc_attr($actionClick); ?>">
231 242 <?php echo esc_html(acym_translation(empty($data['user']->id) ? 'ACYM_SUBSCRIBE' : 'ACYM_SAVE_CHANGES')); ?>
232 243 </button>
233 244 </p>
234 245 </form>
@@ -234,8 +245,8 @@
234 245 </form>
235 246 <?php if (!empty($data['posttext'])) {
236 247 echo '<span class="acym_posttext">'.wp_kses(
237 248 $data['posttext'],
238 - SecurityHelper::ALLOWED_HTML_INTRO
249 + $allowedIntroTags
239 250 ).'</span>';
240 251 } ?>
241 252 </div>