PluginProbe
AcyMailing – An Ultimate Newsletter Plugin and Marketing Automation Solution for WordPress / 11.0.2
AcyMailing – An Ultimate Newsletter Plugin and Marketing Automation Solution for WordPress v11.0.2
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
acymailing / back / Views / Users / tmpl / listing_listing.php

listing_listing.php in AcyMailing – An Ultimate Newsletter Plugin and Marketing Automation Solution for WordPress 11.0.2, at back/Views/Users/tmpl/listing_listing.php

257 lines 13.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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 if (empty($data['allUsers'])) { ?>
5 <h1 class="cell acym__listing__empty__search__title text-center"><?php echo esc_html(acym_translation('ACYM_NO_RESULTS_FOUND')); ?></h1>
6 <?php } else { ?>
7 <div class="cell grid-x margin-top-1">
8 <div class="grid-x acym__listing__actions cell margin-bottom-1">
9 <?php
10 $actions = [
11 'setActive' => acym_translation('ACYM_ACTIVATE'),
12 'setInactive' => acym_translation('ACYM_DEACTIVATE'),
13 'delete' => acym_translation('ACYM_DELETE'),
14 ];
15 acym_listingActions($actions);
16 ?>
17 </div>
18 <div class="cell grid-x align-justify">
19 <div class="cell grid-x large-shrink acym_vcenter">
20 <?php
21 $options = [
22 '' => ['ACYM_ALL', $data['userNumberPerStatus']['all']],
23 'active' => ['ACYM_ACTIVE', $data['userNumberPerStatus']['active']],
24 'inactive' => ['ACYM_INACTIVE', $data['userNumberPerStatus']['inactive']],
25 ];
26 if ($this->config->get('require_confirmation', '0') == '1') {
27 $options['confirmed'] = ['ACYM_CONFIRMED', $data['userNumberPerStatus']['confirmed']];
28 $options['unconfirmed'] = ['ACYM_NOT_CONFIRMED', $data['userNumberPerStatus']['unconfirmed']];
29 }
30 acym_filterStatus($options, $data['status'], 'users_status');
31 ?>
32 </div>
33 <div class="cell large-shrink acym_listing_sort-by">
34 <?php acym_sortBy(
35 [
36 'id' => acym_strtolower(acym_translation('ACYM_ID')),
37 'email' => acym_translation('ACYM_EMAIL'),
38 'name' => acym_translation('ACYM_NAME'),
39 'creation_date' => acym_translation('ACYM_DATE_CREATED'),
40 'active' => acym_translation('ACYM_ACTIVE'),
41 'confirmed' => acym_translation('ACYM_CONFIRMED'),
42 'cms_id' => acym_translation('ACYM_USER_CMSID'),
43 ],
44 'users',
45 $data['ordering'],
46 $data['orderingSortOrder']
47 ); ?>
48 </div>
49 </div>
50 </div>
51 <div class="grid-x acym__listing">
52 <div class="grid-x cell acym__listing__header">
53 <div class="medium-shrink small-1 cell">
54 <input id="checkbox_all" type="checkbox" name="checkbox_all">
55 </div>
56 <div class="grid-x medium-auto small-11 cell acym__listing__header__title__container">
57 <div class="cell medium-4 small-7 xlarge-3 acym__listing__header__title">
58 <?php echo esc_html(acym_translation('ACYM_EMAIL')); ?>
59 </div>
60 <div class="cell hide-for-small-only hide-for-medium-only large-2 acym__listing__header__title">
61 <?php echo esc_html(acym_translation('ACYM_NAME')); ?>
62 </div>
63 <div class="cell hide-for-small-only hide-for-medium-only large-2 xlarge-1 acym__listing__header__title">
64 <?php echo esc_html(acym_translation('ACYM_DATE_CREATED')); ?>
65 </div>
66 <?php
67 if (!empty($data['fields'])) {
68 foreach ($data['fields'] as $field) {
69 ?>
70 <div class="cell medium-auto hide-for-small-only acym__listing__header__title">
71 <?php echo esc_html(acym_translation($field)); ?>
72 </div>
73 <?php
74 }
75 }
76 ?>
77 <div class="cell medium-auto hide-for-small-only acym__listing__header__title">
78 <?php echo esc_html(acym_translation('ACYM_LISTS')); ?>
79 </div>
80 <?php if (acym_isAdmin()) { ?>
81 <div class="cell medium-1 hide-for-small-only acym__listing__header__title">
82 <?php echo esc_html(acym_translationSprintf('ACYM_CMS_USER', ACYM_CMS_TITLE)); ?>
83 </div>
84 <?php } ?>
85 <div class="cell medium-1 small-5 small-text-right medium-text-center acym__listing__header__title">
86 <?php echo esc_html(acym_translation('ACYM_STATUS')); ?>
87 </div>
88 <div class="large-1 cell hide-for-small-only hide-for-medium-only text-center acym__listing__header__title">
89 <?php echo esc_html(acym_translation('ACYM_ACTIONS')); ?>
90 </div>
91 <div class="cell medium-shrink hide-for-small-only text-center acym__listing__header__title acym__listing__id">
92 <?php echo esc_html(acym_translation('ACYM_ID')); ?>
93 </div>
94 </div>
95 </div>
96 <?php
97 foreach ($data['allUsers'] as $user) {
98 $linkUser = acym_completeLink(acym_getVar('cmd', 'ctrl').'&task=edit&userId='.$user->id);
99 ?>
100 <div class="grid-x cell align-middle acym__listing__row">
101 <div class="medium-shrink small-1 cell">
102 <input id="checkbox_<?php echo esc_attr($user->id); ?>" type="checkbox" name="elements_checked[]" value="<?php echo esc_attr($user->id); ?>">
103 </div>
104 <div class="grid-x medium-auto small-11 cell acym__listing__title__container">
105 <div class="grid-x cell small-9 medium-4 xlarge-3 acym__listing__title">
106 <a class="cell auto" href="<?php echo esc_url($linkUser); ?>">
107 <div><?php echo esc_html($user->email); ?></div>
108 </a>
109 </div>
110 <div class="cell hide-for-small-only hide-for-medium-only large-2">
111 <?php echo esc_html($user->name ?? ''); ?>
112 </div>
113 <div class="cell hide-for-small-only hide-for-medium-only large-2 xlarge-1">
114 <?php
115 acym_tooltip(
116 [
117 'hoveredText' => acym_date(
118 $user->creation_date,
119 acym_getDateTimeFormat('ACYM_DATE_FORMAT_LC5')
120 ),
121 'textShownInTooltip' => acym_date(
122 $user->creation_date,
123 'Y-m-d H:i:s'
124 ),
125 ]
126 );
127 ?>
128 </div>
129 <?php
130 if (!empty($user->fields)) {
131 foreach ($user->fields as $field) {
132 ?>
133 <div class="medium-auto hide-for-small-only cell">
134 <?php echo esc_html($field); ?>
135 </div>
136 <?php
137 }
138 }
139 ?>
140 <div class="acym__users__subscription medium-auto small-11 cell">
141 <?php
142 if (!empty($data['usersSubscriptions'][$user->id])) {
143 $subscriptionsCount = count($data['usersSubscriptions'][$user->id]);
144 $counter = 0;
145 foreach ($data['usersSubscriptions'][$user->id] as $oneSub) {
146 $classes = 'acym_subscription acym_toggleable ';
147 $newvalue = intval($oneSub->status) === 1 ? 0 : 1;
148 $classes .= $newvalue === 0 ? 'acymicon-circle' : 'acymicon-radio-button-unchecked';
149 if ($counter >= 5 && $subscriptionsCount !== 6) $classes .= ' acym_subscription_more';
150 $toggleAttributes = 'data-acy-user-id="'.$user->id.'" data-acy-list-name="'.$oneSub->name.'" data-acy-list-id="'.$oneSub->id.'"';
151
152 $dataTask = $newvalue === 0 ? 'unsubscribeOnClick' : 'subscribeOnClick';
153 $toggleAttributes .= ' data-acy-task="'.$dataTask.'"';
154
155 $toggleAttributes .= ' data-acy-newvalue="'.$newvalue.'"';
156
157 acym_tooltip(
158 [
159 'hoveredText' => '<i class="'.$classes.'" style="color:'.esc_attr($oneSub->color).'" '.$toggleAttributes.'></i>',
160 'textShownInTooltip' => acym_translationSprintf(
161 $newvalue === 0 ? 'ACYM_SUBSCRIBED_TO_LIST' : 'ACYM_UNSUBSCRIBED_FROM_LIST',
162 esc_html($oneSub->name)
163 ),
164 ]
165 );
166 $counter++;
167 }
168
169 if ($counter > 5 && $subscriptionsCount !== 6) {
170 $counter = $counter - 5;
171 echo '<span class="acym__user__show-subscription acymicon-stack" data-iscollapsed="0" acym-data-value="'.esc_attr($counter).'">
172 <i class="acym__user__button__showsubscription acymicon-circle acymicon-stack-2x"></i>
173 <span class="acym__listing__text acym__user__show-subscription-bt acymicon-stack-1x">+'.esc_html($counter).'</span>
174 </span>';
175 }
176 }
177 ?>
178 </div>
179 <?php if (acym_isAdmin()) { ?>
180 <div class="cell hide-for-small-only medium-1">
181 <?php
182 if (empty($user->cms_id)) {
183 echo '-';
184 } else {
185 echo '<a href="'.esc_url(acym_getCmsUserEdit($user->cms_id)).'" target="_blank">';
186 echo esc_html($user->cms_username).'<br />';
187 echo esc_html(acym_translation('ACYM_ID').': '.$user->cms_id);
188 echo '</a>';
189 }
190 ?>
191 </div>
192 <?php } ?>
193 <div class="acym__listing__controls acym__users__controls small-1 text-center cell acym__icon__table">
194 <?php
195 if ($user->active == 1) {
196 $class = 'acymicon-check-circle acym__color__green';
197 $newvalue = 0;
198 $tooltip = 'ACYM_ACTIVATED';
199 } else {
200 $class = 'acymicon-times-circle acym__color__red';
201 $newvalue = 1;
202 $tooltip = 'ACYM_DEACTIVATED';
203 }
204 acym_tooltip(
205 [
206 'hoveredText' => '<i data-acy-table="user" data-acy-field="active" data-acy-elementid="'.esc_attr(
207 $user->id
208 ).'" data-acy-newvalue="'.esc_attr($newvalue).'" class="acym_toggleable '.esc_attr($class).'"></i>',
209 'textShownInTooltip' => acym_translation($tooltip),
210 ]
211 );
212
213 if ($this->config->get('require_confirmation', '0') == '1') {
214 if ($user->confirmed == 1) {
215 $class = 'acymicon-check-circle acym__color__green';
216 $newvalue = 0;
217 $tooltip = 'ACYM_CONFIRMED';
218 } else {
219 $class = 'acymicon-times-circle acym__color__red';
220 $newvalue = 1;
221 $tooltip = 'ACYM_NOT_CONFIRMED';
222 }
223 acym_tooltip(
224 [
225 'hoveredText' => '<i data-acy-table="user" data-acy-field="confirmed" data-acy-elementid="'.esc_attr(
226 $user->id
227 ).'" data-acy-newvalue="'.esc_attr($newvalue).'" class="acym_toggleable '.esc_attr($class).'"></i>',
228 'textShownInTooltip' => acym_translation($tooltip),
229 ]
230 );
231 }
232 ?>
233 </div>
234 <div class="large-1 hide-for-small-only hide-for-medium-only cell text-center acym__icon__table">
235 <a href="<?php echo esc_url($linkUser); ?>"><i class="acymicon-pencil" title="<?php echo esc_attr(acym_translation('ACYM_EDIT')); ?>"></i></a>
236 <?php if (acym_isAdmin()) { ?>
237 <a><i class="acymicon-download fastActions"
238 data-action="export"
239 data-acy-elementid="<?php echo esc_attr($user->id); ?>"
240 title="<?php echo esc_attr(acym_translation('ACYM_EXPORT')); ?>"></i></a>
241 <?php } ?>
242 <i class="cursor-pointer acymicon-delete fastActions deleteFastAction"
243 data-action="delete"
244 data-acy-elementid="<?php echo esc_attr($user->id); ?>"
245 title="<?php echo esc_attr(acym_translation('ACYM_DELETE')); ?>"></i>
246 </div>
247 <div class="text-center medium-shrink hide-for-small-only acym__listing__text acym__listing__id"><?php echo esc_html($user->id); ?></div>
248 </div>
249 </div>
250 <?php
251 }
252 ?>
253 </div>
254 <?php
255 $data['pagination']->display('users');
256 }
257