PluginProbe
AcyMailing – An Ultimate Newsletter Plugin and Marketing Automation Solution for WordPress / 10.11.1
AcyMailing – An Ultimate Newsletter Plugin and Marketing Automation Solution for WordPress v10.11.1
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 / Helpers / global / view.php

view.php in AcyMailing – An Ultimate Newsletter Plugin and Marketing Automation Solution for WordPress 10.11.1, at back/Helpers/global/view.php

492 lines 15.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 function acym_getView(string $ctrl, string $view, bool $forceBackend = false): string
4 {
5 $override = acym_getPageOverride($ctrl, $view, $forceBackend);
6
7 if (file_exists($override)) {
8 return $override;
9 } else {
10 $viewsFolder = ($forceBackend || acym_isAdmin()) ? ACYM_VIEW : ACYM_VIEW_FRONT;
11
12 return $viewsFolder.ucfirst($ctrl).DS.'tmpl'.DS.$view.'.php';
13 }
14 }
15
16 function acym_getPartial(string $family, string $view): string
17 {
18 return ACYM_PARTIAL.$family.DS.$view.'.php';
19 }
20
21 function acym_loadAssets(string $ctrl, string $task): void
22 {
23 $scope = acym_isAdmin() ? 'back' : 'front';
24 acym_loadCmsScripts();
25
26 acym_addScript(
27 true,
28 'const ACYM_AVAILABLE_PLUGINS = "'.str_replace('"', '\"', ACYM_AVAILABLE_PLUGINS).'";
29 const ACYM_UPDATEME_API_URL = "'.ACYM_UPDATEME_API_URL.'";
30 const ACYM_MEDIA_URL = "'.ACYM_MEDIA_URL.'";
31 const ACYM_CMS = "'.addslashes(ACYM_CMS).'";
32 const ACYM_J40 = '.(defined('ACYM_J40') && ACYM_J40 ? 'true' : 'false').';
33 const FOUNDATION_FOR_EMAIL = "'.ACYM_CSS.'libraries/foundation_email.min.css?v='.filemtime(ACYM_MEDIA.'css'.DS.'libraries'.DS.'foundation_email.min.css').'";
34 const ACYM_FIXES_FOR_EMAIL = "'.str_replace('"', '\"', acym_getEmailCssFixes()).'";
35 const ACYM_REGEX_EMAIL = /^'.acym_getEmailRegex(true).'$/i;
36 const ACYM_JS_TXT = '.acym_getJSMessages().';
37 const ACYM_CORE_DYNAMICS_URL = "'.ACYM_CORE_DYNAMICS_URL.'";
38 const ACYM_PLUGINS_URL = "'.addslashes(ACYM_PLUGINS_URL).'";
39 const ACYM_ROOT_URI = "'.acym_rootURI().'";
40 const ACYM_CONTROLLER = "'.addslashes($ctrl).'";
41 const ACYM_TASK = "'.addslashes($task).'";
42 const ACYM_SOCIAL_MEDIA = "'.addslashes(ACYM_SOCIAL_MEDIA).'";'
43 );
44
45 acym_addScript(false, ACYM_JS.'helpers.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'helpers.min.js'));
46
47 if ($ctrl !== 'archive') {
48 acym_addScript(false, ACYM_JS.'libraries/foundation.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'libraries'.DS.'foundation.min.js'));
49 }
50
51 if ('back' === $scope) {
52 acym_addScript(false, ACYM_JS.'libraries/select2.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'libraries'.DS.'select2.min.js'));
53 acym_addScript(false, ACYM_JS.$scope.'_helpers.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.$scope.'_helpers.min.js'));
54 }
55
56 acym_addScript(false, ACYM_JS.'global.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'global.min.js'));
57 acym_addScript(false, ACYM_JS.$scope.'_global.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.$scope.'_global.min.js'));
58
59 if (file_exists(ACYM_MEDIA.'js'.DS.$scope.DS.$ctrl.'.min.js')) {
60 $params = [];
61 if ($ctrl === 'frontusers' && $task === 'unsubscribepage') {
62 $params['defer'] = true;
63 }
64 acym_addScript(false, ACYM_JS.$scope.'/'.$ctrl.'.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.$scope.DS.$ctrl.'.min.js'), $params);
65 }
66
67 if (file_exists(ACYM_MEDIA.'js'.DS.$scope.DS.$ctrl.DS.$task.'.min.js')) {
68 acym_addScript(false, ACYM_JS.$scope.'/'.$ctrl.'/'.$task.'.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.$scope.DS.$ctrl.DS.$task.'.min.js'));
69 }
70
71 acym_addStyle(false, ACYM_CSS.'global.min.css?v='.filemtime(ACYM_MEDIA.'css'.DS.'global.min.css'));
72
73 if (!acym_isExcludedFrontView($ctrl, $task)) {
74 acym_addStyle(false, ACYM_CSS.$scope.'_global.min.css?v='.filemtime(ACYM_MEDIA.'css'.DS.$scope.'_global.min.css'));
75 }
76
77 if (file_exists(ACYM_MEDIA.'css'.DS.$scope.DS.$ctrl.'.min.css')) {
78 acym_addStyle(false, ACYM_CSS.$scope.'/'.$ctrl.'.min.css?v='.filemtime(ACYM_MEDIA.'css'.DS.$scope.DS.$ctrl.'.min.css'));
79 }
80 }
81
82 function acym_getJSMessages(): string
83 {
84 $msg = '{';
85 $msg .= '"email": "'.acym_translation('ACYM_VALID_EMAIL', true).'",';
86 $msg .= '"number": "'.acym_translation('ACYM_VALID_NUMBER', true).'",';
87 $msg .= '"requiredMsg": "'.acym_translation('ACYM_REQUIRED_FIELD', true).'",';
88 $msg .= '"defaultMsg": "'.acym_translation('ACYM_DEFAULT_VALIDATION_ERROR', true).'"';
89
90 $keysToLoad = [
91 'ACYM_UNSUBSCRIBED_FROM_LIST',
92 'ACYM_SUBSCRIBED_TO_LIST',
93 'ACYM_FOLLOW_UP',
94 'ACYM_FOLLOW_UPS',
95 'ACYM_MAILBOX_ACTIONS',
96 'ACYM_MAILBOX_ACTION',
97 'ACYM_TEMPLATE',
98 'ACYM_TEMPLATES',
99 'ACYM_CAMPAIGN',
100 'ACYM_CAMPAIGNS',
101 'ACYM_ELEMENT',
102 'ACYM_FORMS',
103 'ACYM_FORM',
104 'ACYM_USERS',
105 'ACYM_USER',
106 'ACYM_FIELD',
107 'ACYM_FIELDS',
108 'ACYM_LIST',
109 'ACYM_LISTS',
110 'ACYM_SEGMENTS',
111 'ACYM_SEGMENT',
112 'ACYM_OVERRIDES',
113 'ACYM_AUTOMATION',
114 'ACYM_QUEUE',
115 'ACYM_BOUNCES',
116 'ACYM_OVERRIDE',
117 'ACYM_AUTOMATIONS',
118 'ACYM_BOUNCE',
119 'ACYM_ARE_YOU_SURE_DELETE_ONE_X',
120 'ACYM_ARE_YOU_SURE_DELETE_X',
121 'ACYM_ARE_YOU_SURE_ACTIVE_X',
122 'ACYM_ARE_YOU_SURE_INACTIVE_X',
123 'ACYM_ARE_YOU_SURE_ACTIVE_ONE_X',
124 'ACYM_ARE_YOU_SURE_INACTIVE_ONE_X',
125 'ACYM_BACKGROUND_IMAGE',
126 'ACYM_ACTIVATED',
127 'ACYM_DEACTIVATED',
128 'ACYM_NOT_ENABLED_YET',
129 'ACYM_LICENSE_ACTIVATED',
130 'ACYM_SELECT_FIELD',
131 'ACYM_NO_FIELD_AVAILABLE',
132 'ACYM_SUBMIT_AND_DEACTIVATE',
133 'ACYM_SKIP_AND_DEACTIVATE',
134 'ACYM_SAVE',
135 'ACYM_ARE_YOU_SURE',
136 'ACYM_INSERT_IMG_BAD_NAME',
137 'ACYM_NON_VALID_URL',
138 'ACYM_SEARCH',
139 'ACYM_CANCEL',
140 'ACYM_CONFIRM',
141 'ACYM_TEMPLATE_CHANGED_CLICK_ON_SAVE',
142 'ACYM_SURE_SEND_TRANSALTION',
143 'ACYM_TESTS_SPAM_SENT',
144 'ACYM_CONFIRMATION_CANCEL_CAMPAIGN_QUEUE',
145 'ACYM_EXPORT_SELECT_LIST',
146 'ACYM_YES',
147 'ACYM_NO',
148 'ACYM_NEXT',
149 'ACYM_BACK',
150 'ACYM_SKIP',
151 'ACYM_INTRO_DRAG_CONTENT',
152 'ACYM_SEND_TEST_SUCCESS',
153 'ACYM_SEND_TEST_ERROR',
154 'ACYM_COPY_DEFAULT_TRANSLATIONS_CONFIRM',
155 'ACYM_BECARFUL_BACKGROUND_IMG',
156 'ACYM_CANT_DELETE_AND_SAVE',
157 'ACYM_AND',
158 'ACYM_OR',
159 'ACYM_ERROR',
160 'ACYM_EDIT_MAIL',
161 'ACYM_CREATE_MAIL',
162 'ACYM_DELETE_MY_DATA_CONFIRM',
163 'ACYM_CHOOSE_COLUMN',
164 'ACYM_AUTOSAVE_USE',
165 'ACYM_SELECT_NEW_ICON',
166 'ACYM_SESSION_IS_GOING_TO_END',
167 'ACYM_CLICKS_OUT_OF',
168 'ACYM_OF_CLICKS',
169 'ACYM_ARE_SURE_DUPLICATE_TEMPLATE',
170 'ACYM_NOT_FOUND',
171 'ACYM_EMAIL',
172 'ACYM_EMAILS',
173 'ACYM_ERROR_SAVING',
174 'ACYM_LOADING_ERROR',
175 'ACYM_AT_LEAST_ONE_USER',
176 'ACYM_NO_DCONTENT_TEXT',
177 'ACYM_PREVIEW',
178 'ACYM_PREVIEW_DESC',
179 'ACYM_CONTENT_TYPE',
180 'ACYM_TEMPLATE_EMPTY',
181 'ACYM_DRAG_BLOCK_AND_DROP_HERE',
182 'ACYM_WELL_DONE_DROP_HERE',
183 'ACYM_REPLACE_CONFIRM',
184 'ACYM_STATS_START_DATE_LOWER',
185 'ACYM_ARE_YOU_SURE_DELETE_ADD_ON',
186 'ACYM_COULD_NOT_SUBMIT_FORM_CONTACT_ADMIN_WEBSITE',
187 'ACYM_TEMPLATE_CREATED',
188 'ACYM_UNSUBSCRIBE',
189 'ACYM_BUTTON',
190 'ACYM_SPACE_BETWEEN_BLOCK',
191 'ACYM_X1_AND_X2',
192 'ACYM_COULD_NOT_SAVE_THUMBNAIL_ERROR_X',
193 'ACYM_REQUEST_FAILED_TIMEOUT',
194 'ACYM_INSERT_DYNAMIC_TEXT',
195 'ACYM_PLEASE_SET_A_LICENSE_KEY',
196 'ACYM_COULD_NOT_UPLOAD_CSV_FILE',
197 'ACYM_RESET_VIEW_CONFIRM',
198 'ACYM_FILL_ALL_INFORMATION',
199 'ACYM_ASSIGN_EMAIL_COLUMN',
200 'ACYM_DUPLICATE_X_FOR_X',
201 'ACYM_SEARCH_FOR_GIFS',
202 'ACYM_NO_RESULTS_FOUND',
203 'ACYM_SEARCH_GIFS',
204 'ACYM_COULD_NOT_LOAD_GIF_TRY_AGAIN',
205 'ACYM_DONT_APPLY_STYLE_TAG_A',
206 'ACYM_TITLE',
207 'ACYM_PRICE',
208 'ACYM_SHORT_DESCRIPTION',
209 'ACYM_DESCRIPTION',
210 'ACYM_CATEGORIES',
211 'ACYM_DETAILS',
212 'ACYM_LINK',
213 'ACYM_INTRO_TEXT',
214 'ACYM_FULL_TEXT',
215 'ACYM_CATEGORY',
216 'ACYM_PUBLISHING_DATE',
217 'ACYM_READ_MORE',
218 'ACYM_IMAGE',
219 'ACYM_DOWNLOAD',
220 'ACYM_INTRO_ONLY',
221 'ACYM_EXCERPT',
222 'ACYM_LINK_DOWNLOAD',
223 'ACYM_IMAGE_HTML_TAG',
224 'ACYM_LOCATION',
225 'ACYM_TAGS',
226 'ACYM_START_DATE',
227 'ACYM_END_DATE',
228 'ACYM_FEATURED_IMAGE',
229 'ACYM_DATE',
230 'ACYM_START_DATE',
231 'ACYM_START_DATE_SIMPLE',
232 'ACYM_END_DATE_SIMPLE',
233 'ACYM_AUTHOR',
234 'ACYM_SHOW_FILTERS',
235 'ACYM_HIDE_FILTERS',
236 'ACYM_PLEASE_FILL_FORM_NAME',
237 'ACYM_SELECT',
238 'ACYM_CHANGE',
239 'ACYM_ENTER_SUBJECT',
240 'ACYM_REMOVE_LANG_CONFIRMATION',
241 'ACYM_RESET_TRANSLATION',
242 'ACYM_SAVE_AS_TEMPLATE_CONFIRMATION',
243 'ACYM_VERTICAL_PADDING',
244 'ACYM_HORIZONTAL_PADDING',
245 'ACYM_VERTICAL_PADDING_DESC',
246 'ACYM_HORIZONTAL_PADDING_DESC',
247 'ACYM_SELECT_A_PICTURE',
248 'ACYM_PLEASE_SELECT_FILTERS',
249 'ACYM_DELETE_THIS_FILTER',
250 'ACYM_IF_YOU_SELECT_SEGMENT_FILTERS_ERASE',
251 'ACYM_PLEASE_FILL_A_NAME_FOR_YOUR_SEGMENT',
252 'ACYM_COULD_NOT_SAVE_SEGMENT',
253 'ACYM_SENT',
254 'ACYM_RECIPIENTS',
255 'ACYM_RESET_OVERRIDES_CONFIRMATION',
256 'ACYM_OPEN_PERCENTAGE',
257 'ACYM_MONDAY',
258 'ACYM_TUESDAY',
259 'ACYM_WEDNESDAY',
260 'ACYM_THURSDAY',
261 'ACYM_FRIDAY',
262 'ACYM_SATURDAY',
263 'ACYM_SUNDAY',
264 'ACYM_SELECT2_RESULTS_NOT_LOADED',
265 'ACYM_SELECT2_DELETE_X_CHARACTERS',
266 'ACYM_SELECT2_ENTER_X_CHARACTERS',
267 'ACYM_SELECT2_LOADING_MORE_RESULTS',
268 'ACYM_SELECT2_LIMIT_X_ITEMS',
269 'ACYM_SELECT2_SEARCHING',
270 'ACYM_JANUARY',
271 'ACYM_FEBRUARY',
272 'ACYM_MARCH',
273 'ACYM_APRIL',
274 'ACYM_MAY',
275 'ACYM_JUNE',
276 'ACYM_JULY',
277 'ACYM_AUGUST',
278 'ACYM_SEPTEMBER',
279 'ACYM_OCTOBER',
280 'ACYM_NOVEMBER',
281 'ACYM_DECEMBER',
282 'ACYM_NEW_SUBSCRIBERS',
283 'ACYM_NEW_UNSUBSCRIBERS',
284 'ACYM_DEFAULT',
285 'ACYM_SELECT_IMAGE_TO_UPLOAD',
286 'ACYM_USE_THIS_IMAGE',
287 'ACYM_BACKGROUND_COLOR',
288 'ACYM_BACKGROUND_COLOR_DESC',
289 'ACYM_START_HOUR',
290 'ACYM_END_HOUR',
291 'ACYM_START_MINUTES',
292 'ACYM_END_MINUTES',
293 'ACYM_START_AM_PM',
294 'ACYM_END_AM_PM',
295 'ACYM_START_DAY_TIME',
296 'ACYM_END_DAY_TIME',
297 'ACYM_LOCATION_URL',
298 'ACYM_LATITUDE_LONGITUDE',
299 'ACYM_ADDRESS',
300 'ACYM_NO_FILE_CHOSEN',
301 'ACYM_BEFORE_FIELDS',
302 'ACYM_AFTER_FIELDS',
303 'ACYM_MODE_HORIZONTAL',
304 'ACYM_MODE_VERTICAL',
305 'ACYM_MODE_TABLELESS',
306 'ACYM_TEXT_INSIDE',
307 'ACYM_TEXT_OUTSIDE',
308 'ACYM_NO',
309 'ACYM_CONNECTED_USER_SUBSCRIBED',
310 'ACYM_SUCCESS_REPLACE',
311 'ACYM_SUCCESS_REPLACE_TEMP',
312 'ACYM_SUCCESS_TOP_TEMP',
313 'ACYM_SUCCESS_STANDARD',
314 'ACYM_LEFT',
315 'ACYM_CENTER',
316 'ACYM_RIGHT',
317 'ACYM_IN_HEADER',
318 'ACYM_ON_THE_MODULE',
319 'ACYM_ACYMAILING_SUBSCRIPTION_FORM',
320 'ACYM_MAIN_OPTIONS',
321 'ACYM_DISPLAY_MODE',
322 'ACYM_SUBSCRIBE_TEXT',
323 'ACYM_SUBSCRIBE_TEXT_LOGGED_IN',
324 'ACYM_AUTO_SUBSCRIBE_TO',
325 'ACYM_DISPLAYED_LISTS',
326 'ACYM_LISTS_CHECKED_DEFAULT',
327 'ACYM_DISPLAY_LISTS',
328 'ACYM_LISTS_OPTIONS',
329 'ACYM_FIELDS_OPTIONS',
330 'ACYM_FIELDS_TO_DISPLAY',
331 'ACYM_TEXT_MODE',
332 'ACYM_TERMS_POLICY_OPTIONS',
333 'ACYM_TERMS_CONDITIONS',
334 'ACYM_PRIVACY_POLICY',
335 'ACYM_TERMS_CONDITIONS_URL',
336 'ACYM_PRIVACY_POLICY_URL',
337 'ACYM_SUBSCRIBE_OPTIONS',
338 'ACYM_SUCCESS_MODE',
339 'ACYM_CONFIRMATION_MESSAGE',
340 'ACYM_UNSUBSCRIBE_OPTIONS',
341 'ACYM_DISPLAY_UNSUB_BUTTON',
342 'ACYM_UNSUBSCRIBE_TEXT',
343 'ACYM_REDIRECT_LINK_UNSUB',
344 'ACYM_ADVANCED_OPTIONS',
345 'ACYM_POST_TEXT',
346 'ACYM_ALIGNMENT',
347 'ACYM_MODULE_JS',
348 'ACYM_SOURCE',
349 'ACYM_FORM_AUTOFILL_ID',
350 'ACYM_REDIRECT_LINK',
351 'ACYM_DKIM_KEY',
352 'ACYM_VALUE',
353 'ACYM_CF_VALUE_CHANGED',
354 'ACYM_OLD_VALUE',
355 'ACYM_NEW_VALUE',
356 'ACYM_CUSTOM_FIELDS',
357 'ACYM_CUSTOM_VIEW_EDITOR_DESC',
358 'ACYM_PREVIEW_CUSTOM_VIEW',
359 'ACYM_ORGANIZER',
360 'ACYM_ACYMAILING_PROFILE_FORM',
361 'ACYM_VISIBLE_LISTS',
362 'ACYM_DROPDOWN_LISTS',
363 'ACYM_ACYMAILING_ARCHIVE_FORM',
364 'ACYM_ARCHIVE_POPUP',
365 'ACYM_ARCHIVE_ONLY_USER_LIST',
366 'ACYM_ZONE_NAME',
367 'ACYM_ZONE_SAVE_TEXT',
368 'ACYM_NEW_CUSTOM_ZONE',
369 'ACYM_INSERT',
370 'ACYM_LOAD',
371 'ACYM_CONFIRM_DELETION_ZONE',
372 'ACYM_WIDGET_CAMPAIGN_NUMBER_PER_PAGE',
373 'ACYM_OTHER_ORGANIZER',
374 'ACYM_OTHER_LOCATION',
375 'ACYM_NEXT_OCCURRENCES',
376 'ACYM_CONDITIONS_AND_FILTERS_WILL_BE_DELETED',
377 'ACYM_PENDING',
378 'ACYM_APPROVAL_FAILED',
379 'ACYM_VALIDATED',
380 'ACYM_WALK_ACYMAILER_STATUS_SUCCESS',
381 'ACYM_WALK_ACYMAILER_STATUS_FAIL',
382 'ACYM_WALK_ACYMAILER_STATUS_WAIT',
383 'ACYM_ALWAYS',
384 'ACYM_COULD_NOT_LOAD_UNSPLASH',
385 'ACYM_REACHED_SEARCH_LIMITS',
386 'ACYM_SEARCH_IMAGES',
387 'ACYM_SEARCH_FOR_IMAGES',
388 'ACYM_FULL_WIDTH',
389 'ACYM_MEDIUM',
390 'ACYM_SMALL',
391 'ACYM_THUMBNAIL',
392 'ACYM_ORIENTATION',
393 'ACYM_LANDSCAPE',
394 'ACYM_PORTRAIT',
395 'ACYM_SQUARISH',
396 'ACYM_UNSPLASH_KEY_NEEDED',
397 'ACYM_GET_ONE_HERE',
398 'ACYM_ENTITY',
399 'ACYM_DELETE_DOMAIN_CONFIRMATION',
400 'ACYM_GIPHY_KEY_NEEDED',
401 'ACYM_COPY_CODE',
402 'ACYM_SCENARIO_ARE_YOU_SURE_DELETE_X',
403 'ACYM_DELAY',
404 'ACYM_CONDITION',
405 'ACYM_ACTION',
406 'ACYM_TRIGGER',
407 'ACYM_MINUTES',
408 'ACYM_HOURS',
409 'ACYM_DAYS',
410 'ACYM_ADD_DELAY',
411 'ACYM_ADD_CONDITION',
412 'ACYM_ADD_ACTION',
413 'ACYM_WAIT_X_UNIT',
414 'ACYM_DELAY_MUST_BE_SET',
415 'ACYM_SETTINGS',
416 'ACYM_SCENARIO_ARE_YOU_SURE_DELETE_X_WITH_CHILDREN_NODES',
417 'ACYM_SCENARIO',
418 'ACYM_SCENARIOS',
419 'ACYM_EXTRA_INFORMATION',
420 'ACYM_SELECT_A_PAGE',
421 'ACYM_DEDICATED_SENDING_PROCESS_WARNING',
422 'ACYM_GET_MY_API_KEY',
423 'ACYM_DOMAIN_UNDER_REVIEW',
424 ];
425
426 foreach ($keysToLoad as $oneKey) {
427 $msg .= ',"'.$oneKey.'": "'.acym_translation($oneKey, true).'"';
428 }
429
430 $msg .= '}';
431
432 return $msg;
433 }
434
435 function acym_isExcludedFrontView(string $ctrl, string $task): bool
436 {
437 if ('archive' === $ctrl && $task === 'view') {
438 return true;
439 }
440
441 if ('frontusers' === $ctrl && 'profile' === $task) {
442 return true;
443 }
444
445 return false;
446 }
447
448 function acym_listingActions(array $actions, string $deleteMessage = '', string $ctrl = ''): string
449 {
450 $defaultAction = new stdClass();
451 $defaultAction->value = 0;
452 $defaultAction->text = acym_translation('ACYM_CHOOSE_ACTION');
453 $defaultAction->disable = true;
454
455 array_unshift($actions, $defaultAction);
456
457 $completeMessage = '<input id="acym__listing__action__delete-message" value="'.(empty($deleteMessage) ? '' : acym_escape($deleteMessage)).'" type="hidden">';
458
459 $attributes = [
460 'class' => 'medium-shrink cell margin-right-1',
461 ];
462 if (!empty($ctrl)) {
463 $attributes['data-ctrl'] = $ctrl;
464 $completeMessage .= ' <input type="hidden" name="return_listing">';
465 }
466
467 return acym_select(
468 $actions,
469 '',
470 0,
471 $attributes,
472 'value',
473 'text',
474 'listing_actions'
475 ).$completeMessage;
476 }
477
478 function acym_backToListing(?string $listingName = null): string
479 {
480 if (empty($listingName)) {
481 $listingName = acym_getVar('cmd', 'ctrl');
482 }
483
484 $returnLink = '<p class="acym__back_to_listing">';
485 $returnLink .= '<a href="'.acym_escapeUrl(acym_completeLink($listingName)).'" class="acym_vcenter">';
486 $returnLink .= '<i class="acymicon-chevron-left"></i> '.acym_translation('ACYM_BACK_TO_LISTING');
487 $returnLink .= '</a>';
488 $returnLink .= '</p>';
489
490 return $returnLink;
491 }
492