Minimal Coming Soon & Maintenance Mode - Version 2.36

Version Description

  • 2022-11-20
  • replaced Google Fonts with GDPR compatible Bunny fonts
  • fixed translation issues
  • security issues fixed
Download this release

Release Info

Developer WebFactory
Plugin Icon 128x128 Minimal Coming Soon & Maintenance Mode
Version 2.36
Comparing to
See all releases

Code changes from version 2.35 to 2.36

Files changed (159) hide show
  1. framework/admin/include/fonts.php +1 -1
  2. framework/admin/init.php +5 -33
  3. framework/admin/js/admin.js +4 -4
  4. framework/admin/js/colorpicker/jscolor.js +2 -2
  5. framework/admin/js/plugins.js +7 -9
  6. framework/admin/js/webfont.js +45 -0
  7. framework/admin/settings.php +2 -2
  8. framework/admin/views/header.php +3 -3
  9. framework/admin/views/settings-advanced.php +14 -14
  10. framework/admin/views/settings-basic.php +28 -28
  11. framework/admin/views/settings-design.php +68 -66
  12. framework/admin/views/settings-email.php +28 -28
  13. framework/admin/views/settings-form.php +65 -65
  14. framework/admin/views/settings-pro.php +31 -31
  15. framework/admin/views/settings-support.php +7 -7
  16. framework/admin/views/settings-themes.php +7 -7
  17. framework/admin/views/settings.php +17 -17
  18. framework/init.php +307 -5
  19. framework/public/img/backgrounds/aaron-burden-189321-unsplash.jpg +0 -0
  20. framework/public/img/backgrounds/alberto-restifo-4510-unsplash.jpg +0 -0
  21. framework/public/img/backgrounds/amy-humphries-227515-unsplash.jpg +0 -0
  22. framework/public/img/backgrounds/anders-jilden-89745-unsplash.jpg +0 -0
  23. framework/public/img/backgrounds/annie-spratt-1369965-unsplash.jpg +0 -0
  24. framework/public/img/backgrounds/art-by-lonfeldt-1064207-unsplash.jpg +0 -0
  25. framework/public/img/backgrounds/brenda-godinez-229718-unsplash.jpg +0 -0
  26. framework/public/img/backgrounds/brooke-lark-229136-unsplash.jpg +0 -0
  27. framework/public/img/backgrounds/brooke-lark-356767-unsplash.jpg +0 -0
  28. framework/public/img/backgrounds/carmine-de-fazio-31543-unsplash.jpg +0 -0
  29. framework/public/img/backgrounds/chuttersnap-Dfay_PcHm-E-unsplash.jpg +0 -0
  30. framework/public/img/backgrounds/corentin-hais-NE6cZGd_A_A-unsplash.jpg +0 -0
  31. framework/public/img/backgrounds/denys-nevozhai-100695-unsplash.jpg +0 -0
  32. framework/public/img/backgrounds/dustin-lee-19667-unsplash.jpg +0 -0
  33. framework/public/img/backgrounds/elena-prokofyeva-17909-unsplash.jpg +0 -0
  34. framework/public/img/backgrounds/fancycrave-284224-unsplash.jpg +0 -0
  35. framework/public/img/backgrounds/fezbot2000-278419-unsplash.jpg +0 -0
  36. framework/public/img/backgrounds/glenn-carstens-peters-190592-unsplash.jpg +0 -0
  37. framework/public/img/backgrounds/greg-rakozy-38802-unsplash.jpg +0 -0
  38. framework/public/img/backgrounds/henry-be-99471-unsplash.jpg +0 -0
  39. framework/public/img/backgrounds/hoach-le-dinh-91879-unsplash.jpg +0 -0
  40. framework/public/img/backgrounds/ian-dooley-280928-unsplash.jpg +0 -0
  41. framework/public/img/backgrounds/ian-schneider-108618-unsplash.jpg +0 -0
  42. framework/public/img/backgrounds/jakub-sejkora-42069-unsplash.jpg +0 -0
  43. framework/public/img/backgrounds/jeremy-bishop-334996-unsplash.jpg +0 -0
  44. framework/public/img/backgrounds/jesus-kiteque-224069-unsplash.jpg +0 -0
  45. framework/public/img/backgrounds/joanna-kosinska-44214-unsplash.jpg +0 -0
  46. framework/public/img/backgrounds/john-cobb-13961-unsplash.jpg +0 -0
  47. framework/public/img/backgrounds/jonathan-bean-37632-unsplash.jpg +0 -0
  48. framework/public/img/backgrounds/jonathan-borba-1339221-unsplash.jpg +0 -0
  49. framework/public/img/backgrounds/joshua-coleman-1394520-unsplash.jpg +0 -0
  50. framework/public/img/backgrounds/joshua-coleman-1476380-unsplash.jpg +0 -0
  51. framework/public/img/backgrounds/joshua-coleman-623077-unsplash.jpg +0 -0
  52. framework/public/img/backgrounds/kimon-maritz-193428-unsplash.jpg +0 -0
  53. framework/public/img/backgrounds/lana-guillemet-1373193-unsplash.jpg +0 -0
  54. framework/public/img/backgrounds/luca-micheli-mZ4RmsyCGDg-unsplash.jpg +0 -0
  55. framework/public/img/backgrounds/manuel-venturini-38cyDa5x7qU-unsplash.jpg +0 -0
  56. framework/public/img/backgrounds/marek-piwnicki-ka-wH-JbnDA-unsplash.jpg +0 -0
  57. framework/public/img/backgrounds/martin-reisch-185835-unsplash.jpg +0 -0
  58. framework/public/img/backgrounds/matthew-henry-49707-unsplash.jpg +0 -0
  59. framework/public/img/backgrounds/nazar-sharafutdinov-1373782-unsplash.jpg +0 -0
  60. framework/public/img/backgrounds/ng-32703-unsplash.jpg +0 -0
  61. framework/public/img/backgrounds/nitish-meena-37745-unsplash.jpg +0 -0
  62. framework/public/img/backgrounds/osman-rana-1064081-unsplash.jpg +0 -0
  63. framework/public/img/backgrounds/patrick-tomasso-208114-unsplash.jpg +0 -0
  64. framework/public/img/backgrounds/patrick-tomasso-71909-unsplash.jpg +0 -0
  65. framework/public/img/backgrounds/pawel-czerwinski-1060762-unsplash.jpg +0 -0
  66. framework/public/img/backgrounds/pawel-czerwinski-1373010-unsplash.jpg +0 -0
  67. framework/public/img/backgrounds/pawel-czerwinski-UN308c8fwEo-unsplash.jpg +0 -0
  68. framework/public/img/backgrounds/rachael-gorjestani-282049-unsplash.jpg +0 -0
  69. framework/public/img/backgrounds/rawpixel-191102-unsplash.jpg +0 -0
  70. framework/public/img/backgrounds/robert-bye-103196-unsplash.jpg +0 -0
  71. framework/public/img/backgrounds/samuel-zeller-379406-unsplash.jpg +0 -0
  72. framework/public/img/backgrounds/sarah-dorweiler-211779-unsplash.jpg +0 -0
  73. framework/public/img/backgrounds/simon-matzinger-320332-unsplash.jpg +0 -0
  74. framework/public/img/backgrounds/stefan-stefancik-105374-unsplash.jpg +0 -0
  75. framework/public/img/backgrounds/steven-wei-124690-unsplash.jpg +0 -0
  76. framework/public/img/backgrounds/sunrise-1756274.jpg +0 -0
  77. framework/public/img/backgrounds/teddy-kelley-106391-unsplash.jpg +0 -0
  78. framework/public/img/backgrounds/thought-catalog-214785-unsplash.jpg +0 -0
  79. framework/public/img/backgrounds/thumbs/aaron-burden-189321-unsplash.jpg +0 -0
  80. framework/public/img/backgrounds/thumbs/alberto-restifo-4510-unsplash.jpg +0 -0
  81. framework/public/img/backgrounds/thumbs/amy-humphries-227515-unsplash.jpg +0 -0
  82. framework/public/img/backgrounds/thumbs/anders-jilden-89745-unsplash.jpg +0 -0
  83. framework/public/img/backgrounds/thumbs/annie-spratt-1369965-unsplash.jpg +0 -0
  84. framework/public/img/backgrounds/thumbs/art-by-lonfeldt-1064207-unsplash.jpg +0 -0
  85. framework/public/img/backgrounds/thumbs/brenda-godinez-229718-unsplash.jpg +0 -0
  86. framework/public/img/backgrounds/thumbs/brooke-lark-229136-unsplash.jpg +0 -0
  87. framework/public/img/backgrounds/thumbs/brooke-lark-356767-unsplash.jpg +0 -0
  88. framework/public/img/backgrounds/thumbs/carmine-de-fazio-31543-unsplash.jpg +0 -0
  89. framework/public/img/backgrounds/thumbs/chuttersnap-Dfay_PcHm-E-unsplash.jpg +0 -0
  90. framework/public/img/backgrounds/thumbs/corentin-hais-NE6cZGd_A_A-unsplash.jpg +0 -0
  91. framework/public/img/backgrounds/thumbs/denys-nevozhai-100695-unsplash.jpg +0 -0
  92. framework/public/img/backgrounds/thumbs/dustin-lee-19667-unsplash.jpg +0 -0
  93. framework/public/img/backgrounds/thumbs/elena-prokofyeva-17909-unsplash.jpg +0 -0
  94. framework/public/img/backgrounds/thumbs/fancycrave-284224-unsplash.jpg +0 -0
  95. framework/public/img/backgrounds/thumbs/fezbot2000-278419-unsplash.jpg +0 -0
  96. framework/public/img/backgrounds/thumbs/glenn-carstens-peters-190592-unsplash.jpg +0 -0
  97. framework/public/img/backgrounds/thumbs/greg-rakozy-38802-unsplash.jpg +0 -0
  98. framework/public/img/backgrounds/thumbs/henry-be-99471-unsplash.jpg +0 -0
  99. framework/public/img/backgrounds/thumbs/hoach-le-dinh-91879-unsplash.jpg +0 -0
  100. framework/public/img/backgrounds/thumbs/ian-dooley-280928-unsplash.jpg +0 -0
  101. framework/public/img/backgrounds/thumbs/ian-schneider-108618-unsplash.jpg +0 -0
  102. framework/public/img/backgrounds/thumbs/jakub-sejkora-42069-unsplash.jpg +0 -0
  103. framework/public/img/backgrounds/thumbs/jeremy-bishop-334996-unsplash.jpg +0 -0
  104. framework/public/img/backgrounds/thumbs/jesus-kiteque-224069-unsplash.jpg +0 -0
  105. framework/public/img/backgrounds/thumbs/joanna-kosinska-44214-unsplash.jpg +0 -0
  106. framework/public/img/backgrounds/thumbs/john-cobb-13961-unsplash.jpg +0 -0
  107. framework/public/img/backgrounds/thumbs/jonathan-bean-37632-unsplash.jpg +0 -0
  108. framework/public/img/backgrounds/thumbs/jonathan-borba-1339221-unsplash.jpg +0 -0
  109. framework/public/img/backgrounds/thumbs/joshua-coleman-1394520-unsplash.jpg +0 -0
  110. framework/public/img/backgrounds/thumbs/joshua-coleman-1476380-unsplash.jpg +0 -0
  111. framework/public/img/backgrounds/thumbs/joshua-coleman-623077-unsplash.jpg +0 -0
  112. framework/public/img/backgrounds/thumbs/kimon-maritz-193428-unsplash.jpg +0 -0
  113. framework/public/img/backgrounds/thumbs/lana-guillemet-1373193-unsplash.jpg +0 -0
  114. framework/public/img/backgrounds/thumbs/luca-micheli-mZ4RmsyCGDg-unsplash.jpg +0 -0
  115. framework/public/img/backgrounds/thumbs/manuel-venturini-38cyDa5x7qU-unsplash.jpg +0 -0
  116. framework/public/img/backgrounds/thumbs/marek-piwnicki-ka-wH-JbnDA-unsplash.jpg +0 -0
  117. framework/public/img/backgrounds/thumbs/martin-reisch-185835-unsplash.jpg +0 -0
  118. framework/public/img/backgrounds/thumbs/matthew-henry-49707-unsplash.jpg +0 -0
  119. framework/public/img/backgrounds/thumbs/nazar-sharafutdinov-1373782-unsplash.jpg +0 -0
  120. framework/public/img/backgrounds/thumbs/ng-32703-unsplash.jpg +0 -0
  121. framework/public/img/backgrounds/thumbs/nitish-meena-37745-unsplash.jpg +0 -0
  122. framework/public/img/backgrounds/thumbs/osman-rana-1064081-unsplash.jpg +0 -0
  123. framework/public/img/backgrounds/thumbs/patrick-tomasso-208114-unsplash.jpg +0 -0
  124. framework/public/img/backgrounds/thumbs/patrick-tomasso-71909-unsplash.jpg +0 -0
  125. framework/public/img/backgrounds/thumbs/pawel-czerwinski-1060762-unsplash.jpg +0 -0
  126. framework/public/img/backgrounds/thumbs/pawel-czerwinski-1373010-unsplash.jpg +0 -0
  127. framework/public/img/backgrounds/thumbs/pawel-czerwinski-UN308c8fwEo-unsplash.jpg +0 -0
  128. framework/public/img/backgrounds/thumbs/rachael-gorjestani-282049-unsplash.jpg +0 -0
  129. framework/public/img/backgrounds/thumbs/rawpixel-191102-unsplash.jpg +0 -0
  130. framework/public/img/backgrounds/thumbs/robert-bye-103196-unsplash.jpg +0 -0
  131. framework/public/img/backgrounds/thumbs/samuel-zeller-379406-unsplash.jpg +0 -0
  132. framework/public/img/backgrounds/thumbs/sarah-dorweiler-211779-unsplash.jpg +0 -0
  133. framework/public/img/backgrounds/thumbs/simon-matzinger-320332-unsplash.jpg +0 -0
  134. framework/public/img/backgrounds/thumbs/stefan-stefancik-105374-unsplash.jpg +0 -0
  135. framework/public/img/backgrounds/thumbs/steven-wei-124690-unsplash.jpg +0 -0
  136. framework/public/img/backgrounds/thumbs/sunrise-1756274.jpg +0 -0
  137. framework/public/img/backgrounds/thumbs/teddy-kelley-106391-unsplash.jpg +0 -0
  138. framework/public/img/backgrounds/thumbs/thought-catalog-214785-unsplash.jpg +0 -0
  139. framework/public/img/backgrounds/thumbs/tim-patch-1020411-unsplash.jpg +0 -0
  140. framework/public/img/backgrounds/thumbs/trevor-cole-393228-unsplash.jpg +0 -0
  141. framework/public/img/backgrounds/thumbs/verne-ho-237626-unsplash.jpg +0 -0
  142. framework/public/img/backgrounds/thumbs/william-daigneault-691488-unsplash.jpg +0 -0
  143. framework/public/img/backgrounds/thumbs/william-daigneault-733670-unsplash.jpg +0 -0
  144. framework/public/img/backgrounds/thumbs/yuriy-bogdanov-428617-unsplash.jpg +0 -0
  145. framework/public/img/backgrounds/tim-patch-1020411-unsplash.jpg +0 -0
  146. framework/public/img/backgrounds/trevor-cole-393228-unsplash.jpg +0 -0
  147. framework/public/img/backgrounds/verne-ho-237626-unsplash.jpg +0 -0
  148. framework/public/img/backgrounds/william-daigneault-691488-unsplash.jpg +0 -0
  149. framework/public/img/backgrounds/william-daigneault-733670-unsplash.jpg +0 -0
  150. framework/public/img/backgrounds/yuriy-bogdanov-428617-unsplash.jpg +0 -0
  151. framework/public/include/functions.php +7 -7
  152. framework/public/include/styles.php +33 -33
  153. framework/public/views/blank.php +22 -16
  154. framework/public/views/html.php +25 -17
  155. minimal-coming-soon-maintenance-mode.php +1 -1
  156. readme.txt +12 -2
  157. wf-flyout/config.php +1 -0
  158. wf-flyout/icons/wp-ssl.png +0 -0
  159. wf-flyout/wf-flyout.php +2 -2
framework/admin/include/fonts.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- $signals_google_fonts = array(
3
  'ABeeZee',
4
  'Abel',
5
  'Abhaya Libre',
1
  <?php
2
+ $signals_bunny_fonts = array(
3
  'ABeeZee',
4
  'Abel',
5
  'Abhaya Libre',
framework/admin/init.php CHANGED
@@ -17,8 +17,8 @@ function csmm_add_menu()
17
  if (current_user_can('administrator')) {
18
  // Adding to the plugin panel link to the settings menu
19
  $signals_csmm_menu = add_options_page(
20
- __('Minimal Coming Soon & Maintenance Mode', 'signals'),
21
- __('Maintenance Mode', 'signals'),
22
  'manage_options',
23
  'maintenance_mode_options',
24
  'csmm_admin_settings'
@@ -52,14 +52,14 @@ function csmm_admin_scripts()
52
  wp_register_style('csmm-admin-base', CSMM_URL . '/framework/admin/css/admin.css', false, csmm_get_plugin_version());
53
  wp_register_style('csmm-admin-swal', CSMM_URL . '/framework/admin/css/sweetalert2.min.css', false, csmm_get_plugin_version());
54
 
55
- wp_register_script('csmm-webfonts', '//ajax.googleapis.com/ajax/libs/webfont/1.4.7/webfont.js', false);
56
  wp_register_script('csmm-admin-editor', CSMM_URL . '/framework/admin/js/editor/ace.js', false, csmm_get_plugin_version(), true);
57
  wp_register_script('csmm-admin-color', CSMM_URL . '/framework/admin/js/colorpicker/jscolor.js', false, csmm_get_plugin_version(), true);
58
  wp_register_script('csmm-admin-plugins', CSMM_URL . '/framework/admin/js/plugins.js', 'jquery', csmm_get_plugin_version(), true);
59
  wp_register_script('csmm-admin-base', CSMM_URL . '/framework/admin/js/admin.js', 'jquery', csmm_get_plugin_version(), true);
60
 
61
  $mm_js_vars = array(
62
- 'mm_url' => 'https://assets.comingsoonwp.com/free-backgrounds/',
63
  'mm_base_url' => CSMM_URL,
64
  'mm_notice_nonce' => wp_create_nonce('csmm_notice_nonce'),
65
  'mm_images' => array('ad_themes.png', 'joshua-coleman-1476380-unsplash.jpg', 'joshua-coleman-623077-unsplash.jpg', 'samuel-zeller-379406-unsplash.jpg', 'ad_more-images.png', 'william-daigneault-733670-unsplash.jpg', 'yuriy-bogdanov-428617-unsplash.jpg', 'john-cobb-13961-unsplash.jpg', 'aaron-burden-189321-unsplash.jpg', 'alberto-restifo-4510-unsplash.jpg', 'ad_custom-image.png', 'amy-humphries-227515-unsplash.jpg', 'anders-jilden-89745-unsplash.jpg', 'art-by-lonfeldt-1064207-unsplash.jpg', 'brenda-godinez-229718-unsplash.jpg', 'ad_more-images.png', 'brooke-lark-229136-unsplash.jpg', 'carmine-de-fazio-31543-unsplash.jpg', 'chuttersnap-Dfay_PcHm-E-unsplash.jpg', 'corentin-hais-NE6cZGd_A_A-unsplash.jpg', 'denys-nevozhai-100695-unsplash.jpg', 'dustin-lee-19667-unsplash.jpg', 'elena-prokofyeva-17909-unsplash.jpg', 'fezbot2000-278419-unsplash.jpg', 'glenn-carstens-peters-190592-unsplash.jpg', 'greg-rakozy-38802-unsplash.jpg', 'henry-be-99471-unsplash.jpg', 'hoach-le-dinh-91879-unsplash.jpg', 'ian-dooley-280928-unsplash.jpg', 'ian-schneider-108618-unsplash.jpg', 'jakub-sejkora-42069-unsplash.jpg', 'jesus-kiteque-224069-unsplash.jpg', 'joanna-kosinska-44214-unsplash.jpg', 'jonathan-bean-37632-unsplash.jpg', 'ad_themes.png', 'kimon-maritz-193428-unsplash.jpg', 'matthew-henry-49707-unsplash.jpg', 'ng-32703-unsplash.jpg', 'nitish-meena-37745-unsplash.jpg', 'osman-rana-1064081-unsplash.jpg', 'patrick-tomasso-208114-unsplash.jpg', 'patrick-tomasso-71909-unsplash.jpg', 'pawel-czerwinski-1060762-unsplash.jpg', 'pawel-czerwinski-UN308c8fwEo-unsplash.jpg', 'rachael-gorjestani-282049-unsplash.jpg', 'rawpixel-191102-unsplash.jpg', 'sarah-dorweiler-211779-unsplash.jpg', 'stefan-stefancik-105374-unsplash.jpg', 'steven-wei-124690-unsplash.jpg', 'sunrise-1756274.jpg', 'teddy-kelley-106391-unsplash.jpg', 'thought-catalog-214785-unsplash.jpg', 'ad_custom-image.png', 'brooke-lark-356767-unsplash.jpg', 'ian-dooley-280928-unsplash.jpg', 'jeremy-bishop-334996-unsplash.jpg', 'martin-reisch-185835-unsplash.jpg', 'simon-matzinger-320332-unsplash.jpg', 'trevor-cole-393228-unsplash.jpg', 'verne-ho-237626-unsplash.jpg', 'ad_more-images.png', 'annie-spratt-1369965-unsplash.jpg', 'jonathan-borba-1339221-unsplash.jpg', 'lana-guillemet-1373193-unsplash.jpg', 'nazar-sharafutdinov-1373782-unsplash.jpg', 'pawel-czerwinski-1373010-unsplash.jpg', 'fancycrave-284224-unsplash.jpg', 'joshua-coleman-1394520-unsplash.jpg', 'robert-bye-103196-unsplash.jpg', 'tim-patch-1020411-unsplash.jpg', 'ad_custom-image.png', 'william-daigneault-691488-unsplash.jpg', 'marek-piwnicki-ka-wH-JbnDA-unsplash.jpg', 'manuel-venturini-38cyDa5x7qU-unsplash.jpg', 'luca-micheli-mZ4RmsyCGDg-unsplash.jpg'),
@@ -231,7 +231,7 @@ function csmm_create_select_options($options, $selected = null, $output = true)
231
  } // foreach
232
 
233
  if ($output) {
234
- echo $out;
235
  } else {
236
  return $out;
237
  }
@@ -360,31 +360,3 @@ function csmm_activate_theme()
360
 
361
  exit;
362
  } // activate_theme
363
-
364
-
365
- function csmm_export_settings()
366
- {
367
- $filename = str_replace(array('http://', 'https://'), '', home_url());
368
- $filename = str_replace(array('/', '\\', '.'), '-', $filename);
369
- $filename .= '-' . date('Y-m-d') . '-csmm.txt';
370
-
371
- $options = csmm_get_options();
372
- unset($options['none']);
373
- $options = apply_filters('csmm_options_pre_export', $options);
374
-
375
- $out = array('type' => 'CSMM', 'version' => csmm_get_plugin_version(), 'data' => $options);
376
- $out = json_encode($out);
377
-
378
- header('Content-Type: text/plain');
379
- header('Content-Disposition: attachment; filename=' . $filename);
380
- header('Expires: 0');
381
- header('Cache-Control: must-revalidate');
382
- header('Pragma: public');
383
- header('Content-Length: ' . strlen($out));
384
-
385
- @ob_end_clean();
386
- flush();
387
-
388
- echo $out;
389
- exit;
390
- } // export_settings
17
  if (current_user_can('administrator')) {
18
  // Adding to the plugin panel link to the settings menu
19
  $signals_csmm_menu = add_options_page(
20
+ __('Minimal Coming Soon & Maintenance Mode', 'minimal-coming-soon-maintenance-mode'),
21
+ __('Maintenance Mode', 'minimal-coming-soon-maintenance-mode'),
22
  'manage_options',
23
  'maintenance_mode_options',
24
  'csmm_admin_settings'
52
  wp_register_style('csmm-admin-base', CSMM_URL . '/framework/admin/css/admin.css', false, csmm_get_plugin_version());
53
  wp_register_style('csmm-admin-swal', CSMM_URL . '/framework/admin/css/sweetalert2.min.css', false, csmm_get_plugin_version());
54
 
55
+ wp_register_script('csmm-webfonts', CSMM_URL . '/framework/admin/js/webfont.js', false);
56
  wp_register_script('csmm-admin-editor', CSMM_URL . '/framework/admin/js/editor/ace.js', false, csmm_get_plugin_version(), true);
57
  wp_register_script('csmm-admin-color', CSMM_URL . '/framework/admin/js/colorpicker/jscolor.js', false, csmm_get_plugin_version(), true);
58
  wp_register_script('csmm-admin-plugins', CSMM_URL . '/framework/admin/js/plugins.js', 'jquery', csmm_get_plugin_version(), true);
59
  wp_register_script('csmm-admin-base', CSMM_URL . '/framework/admin/js/admin.js', 'jquery', csmm_get_plugin_version(), true);
60
 
61
  $mm_js_vars = array(
62
+ 'mm_url' => CSMM_URL . '/framework/public/img/backgrounds/',
63
  'mm_base_url' => CSMM_URL,
64
  'mm_notice_nonce' => wp_create_nonce('csmm_notice_nonce'),
65
  'mm_images' => array('ad_themes.png', 'joshua-coleman-1476380-unsplash.jpg', 'joshua-coleman-623077-unsplash.jpg', 'samuel-zeller-379406-unsplash.jpg', 'ad_more-images.png', 'william-daigneault-733670-unsplash.jpg', 'yuriy-bogdanov-428617-unsplash.jpg', 'john-cobb-13961-unsplash.jpg', 'aaron-burden-189321-unsplash.jpg', 'alberto-restifo-4510-unsplash.jpg', 'ad_custom-image.png', 'amy-humphries-227515-unsplash.jpg', 'anders-jilden-89745-unsplash.jpg', 'art-by-lonfeldt-1064207-unsplash.jpg', 'brenda-godinez-229718-unsplash.jpg', 'ad_more-images.png', 'brooke-lark-229136-unsplash.jpg', 'carmine-de-fazio-31543-unsplash.jpg', 'chuttersnap-Dfay_PcHm-E-unsplash.jpg', 'corentin-hais-NE6cZGd_A_A-unsplash.jpg', 'denys-nevozhai-100695-unsplash.jpg', 'dustin-lee-19667-unsplash.jpg', 'elena-prokofyeva-17909-unsplash.jpg', 'fezbot2000-278419-unsplash.jpg', 'glenn-carstens-peters-190592-unsplash.jpg', 'greg-rakozy-38802-unsplash.jpg', 'henry-be-99471-unsplash.jpg', 'hoach-le-dinh-91879-unsplash.jpg', 'ian-dooley-280928-unsplash.jpg', 'ian-schneider-108618-unsplash.jpg', 'jakub-sejkora-42069-unsplash.jpg', 'jesus-kiteque-224069-unsplash.jpg', 'joanna-kosinska-44214-unsplash.jpg', 'jonathan-bean-37632-unsplash.jpg', 'ad_themes.png', 'kimon-maritz-193428-unsplash.jpg', 'matthew-henry-49707-unsplash.jpg', 'ng-32703-unsplash.jpg', 'nitish-meena-37745-unsplash.jpg', 'osman-rana-1064081-unsplash.jpg', 'patrick-tomasso-208114-unsplash.jpg', 'patrick-tomasso-71909-unsplash.jpg', 'pawel-czerwinski-1060762-unsplash.jpg', 'pawel-czerwinski-UN308c8fwEo-unsplash.jpg', 'rachael-gorjestani-282049-unsplash.jpg', 'rawpixel-191102-unsplash.jpg', 'sarah-dorweiler-211779-unsplash.jpg', 'stefan-stefancik-105374-unsplash.jpg', 'steven-wei-124690-unsplash.jpg', 'sunrise-1756274.jpg', 'teddy-kelley-106391-unsplash.jpg', 'thought-catalog-214785-unsplash.jpg', 'ad_custom-image.png', 'brooke-lark-356767-unsplash.jpg', 'ian-dooley-280928-unsplash.jpg', 'jeremy-bishop-334996-unsplash.jpg', 'martin-reisch-185835-unsplash.jpg', 'simon-matzinger-320332-unsplash.jpg', 'trevor-cole-393228-unsplash.jpg', 'verne-ho-237626-unsplash.jpg', 'ad_more-images.png', 'annie-spratt-1369965-unsplash.jpg', 'jonathan-borba-1339221-unsplash.jpg', 'lana-guillemet-1373193-unsplash.jpg', 'nazar-sharafutdinov-1373782-unsplash.jpg', 'pawel-czerwinski-1373010-unsplash.jpg', 'fancycrave-284224-unsplash.jpg', 'joshua-coleman-1394520-unsplash.jpg', 'robert-bye-103196-unsplash.jpg', 'tim-patch-1020411-unsplash.jpg', 'ad_custom-image.png', 'william-daigneault-691488-unsplash.jpg', 'marek-piwnicki-ka-wH-JbnDA-unsplash.jpg', 'manuel-venturini-38cyDa5x7qU-unsplash.jpg', 'luca-micheli-mZ4RmsyCGDg-unsplash.jpg'),
231
  } // foreach
232
 
233
  if ($output) {
234
+ CSMM::wp_kses_wf($out);
235
  } else {
236
  return $out;
237
  }
360
 
361
  exit;
362
  } // activate_theme
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
framework/admin/js/admin.js CHANGED
@@ -8,7 +8,7 @@ var csmm_chat_loaded = false;
8
 
9
  function reloadFont($fontValue) {
10
  WebFont.load({
11
- google: {
12
  families: [$fontValue],
13
  },
14
  });
@@ -258,13 +258,13 @@ function getMMUploader($text, $target) {
258
  return false;
259
  });
260
 
261
- // google fonts
262
- $(".signals-google-fonts").each(function () {
263
  var $font = $(this);
264
  changeFont($font);
265
  });
266
 
267
- $(document).on("change", ".signals-google-fonts", function () {
268
  var $font = $(this);
269
  changeFont($font);
270
  });
8
 
9
  function reloadFont($fontValue) {
10
  WebFont.load({
11
+ bunny: {
12
  families: [$fontValue],
13
  },
14
  });
258
  return false;
259
  });
260
 
261
+ // bunny fonts
262
+ $(".signals-bunny-fonts").each(function () {
263
  var $font = $(this);
264
  changeFont($font);
265
  });
266
 
267
+ $(document).on("change", ".signals-bunny-fonts", function () {
268
  var $font = $(this);
269
  changeFont($font);
270
  });
framework/admin/js/colorpicker/jscolor.js CHANGED
@@ -855,7 +855,7 @@ var jsc = {
855
  break;
856
  }
857
  };
858
-
859
  paletteObj.elm = vmlContainer;
860
  paletteObj.draw = drawFunc;
861
  }
@@ -926,7 +926,7 @@ var jsc = {
926
  grad.color = color1;
927
  grad.color2 = color2;
928
  };
929
-
930
  sliderObj.elm = vmlContainer;
931
  sliderObj.draw = drawFunc;
932
  }
855
  break;
856
  }
857
  };
858
+
859
  paletteObj.elm = vmlContainer;
860
  paletteObj.draw = drawFunc;
861
  }
926
  grad.color = color1;
927
  grad.color2 = color2;
928
  };
929
+
930
  sliderObj.elm = vmlContainer;
931
  sliderObj.draw = drawFunc;
932
  }
framework/admin/js/plugins.js CHANGED
@@ -4,14 +4,14 @@
4
  * https://github.com/carhartl/jquery-cookie
5
  */
6
 
7
- !function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)}(function(e){function n(e){return e}function o(e){return decodeURIComponent(e.replace(t," "))}function i(e){0===e.indexOf('"')&&(e=e.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{return r.json?JSON.parse(e):e}catch(n){}}var t=/\+/g,r=e.cookie=function(t,c,a){if(void 0!==c){if(a=e.extend({},r.defaults,a),"number"==typeof a.expires){var u=a.expires,f=a.expires=new Date;f.setDate(f.getDate()+u)}return c=r.json?JSON.stringify(c):String(c),document.cookie=[r.raw?t:encodeURIComponent(t),"=",r.raw?c:encodeURIComponent(c),a.expires?"; expires="+a.expires.toUTCString():"",a.path?"; path="+a.path:"",a.domain?"; domain="+a.domain:"",a.secure?"; secure":""].join("")}for(var d=r.raw?n:o,p=document.cookie.split("; "),s=t?void 0:{},m=0,x=p.length;x>m;m++){var l=p[m].split("="),g=d(l.shift()),v=d(l.join("="));if(t&&t===g){s=i(v);break}t||(s[g]=i(v))}return s};r.defaults={},e.removeCookie=function(n,o){return void 0!==e.cookie(n)?(e.cookie(n,"",e.extend({},o,{expires:-1})),!0):!1}});
8
 
9
 
10
- /**
11
- * Jquery blockUI v2.66
12
- * -----------------------------------------------------
13
- * http://malsup.com/jquery/block/
14
- */
15
 
16
  (function(){"use strict";function e(e){function a(i,a){var l,h;var m=i==window;var g=a&&a.message!==undefined?a.message:undefined;a=e.extend({},e.blockUI.defaults,a||{});if(a.ignoreIfBlocked&&e(i).data("blockUI.isBlocked"))return;a.overlayCSS=e.extend({},e.blockUI.defaults.overlayCSS,a.overlayCSS||{});l=e.extend({},e.blockUI.defaults.css,a.css||{});if(a.onOverlayClick)a.overlayCSS.cursor="pointer";h=e.extend({},e.blockUI.defaults.themedCSS,a.themedCSS||{});g=g===undefined?a.message:g;if(m&&o)f(window,{fadeOut:0});if(g&&typeof g!="string"&&(g.parentNode||g.jquery)){var y=g.jquery?g[0]:g;var b={};e(i).data("blockUI.history",b);b.el=y;b.parent=y.parentNode;b.display=y.style.display;b.position=y.style.position;if(b.parent)b.parent.removeChild(y)}e(i).data("blockUI.onUnblock",a.onUnblock);var w=a.baseZ;var E,S,x,T;if(n||a.forceIframe)E=e('<iframe class="blockUI" style="z-index:'+w++ +';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+a.iframeSrc+'"></iframe>');else E=e('<div class="blockUI" style="display:none"></div>');if(a.theme)S=e('<div class="blockUI blockOverlay ui-widget-overlay" style="z-index:'+w++ +';display:none"></div>');else S=e('<div class="blockUI blockOverlay" style="z-index:'+w++ +';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>');if(a.theme&&m){T='<div class="blockUI '+a.blockMsgClass+' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+(w+10)+';display:none;position:fixed">';if(a.title){T+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(a.title||"&nbsp;")+"</div>"}T+='<div class="ui-widget-content ui-dialog-content"></div>';T+="</div>"}else if(a.theme){T='<div class="blockUI '+a.blockMsgClass+' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:'+(w+10)+';display:none;position:absolute">';if(a.title){T+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(a.title||"&nbsp;")+"</div>"}T+='<div class="ui-widget-content ui-dialog-content"></div>';T+="</div>"}else if(m){T='<div class="blockUI '+a.blockMsgClass+' blockPage" style="z-index:'+(w+10)+';display:none;position:fixed"></div>'}else{T='<div class="blockUI '+a.blockMsgClass+' blockElement" style="z-index:'+(w+10)+';display:none;position:absolute"></div>'}x=e(T);if(g){if(a.theme){x.css(h);x.addClass("ui-widget-content")}else x.css(l)}if(!a.theme)S.css(a.overlayCSS);S.css("position",m?"fixed":"absolute");if(n||a.forceIframe)E.css("opacity",0);var N=[E,S,x],C=m?e("body"):e(i);e.each(N,function(){this.appendTo(C)});if(a.theme&&a.draggable&&e.fn.draggable){x.draggable({handle:".ui-dialog-titlebar",cancel:"li"})}var k=s&&(!e.support.boxModel||e("object,embed",m?null:i).length>0);if(r||k){if(m&&a.allowBodyStretch&&e.support.boxModel)e("html,body").css("height","100%");if((r||!e.support.boxModel)&&!m){var L=v(i,"borderTopWidth"),A=v(i,"borderLeftWidth");var O=L?"(0 - "+L+")":0;var M=A?"(0 - "+A+")":0}e.each(N,function(e,t){var n=t[0].style;n.position="absolute";if(e<2){if(m)n.setExpression("height","Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:"+a.quirksmodeOffsetHack+') + "px"');else n.setExpression("height",'this.parentNode.offsetHeight + "px"');if(m)n.setExpression("width",'jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"');else n.setExpression("width",'this.parentNode.offsetWidth + "px"');if(M)n.setExpression("left",M);if(O)n.setExpression("top",O)}else if(a.centerY){if(m)n.setExpression("top",'(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"');n.marginTop=0}else if(!a.centerY&&m){var r=a.css&&a.css.top?parseInt(a.css.top,10):0;var i="((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "+r+') + "px"';n.setExpression("top",i)}})}if(g){if(a.theme)x.find(".ui-widget-content").append(g);else x.append(g);if(g.jquery||g.nodeType)e(g).show()}if((n||a.forceIframe)&&a.showOverlay)E.show();if(a.fadeIn){var _=a.onBlock?a.onBlock:t;var D=a.showOverlay&&!g?_:t;var P=g?_:t;if(a.showOverlay)S._fadeIn(a.fadeIn,D);if(g)x._fadeIn(a.fadeIn,P)}else{if(a.showOverlay)S.show();if(g)x.show();if(a.onBlock)a.onBlock()}c(1,i,a);if(m){o=x[0];u=e(a.focusableElements,o);if(a.focusInput)setTimeout(p,20)}else d(x[0],a.centerX,a.centerY);if(a.timeout){var H=setTimeout(function(){if(m)e.unblockUI(a);else e(i).unblock(a)},a.timeout);e(i).data("blockUI.timeout",H)}}function f(t,n){var r;var i=t==window;var s=e(t);var a=s.data("blockUI.history");var f=s.data("blockUI.timeout");if(f){clearTimeout(f);s.removeData("blockUI.timeout")}n=e.extend({},e.blockUI.defaults,n||{});c(0,t,n);if(n.onUnblock===null){n.onUnblock=s.data("blockUI.onUnblock");s.removeData("blockUI.onUnblock")}var h;if(i)h=e("body").children().filter(".blockUI").add("body > .blockUI");else h=s.find(">.blockUI");if(n.cursorReset){if(h.length>1)h[1].style.cursor=n.cursorReset;if(h.length>2)h[2].style.cursor=n.cursorReset}if(i)o=u=null;if(n.fadeOut){r=h.length;h.stop().fadeOut(n.fadeOut,function(){if(--r===0)l(h,a,n,t)})}else l(h,a,n,t)}function l(t,n,r,i){var s=e(i);if(s.data("blockUI.isBlocked"))return;t.each(function(e,t){if(this.parentNode)this.parentNode.removeChild(this)});if(n&&n.el){n.el.style.display=n.display;n.el.style.position=n.position;if(n.parent)n.parent.appendChild(n.el);s.removeData("blockUI.history")}if(s.data("blockUI.static")){s.css("position","static")}if(typeof r.onUnblock=="function")r.onUnblock(i,r);var o=e(document.body),u=o.width(),a=o[0].style.width;o.width(u-1).width(u);o[0].style.width=a}function c(t,n,r){var i=n==window,s=e(n);if(!t&&(i&&!o||!i&&!s.data("blockUI.isBlocked")))return;s.data("blockUI.isBlocked",t);if(!i||!r.bindEvents||t&&!r.showOverlay)return;var u="mousedown mouseup keydown keypress keyup touchstart touchend touchmove";if(t)e(document).bind(u,r,h);else e(document).unbind(u,h)}function h(t){if(t.type==="keydown"&&t.keyCode&&t.keyCode==9){if(o&&t.data.constrainTabKey){var n=u;var r=!t.shiftKey&&t.target===n[n.length-1];var i=t.shiftKey&&t.target===n[0];if(r||i){setTimeout(function(){p(i)},10);return false}}}var s=t.data;var a=e(t.target);if(a.hasClass("blockOverlay")&&s.onOverlayClick)s.onOverlayClick(t);if(a.parents("div."+s.blockMsgClass).length>0)return true;return a.parents().children().filter("div.blockUI").length===0}function p(e){if(!u)return;var t=u[e===true?u.length-1:0];if(t)t.focus()}function d(e,t,n){var r=e.parentNode,i=e.style;var s=(r.offsetWidth-e.offsetWidth)/2-v(r,"borderLeftWidth");var o=(r.offsetHeight-e.offsetHeight)/2-v(r,"borderTopWidth");if(t)i.left=s>0?s+"px":"0";if(n)i.top=o>0?o+"px":"0"}function v(t,n){return parseInt(e.css(t,n),10)||0}e.fn._fadeIn=e.fn.fadeIn;var t=e.noop||function(){};var n=/MSIE/.test(navigator.userAgent);var r=/MSIE 6.0/.test(navigator.userAgent)&&!/MSIE 8.0/.test(navigator.userAgent);var i=document.documentMode||0;var s=e.isFunction(document.createElement("div").style.setExpression);e.blockUI=function(e){a(window,e)};e.unblockUI=function(e){f(window,e)};e.growlUI=function(t,n,r,i){var s=e('<div class="growlUI"></div>');if(t)s.append("<h1>"+t+"</h1>");if(n)s.append("<h2>"+n+"</h2>");if(r===undefined)r=3e3;var o=function(t){t=t||{};e.blockUI({message:s,fadeIn:typeof t.fadeIn!=="undefined"?t.fadeIn:700,fadeOut:typeof t.fadeOut!=="undefined"?t.fadeOut:1e3,timeout:typeof t.timeout!=="undefined"?t.timeout:r,centerY:false,showOverlay:false,onUnblock:i,css:e.blockUI.defaults.growlCSS})};o();var u=s.css("opacity");s.mouseover(function(){o({fadeIn:0,timeout:3e4});var t=e(".blockMsg");t.stop();t.fadeTo(300,1)}).mouseout(function(){e(".blockMsg").fadeOut(1e3)})};e.fn.block=function(t){if(this[0]===window){e.blockUI(t);return this}var n=e.extend({},e.blockUI.defaults,t||{});this.each(function(){var t=e(this);if(n.ignoreIfBlocked&&t.data("blockUI.isBlocked"))return;t.unblock({fadeOut:0})});return this.each(function(){if(e.css(this,"position")=="static"){this.style.position="relative";e(this).data("blockUI.static",true)}this.style.zoom=1;a(this,t)})};e.fn.unblock=function(t){if(this[0]===window){e.unblockUI(t);return this}return this.each(function(){f(this,t)})};e.blockUI.version=2.66;e.blockUI.defaults={message:"<h1>Please wait...</h1>",title:null,draggable:true,theme:false,css:{padding:0,margin:0,width:"30%",top:"40%",left:"35%",textAlign:"center",color:"#fff",border:"1px solid #ff0000",backgroundColor:"#ff0000",cursor:"wait"},themedCSS:{width:"30%",top:"40%",left:"35%"},overlayCSS:{backgroundColor:"#fff",opacity:.6,cursor:"wait"},cursorReset:"default",growlCSS:{width:"350px",top:"10px",left:"",right:"10px",border:"none",padding:"5px",opacity:.6,cursor:"default",color:"#fff",backgroundColor:"#000","-webkit-border-radius":"10px","-moz-border-radius":"10px","border-radius":"10px"},iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank",forceIframe:false,baseZ:1e3,centerX:true,centerY:true,allowBodyStretch:true,bindEvents:true,constrainTabKey:true,fadeIn:200,fadeOut:400,timeout:0,showOverlay:true,focusInput:true,focusableElements:":input:enabled:visible",onBlock:null,onUnblock:null,onOverlayClick:null,quirksmodeOffsetHack:4,blockMsgClass:"blockMsg",ignoreIfBlocked:false};var o=null;var u=[]}if(typeof define==="function"&&define.amd&&define.amd.jQuery){define(["jquery"],e)}else{e(jQuery)}})();
17
 
@@ -43,10 +43,8 @@
43
  !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).csmm_Sweetalert2=e()}(this,function(){"use strict";function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function a(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function c(){return(c=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t}).apply(this,arguments)}function s(t){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function u(t,e){return(u=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function l(t,e,n){return(l=function(){if("undefined"!=typeof Reflect&&Reflect.construct&&!Reflect.construct.sham){if("function"==typeof Proxy)return 1;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),1}catch(t){return}}}()?Reflect.construct:function(t,e,n){var o=[null];o.push.apply(o,e);var i=new(Function.bind.apply(t,o));return n&&u(i,n.prototype),i}).apply(null,arguments)}function d(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function p(t,e,n){return(p="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var o=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=s(t)););return t}(t,e);if(o){var i=Object.getOwnPropertyDescriptor(o,e);return i.get?i.get.call(n):i.value}})(t,e,n||t)}function f(e){return Object.keys(e).map(function(t){return e[t]})}function m(t){return Array.prototype.slice.call(t)}function v(t){console.error("".concat(V," ").concat(t))}function h(t,e){var n;n='"'.concat(t,'" is deprecated and will be removed in the next major release. Please use "').concat(e,'" instead.'),-1===D.indexOf(n)&&(D.push(n),R(n))}function g(t){return t&&Promise.resolve(t)===t}function b(t){return t instanceof Element||"object"===r(e=t)&&e.jquery;var e}function t(t){var e={};for(var n in t)e[t[n]]="swal2-"+t[n];return e}function y(t){var e=z();return e?e.querySelector(t):null}function e(t){return y(".".concat(t))}function n(){var t=W();return m(t.querySelectorAll(".".concat(_.icon)))}function w(){var t=n().filter(function(t){return dt(t)});return t.length?t[0]:null}function C(){return e(_.title)}function k(){return e(_.content)}function x(){return e(_.image)}function P(){return e(_["progress-steps"])}function A(){return e(_["validation-message"])}function B(){return y(".".concat(_.actions," .").concat(_.confirm))}function T(){return y(".".concat(_.actions," .").concat(_.cancel))}function E(){return e(_.actions)}function S(){return e(_.header)}function L(){return e(_.footer)}function O(){return e(_["timer-progress-bar"])}function M(){return e(_.close)}function H(){var t=m(W().querySelectorAll('[tabindex]:not([tabindex="-1"]):not([tabindex="0"])')).sort(function(t,e){return t=parseInt(t.getAttribute("tabindex")),(e=parseInt(e.getAttribute("tabindex")))<t?1:t<e?-1:0}),e=m(W().querySelectorAll('\n a[href],\n area[href],\n input:not([disabled]),\n select:not([disabled]),\n textarea:not([disabled]),\n button:not([disabled]),\n iframe,\n object,\n embed,\n [tabindex="0"],\n [contenteditable],\n audio[controls],\n video[controls],\n summary\n')).filter(function(t){return"-1"!==t.getAttribute("tabindex")});return function(t){for(var e=[],n=0;n<t.length;n++)-1===e.indexOf(t[n])&&e.push(t[n]);return e}(t.concat(e)).filter(function(t){return dt(t)})}function I(){return!K()&&!document.body.classList.contains(_["no-backdrop"])}function j(t,e){if(e){for(var n=e.split(/\s+/),o=0;o<n.length;o++)if(!t.classList.contains(n[o]))return;return 1}}function q(t,e,n){var o,i;if(i=e,m((o=t).classList).forEach(function(t){-1===f(_).indexOf(t)&&-1===f(F).indexOf(t)&&-1===f(i.showClass).indexOf(t)&&o.classList.remove(t)}),e.customClass&&e.customClass[n]){if("string"!=typeof e.customClass[n]&&!e.customClass[n].forEach)return R("Invalid type of customClass.".concat(n,'! Expected string or iterable object, got "').concat(r(e.customClass[n]),'"'));st(t,e.customClass[n])}}var V="SweetAlert2:",R=function(t){console.warn("".concat(V," ").concat(t))},D=[],N=function(t){return"function"==typeof t?t():t},U=Object.freeze({cancel:"cancel",backdrop:"backdrop",close:"close",esc:"esc",timer:"timer"}),_=t(["container","shown","height-auto","iosfix","popup","modal","no-backdrop","no-transition","toast","toast-shown","toast-column","show","hide","close","title","header","content","html-container","actions","confirm","cancel","footer","icon","icon-content","image","input","file","range","select","radio","checkbox","label","textarea","inputerror","validation-message","progress-steps","active-progress-step","progress-step","progress-step-line","loading","styled","top","top-start","top-end","top-left","top-right","center","center-start","center-end","center-left","center-right","bottom","bottom-start","bottom-end","bottom-left","bottom-right","grow-row","grow-column","grow-fullscreen","rtl","timer-progress-bar","scrollbar-measure","icon-success","icon-warning","icon-info","icon-question","icon-error"]),F=t(["success","warning","info","question","error"]),z=function(){return document.body.querySelector(".".concat(_.container))},W=function(){return e(_.popup)},K=function(){return document.body.classList.contains(_["toast-shown"])},Y={previousBodyPadding:null};function Z(t,e){if(!e)return null;switch(e){case"select":case"textarea":case"file":return lt(t,_[e]);case"checkbox":return t.querySelector(".".concat(_.checkbox," input"));case"radio":return t.querySelector(".".concat(_.radio," input:checked"))||t.querySelector(".".concat(_.radio," input:first-child"));case"range":return t.querySelector(".".concat(_.range," input"));default:return lt(t,_.input)}}function Q(t){if(t.focus(),"file"!==t.type){var e=t.value;t.value="",t.value=e}}function $(t,e,n){t&&e&&("string"==typeof e&&(e=e.split(/\s+/).filter(Boolean)),e.forEach(function(e){t.forEach?t.forEach(function(t){n?t.classList.add(e):t.classList.remove(e)}):n?t.classList.add(e):t.classList.remove(e)}))}function J(t,e,n){n||0===parseInt(n)?t.style[e]="number"==typeof n?"".concat(n,"px"):n:t.style.removeProperty(e)}function X(t,e){var n=1<arguments.length&&void 0!==e?e:"flex";t.style.opacity="",t.style.display=n}function G(t){t.style.opacity="",t.style.display="none"}function tt(t,e,n){e?X(t,n):G(t)}function et(t){var e=window.getComputedStyle(t),n=parseFloat(e.getPropertyValue("animation-duration")||"0"),o=parseFloat(e.getPropertyValue("transition-duration")||"0");return 0<n||0<o}function nt(t,e){var n=1<arguments.length&&void 0!==e&&e,o=O();dt(o)&&(n&&(o.style.transition="none",o.style.width="100%"),setTimeout(function(){o.style.transition="width ".concat(t/1e3,"s linear"),o.style.width="0%"},10))}function ot(){return"undefined"==typeof window||"undefined"==typeof document}function it(t){Xe.isVisible()&&ct!==t.target.value&&Xe.resetValidationMessage(),ct=t.target.value}function rt(t,e){t instanceof HTMLElement?e.appendChild(t):"object"===r(t)?mt(t,e):t&&(e.innerHTML=t)}function at(t,e){var n=E(),o=B(),i=T();e.showConfirmButton||e.showCancelButton||G(n),q(n,e,"actions"),vt(o,"confirm",e),vt(i,"cancel",e),e.buttonsStyling?function(t,e,n){st([t,e],_.styled),n.confirmButtonColor&&(t.style.backgroundColor=n.confirmButtonColor);n.cancelButtonColor&&(e.style.backgroundColor=n.cancelButtonColor);var o=window.getComputedStyle(t).getPropertyValue("background-color");t.style.borderLeftColor=o,t.style.borderRightColor=o}(o,i,e):(ut([o,i],_.styled),o.style.backgroundColor=o.style.borderLeftColor=o.style.borderRightColor="",i.style.backgroundColor=i.style.borderLeftColor=i.style.borderRightColor=""),e.reverseButtons&&o.parentNode.insertBefore(i,o)}var ct,st=function(t,e){$(t,e,!0)},ut=function(t,e){$(t,e,!1)},lt=function(t,e){for(var n=0;n<t.childNodes.length;n++)if(j(t.childNodes[n],e))return t.childNodes[n]},dt=function(t){return!(!t||!(t.offsetWidth||t.offsetHeight||t.getClientRects().length))},pt='\n <div aria-labelledby="'.concat(_.title,'" aria-describedby="').concat(_.content,'" class="').concat(_.popup,'" tabindex="-1">\n <div class="').concat(_.header,'">\n <ul class="').concat(_["progress-steps"],'"></ul>\n <div class="').concat(_.icon," ").concat(F.error,'"></div>\n <div class="').concat(_.icon," ").concat(F.question,'"></div>\n <div class="').concat(_.icon," ").concat(F.warning,'"></div>\n <div class="').concat(_.icon," ").concat(F.info,'"></div>\n <div class="').concat(_.icon," ").concat(F.success,'"></div>\n <img class="').concat(_.image,'" />\n <h2 class="').concat(_.title,'" id="').concat(_.title,'"></h2>\n <button type="button" class="').concat(_.close,'"></button>\n </div>\n <div class="').concat(_.content,'">\n <div id="').concat(_.content,'" class="').concat(_["html-container"],'"></div>\n <input class="').concat(_.input,'" />\n <input type="file" class="').concat(_.file,'" />\n <div class="').concat(_.range,'">\n <input type="range" />\n <output></output>\n </div>\n <select class="').concat(_.select,'"></select>\n <div class="').concat(_.radio,'"></div>\n <label for="').concat(_.checkbox,'" class="').concat(_.checkbox,'">\n <input type="checkbox" />\n <span class="').concat(_.label,'"></span>\n </label>\n <textarea class="').concat(_.textarea,'"></textarea>\n <div class="').concat(_["validation-message"],'" id="').concat(_["validation-message"],'"></div>\n </div>\n <div class="').concat(_.actions,'">\n <button type="button" class="').concat(_.confirm,'">OK</button>\n <button type="button" class="').concat(_.cancel,'">Cancel</button>\n </div>\n <div class="').concat(_.footer,'"></div>\n <div class="').concat(_["timer-progress-bar"],'"></div>\n </div>\n').replace(/(^|\n)\s*/g,""),ft=function(t){var e,n=!!(e=z())&&(e.parentNode.removeChild(e),ut([document.documentElement,document.body],[_["no-backdrop"],_["toast-shown"],_["has-column"]]),!0);if(ot())v("SweetAlert2 requires document to initialize");else{var o=document.createElement("div");o.className=_.container,n&&st(o,_["no-transition"]),o.innerHTML=pt;var i,r,a,c,s,u,l,d,p,f,m,h,g="string"==typeof(i=t.target)?document.querySelector(i):i;g.appendChild(o),r=t,(a=W()).setAttribute("role",r.toast?"alert":"dialog"),a.setAttribute("aria-live",r.toast?"polite":"assertive"),r.toast||a.setAttribute("aria-modal","true"),c=g,"rtl"===window.getComputedStyle(c).direction&&st(z(),_.rtl),s=k(),u=lt(s,_.input),l=lt(s,_.file),d=s.querySelector(".".concat(_.range," input")),p=s.querySelector(".".concat(_.range," output")),f=lt(s,_.select),m=s.querySelector(".".concat(_.checkbox," input")),h=lt(s,_.textarea),u.oninput=it,l.onchange=it,f.onchange=it,m.onchange=it,h.oninput=it,d.oninput=function(t){it(t),p.value=d.value},d.onchange=function(t){it(t),d.nextSibling.value=d.value}}},mt=function(t,e){t.jquery?ht(e,t):e.innerHTML=t.toString()},ht=function(t,e){if(t.innerHTML="",0 in e)for(var n=0;n in e;n++)t.appendChild(e[n].cloneNode(!0));else t.appendChild(e.cloneNode(!0))},gt=function(){if(ot())return!1;var t=document.createElement("div"),e={WebkitAnimation:"webkitAnimationEnd",OAnimation:"oAnimationEnd oanimationend",animation:"animationend"};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&void 0!==t.style[n])return e[n];return!1}();function vt(t,e,n){var o;tt(t,n["show".concat((o=e).charAt(0).toUpperCase()+o.slice(1),"Button")],"inline-block"),t.innerHTML=n["".concat(e,"ButtonText")],t.setAttribute("aria-label",n["".concat(e,"ButtonAriaLabel")]),t.className=_[e],q(t,n,"".concat(e,"Button")),st(t,n["".concat(e,"ButtonClass")])}function bt(t,e){var n=z();if(n){var o,i,r,a;o=n,"string"==typeof(i=e.backdrop)?o.style.background=i:i||st([document.documentElement,document.body],_["no-backdrop"]),!e.backdrop&&e.allowOutsideClick&&R('"allowOutsideClick" parameter requires `backdrop` parameter to be set to `true`'),r=n,(a=e.position)in _?st(r,_[a]):(R('The "position" parameter is not valid, defaulting to "center"'),st(r,_.center)),function(t,e){if(e&&"string"==typeof e){var n="grow-".concat(e);n in _&&st(t,_[n])}}(n,e.grow),q(n,e,"container");var c=document.body.getAttribute("data-swal2-queue-step");c&&(n.setAttribute("data-queue-step",c),document.body.removeAttribute("data-swal2-queue-step"))}}function yt(t,e){t.placeholder&&!e.inputPlaceholder||(t.placeholder=e.inputPlaceholder)}var wt={promise:new WeakMap,innerParams:new WeakMap,domCache:new WeakMap},Ct=["input","file","range","select","radio","checkbox","textarea"],kt=function(t){if(!Bt[t.input])return v('Unexpected type of input! Expected "text", "email", "password", "number", "tel", "select", "radio", "checkbox", "textarea", "file" or "url", got "'.concat(t.input,'"'));var e=At(t.input),n=Bt[t.input](e,t);X(n),setTimeout(function(){Q(n)})},xt=function(t,e){var n=Z(k(),t);if(n)for(var o in!function(t){for(var e=0;e<t.attributes.length;e++){var n=t.attributes[e].name;-1===["type","value","style"].indexOf(n)&&t.removeAttribute(n)}}(n),e)"range"===t&&"placeholder"===o||n.setAttribute(o,e[o])},Pt=function(t){var e=At(t.input);t.customClass&&st(e,t.customClass.input)},At=function(t){var e=_[t]?_[t]:_.input;return lt(k(),e)},Bt={};Bt.text=Bt.email=Bt.password=Bt.number=Bt.tel=Bt.url=function(t,e){return"string"==typeof e.inputValue||"number"==typeof e.inputValue?t.value=e.inputValue:g(e.inputValue)||R('Unexpected type of inputValue! Expected "string", "number" or "Promise", got "'.concat(r(e.inputValue),'"')),yt(t,e),t.type=e.input,t},Bt.file=function(t,e){return yt(t,e),t},Bt.range=function(t,e){var n=t.querySelector("input"),o=t.querySelector("output");return n.value=e.inputValue,n.type=e.input,o.value=e.inputValue,t},Bt.select=function(t,e){if(t.innerHTML="",e.inputPlaceholder){var n=document.createElement("option");n.innerHTML=e.inputPlaceholder,n.value="",n.disabled=!0,n.selected=!0,t.appendChild(n)}return t},Bt.radio=function(t){return t.innerHTML="",t},Bt.checkbox=function(t,e){var n=Z(k(),"checkbox");return n.value=1,n.id=_.checkbox,n.checked=Boolean(e.inputValue),t.querySelector("span").innerHTML=e.inputPlaceholder,t},Bt.textarea=function(e,t){if(e.value=t.inputValue,yt(e,t),"MutationObserver"in window){var n=parseInt(window.getComputedStyle(W()).width),o=parseInt(window.getComputedStyle(W()).paddingLeft)+parseInt(window.getComputedStyle(W()).paddingRight);new MutationObserver(function(){var t=e.offsetWidth+o;W().style.width=n<t?"".concat(t,"px"):null}).observe(e,{attributes:!0,attributeFilter:["style"]})}return e};function Tt(t,e){var n,o,i,r,a,c=k().querySelector("#".concat(_.content));e.html?(rt(e.html,c),X(c,"block")):e.text?(c.textContent=e.text,X(c,"block")):G(c),n=t,o=e,i=k(),r=wt.innerParams.get(n),a=!r||o.input!==r.input,Ct.forEach(function(t){var e=_[t],n=lt(i,e);xt(t,o.inputAttributes),n.className=e,a&&G(n)}),o.input&&(a&&kt(o),Pt(o)),q(k(),e,"content")}function Et(){return z().getAttribute("data-queue-step")}function St(t,s){var u=P();if(!s.progressSteps||0===s.progressSteps.length)return G(u);X(u),u.innerHTML="";var l=parseInt(void 0===s.currentProgressStep?Et():s.currentProgressStep);l>=s.progressSteps.length&&R("Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"),s.progressSteps.forEach(function(t,e){var n,o,i,r,a=(n=t,o=document.createElement("li"),st(o,_["progress-step"]),o.innerHTML=n,o);if(u.appendChild(a),e===l&&st(a,_["active-progress-step"]),e!==s.progressSteps.length-1){var c=(i=t,r=document.createElement("li"),st(r,_["progress-step-line"]),i.progressStepsDistance&&(r.style.width=i.progressStepsDistance),r);u.appendChild(c)}})}function Lt(t,e){var n,o,i,r,a=S();q(a,e,"header"),St(0,e),function(t,e){var n=wt.innerParams.get(t);if(n&&e.icon===n.icon&&w())q(w(),e,"icon");else if(Ht(),e.icon)if(-1!==Object.keys(F).indexOf(e.icon)){var o=y(".".concat(_.icon,".").concat(F[e.icon]));X(o),jt(o,e),It(),q(o,e,"icon"),st(o,e.showClass.icon)}else v('Unknown icon! Expected "success", "error", "warning", "info" or "question", got "'.concat(e.icon,'"'))}(t,e),function(t){var e=x();if(!t.imageUrl)return G(e);X(e),e.setAttribute("src",t.imageUrl),e.setAttribute("alt",t.imageAlt),J(e,"width",t.imageWidth),J(e,"height",t.imageHeight),e.className=_.image,q(e,t,"image")}(e),n=e,o=C(),tt(o,n.title||n.titleText),n.title&&rt(n.title,o),n.titleText&&(o.innerText=n.titleText),q(o,n,"title"),i=e,(r=M()).innerHTML=i.closeButtonHtml,q(r,i,"closeButton"),tt(r,i.showCloseButton),r.setAttribute("aria-label",i.closeButtonAriaLabel)}function Ot(t,e){var n,o,i,r;n=e,o=W(),J(o,"width",n.width),J(o,"padding",n.padding),n.background&&(o.style.background=n.background),Rt(o,n),bt(0,e),Lt(t,e),Tt(t,e),at(0,e),i=e,r=L(),tt(r,i.footer),i.footer&&rt(i.footer,r),q(r,i,"footer"),"function"==typeof e.onRender&&e.onRender(W())}function Mt(){return B()&&B().click()}var Ht=function(){for(var t=n(),e=0;e<t.length;e++)G(t[e])},It=function(){for(var t=W(),e=window.getComputedStyle(t).getPropertyValue("background-color"),n=t.querySelectorAll("[class^=swal2-success-circular-line], .swal2-success-fix"),o=0;o<n.length;o++)n[o].style.backgroundColor=e},jt=function(t,e){if(t.innerHTML="",e.iconHtml)t.innerHTML=qt(e.iconHtml);else if("success"===e.icon)t.innerHTML='\n <div class="swal2-success-circular-line-left"></div>\n <span class="swal2-success-line-tip"></span> <span class="swal2-success-line-long"></span>\n <div class="swal2-success-ring"></div> <div class="swal2-success-fix"></div>\n <div class="swal2-success-circular-line-right"></div>\n ';else if("error"===e.icon)t.innerHTML='\n <span class="swal2-x-mark">\n <span class="swal2-x-mark-line-left"></span>\n <span class="swal2-x-mark-line-right"></span>\n </span>\n ';else{t.innerHTML=qt({question:"?",warning:"!",info:"i"}[e.icon])}},qt=function(t){return'<div class="'.concat(_["icon-content"],'">').concat(t,"</div>")},Vt=[],Rt=function(t,e){t.className="".concat(_.popup," ").concat(dt(t)?e.showClass.popup:""),e.toast?(st([document.documentElement,document.body],_["toast-shown"]),st(t,_.toast)):st(t,_.modal),q(t,e,"popup"),"string"==typeof e.customClass&&st(t,e.customClass),e.icon&&st(t,_["icon-".concat(e.icon)])};function Dt(){var t=W();t||Xe.fire(),t=W();var e=E(),n=B();X(e),X(n,"inline-block"),st([t,e],_.loading),n.disabled=!0,t.setAttribute("data-loading",!0),t.setAttribute("aria-busy",!0),t.focus()}function Nt(){return new Promise(function(t){var e=window.scrollX,n=window.scrollY;Wt.restoreFocusTimeout=setTimeout(function(){Wt.previousActiveElement&&Wt.previousActiveElement.focus?(Wt.previousActiveElement.focus(),Wt.previousActiveElement=null):document.body&&document.body.focus(),t()},100),void 0!==e&&void 0!==n&&window.scrollTo(e,n)})}function Ut(){if(Wt.timeout)return function(){var t=O(),e=parseInt(window.getComputedStyle(t).width);t.style.removeProperty("transition"),t.style.width="100%";var n=parseInt(window.getComputedStyle(t).width),o=parseInt(e/n*100);t.style.removeProperty("transition"),t.style.width="".concat(o,"%")}(),Wt.timeout.stop()}function _t(){if(Wt.timeout){var t=Wt.timeout.start();return nt(t),t}}function Ft(t){return Object.prototype.hasOwnProperty.call(Kt,t)}function zt(t){return Zt[t]}var Wt={},Kt={title:"",titleText:"",text:"",html:"",footer:"",icon:void 0,iconHtml:void 0,toast:!1,animation:!0,showClass:{popup:"swal2-show",backdrop:"swal2-backdrop-show",icon:"swal2-icon-show"},hideClass:{popup:"swal2-hide",backdrop:"swal2-backdrop-hide",icon:"swal2-icon-hide"},customClass:void 0,target:"body",backdrop:!0,heightAuto:!0,allowOutsideClick:!0,allowEscapeKey:!0,allowEnterKey:!0,stopKeydownPropagation:!0,keydownListenerCapture:!1,showConfirmButton:!0,showCancelButton:!1,preConfirm:void 0,confirmButtonText:"OK",confirmButtonAriaLabel:"",confirmButtonColor:void 0,cancelButtonText:"Cancel",cancelButtonAriaLabel:"",cancelButtonColor:void 0,buttonsStyling:!0,reverseButtons:!1,focusConfirm:!0,focusCancel:!1,showCloseButton:!1,closeButtonHtml:"&times;",closeButtonAriaLabel:"Close this dialog",showLoaderOnConfirm:!1,imageUrl:void 0,imageWidth:void 0,imageHeight:void 0,imageAlt:"",timer:void 0,timerProgressBar:!1,width:void 0,padding:void 0,background:void 0,input:void 0,inputPlaceholder:"",inputValue:"",inputOptions:{},inputAutoTrim:!0,inputAttributes:{},inputValidator:void 0,validationMessage:void 0,grow:!1,position:"center",progressSteps:[],currentProgressStep:void 0,progressStepsDistance:void 0,onBeforeOpen:void 0,onOpen:void 0,onRender:void 0,onClose:void 0,onAfterClose:void 0,onDestroy:void 0,scrollbarPadding:!0},Yt=["title","titleText","text","html","icon","hideClass","customClass","allowOutsideClick","allowEscapeKey","showConfirmButton","showCancelButton","confirmButtonText","confirmButtonAriaLabel","confirmButtonColor","cancelButtonText","cancelButtonAriaLabel","cancelButtonColor","buttonsStyling","reverseButtons","imageUrl","imageWidth","imageHeight","imageAlt","progressSteps","currentProgressStep"],Zt={animation:'showClass" and "hideClass'},Qt=["allowOutsideClick","allowEnterKey","backdrop","focusConfirm","focusCancel","heightAuto","keydownListenerCapture"],$t=Object.freeze({isValidParameter:Ft,isUpdatableParameter:function(t){return-1!==Yt.indexOf(t)},isDeprecatedParameter:zt,argsToParams:function(o){var i={};return"object"!==r(o[0])||b(o[0])?["title","html","icon"].forEach(function(t,e){var n=o[e];"string"==typeof n||b(n)?i[t]=n:void 0!==n&&v("Unexpected type of ".concat(t,'! Expected "string" or "Element", got ').concat(r(n)))}):c(i,o[0]),i},isVisible:function(){return dt(W())},clickConfirm:Mt,clickCancel:function(){return T()&&T().click()},getContainer:z,getPopup:W,getTitle:C,getContent:k,getHtmlContainer:function(){return e(_["html-container"])},getImage:x,getIcon:w,getIcons:n,getCloseButton:M,getActions:E,getConfirmButton:B,getCancelButton:T,getHeader:S,getFooter:L,getTimerProgressBar:O,getFocusableElements:H,getValidationMessage:A,isLoading:function(){return W().hasAttribute("data-loading")},fire:function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return l(this,e)},mixin:function(n){return function(t){function e(){return o(this,e),d(this,s(e).apply(this,arguments))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&u(t,e)}(e,t),a(e,[{key:"_main",value:function(t){return p(s(e.prototype),"_main",this).call(this,c({},n,t))}}]),e}(this)},queue:function(t){var r=this;Vt=t;function a(t,e){Vt=[],t(e)}var c=[];return new Promise(function(i){!function e(n,o){n<Vt.length?(document.body.setAttribute("data-swal2-queue-step",n),r.fire(Vt[n]).then(function(t){void 0!==t.value?(c.push(t.value),e(n+1,o)):a(i,{dismiss:t.dismiss})})):a(i,{value:c})}(0)})},getQueueStep:Et,insertQueueStep:function(t,e){return e&&e<Vt.length?Vt.splice(e,0,t):Vt.push(t)},deleteQueueStep:function(t){void 0!==Vt[t]&&Vt.splice(t,1)},showLoading:Dt,enableLoading:Dt,getTimerLeft:function(){return Wt.timeout&&Wt.timeout.getTimerLeft()},stopTimer:Ut,resumeTimer:_t,toggleTimer:function(){var t=Wt.timeout;return t&&(t.running?Ut:_t)()},increaseTimer:function(t){if(Wt.timeout){var e=Wt.timeout.increase(t);return nt(e,!0),e}},isTimerRunning:function(){return Wt.timeout&&Wt.timeout.isRunning()}});function Jt(){var t=wt.innerParams.get(this);if(t){var e=wt.domCache.get(this);t.showConfirmButton||(G(e.confirmButton),t.showCancelButton||G(e.actions)),ut([e.popup,e.actions],_.loading),e.popup.removeAttribute("aria-busy"),e.popup.removeAttribute("data-loading"),e.confirmButton.disabled=!1,e.cancelButton.disabled=!1}}function Xt(){null===Y.previousBodyPadding&&document.body.scrollHeight>window.innerHeight&&(Y.previousBodyPadding=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right")),document.body.style.paddingRight="".concat(Y.previousBodyPadding+function(){var t=document.createElement("div");t.className=_["scrollbar-measure"],document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e}(),"px"))}function Gt(){return!!window.MSInputMethodContext&&!!document.documentMode}function te(){var t=z(),e=W();t.style.removeProperty("align-items"),e.offsetTop<0&&(t.style.alignItems="flex-start")}var ee=function(){var n,o=z();o.ontouchstart=function(t){var e;n=t.target===o||!((e=o).scrollHeight>e.clientHeight)&&"INPUT"!==t.target.tagName},o.ontouchmove=function(t){n&&(t.preventDefault(),t.stopPropagation())}},ne={swalPromiseResolve:new WeakMap};function oe(t,e,n,o){n?ae(t,o):(Nt().then(function(){return ae(t,o)}),Wt.keydownTarget.removeEventListener("keydown",Wt.keydownHandler,{capture:Wt.keydownListenerCapture}),Wt.keydownHandlerAdded=!1),e.parentNode&&!document.body.getAttribute("data-swal2-queue-step")&&e.parentNode.removeChild(e),I()&&(null!==Y.previousBodyPadding&&(document.body.style.paddingRight="".concat(Y.previousBodyPadding,"px"),Y.previousBodyPadding=null),function(){if(j(document.body,_.iosfix)){var t=parseInt(document.body.style.top,10);ut(document.body,_.iosfix),document.body.style.top="",document.body.scrollTop=-1*t}}(),"undefined"!=typeof window&&Gt()&&window.removeEventListener("resize",te),m(document.body.children).forEach(function(t){t.hasAttribute("data-previous-aria-hidden")?(t.setAttribute("aria-hidden",t.getAttribute("data-previous-aria-hidden")),t.removeAttribute("data-previous-aria-hidden")):t.removeAttribute("aria-hidden")})),ut([document.documentElement,document.body],[_.shown,_["height-auto"],_["no-backdrop"],_["toast-shown"],_["toast-column"]])}function ie(t){var e=W();if(e){var n=wt.innerParams.get(this);if(n&&!j(e,n.hideClass.popup)){var o=ne.swalPromiseResolve.get(this);ut(e,n.showClass.popup),st(e,n.hideClass.popup);var i=z();ut(i,n.showClass.backdrop),st(i,n.hideClass.backdrop),function(t,e,n){var o=z(),i=gt&&et(e),r=n.onClose,a=n.onAfterClose;if(r!==null&&typeof r==="function"){r(e)}if(i){re(t,e,o,a)}else{oe(t,o,K(),a)}}(this,e,n),o(t||{})}}}var re=function(t,e,n,o){Wt.swalCloseEventFinishedCallback=oe.bind(null,t,n,K(),o),e.addEventListener(gt,function(t){t.target===e&&(Wt.swalCloseEventFinishedCallback(),delete Wt.swalCloseEventFinishedCallback)})},ae=function(t,e){setTimeout(function(){"function"==typeof e&&e(),t._destroy()})};function ce(t,e,n){var o=wt.domCache.get(t);e.forEach(function(t){o[t].disabled=n})}function se(t,e){if(!t)return!1;if("radio"===t.type)for(var n=t.parentNode.parentNode.querySelectorAll("input"),o=0;o<n.length;o++)n[o].disabled=e;else t.disabled=e}var ue=function(){function n(t,e){o(this,n),this.callback=t,this.remaining=e,this.running=!1,this.start()}return a(n,[{key:"start",value:function(){return this.running||(this.running=!0,this.started=new Date,this.id=setTimeout(this.callback,this.remaining)),this.remaining}},{key:"stop",value:function(){return this.running&&(this.running=!1,clearTimeout(this.id),this.remaining-=new Date-this.started),this.remaining}},{key:"increase",value:function(t){var e=this.running;return e&&this.stop(),this.remaining+=t,e&&this.start(),this.remaining}},{key:"getTimerLeft",value:function(){return this.running&&(this.stop(),this.start()),this.remaining}},{key:"isRunning",value:function(){return this.running}}]),n}(),le={email:function(t,e){return/^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]{2,24}$/.test(t)?Promise.resolve():Promise.resolve(e||"Invalid email address")},url:function(t,e){return/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{2,256}\.[a-z]{2,63}\b([-a-zA-Z0-9@:%_+.~#?&/=]*)$/.test(t)?Promise.resolve():Promise.resolve(e||"Invalid URL")}};function de(t){var e,n;(e=t).inputValidator||Object.keys(le).forEach(function(t){e.input===t&&(e.inputValidator=le[t])}),t.showLoaderOnConfirm&&!t.preConfirm&&R("showLoaderOnConfirm is set to true, but preConfirm is not defined.\nshowLoaderOnConfirm should be used together with preConfirm, see usage example:\nhttps://sweetalert2.github.io/#ajax-request"),t.animation=N(t.animation),(n=t).target&&("string"!=typeof n.target||document.querySelector(n.target))&&("string"==typeof n.target||n.target.appendChild)||(R('Target parameter is not valid, defaulting to "body"'),n.target="body"),"string"==typeof t.title&&(t.title=t.title.split("\n").join("<br />")),ft(t)}function pe(t){var e=z(),n=W();"function"==typeof t.onBeforeOpen&&t.onBeforeOpen(n),xe(e,n,t),Ce(e,n),I()&&ke(e,t.scrollbarPadding),K()||Wt.previousActiveElement||(Wt.previousActiveElement=document.activeElement),"function"==typeof t.onOpen&&setTimeout(function(){return t.onOpen(n)}),ut(e,_["no-transition"])}function fe(t){var e=W();if(t.target===e){var n=z();e.removeEventListener(gt,fe),n.style.overflowY="auto"}}function me(t,e){"select"===e.input||"radio"===e.input?Te(t,e):-1!==["text","email","number","tel","textarea"].indexOf(e.input)&&g(e.inputValue)&&Ee(t,e)}function he(t,e){t.disableButtons(),e.input?Oe(t,e):Me(t,e,!0)}function ge(t,e){t.disableButtons(),e(U.cancel)}function ve(t,e){t.closePopup({value:e})}function be(e,t,n,o){t.keydownTarget&&t.keydownHandlerAdded&&(t.keydownTarget.removeEventListener("keydown",t.keydownHandler,{capture:t.keydownListenerCapture}),t.keydownHandlerAdded=!1),n.toast||(t.keydownHandler=function(t){return je(e,t,o)},t.keydownTarget=n.keydownListenerCapture?window:W(),t.keydownListenerCapture=n.keydownListenerCapture,t.keydownTarget.addEventListener("keydown",t.keydownHandler,{capture:t.keydownListenerCapture}),t.keydownHandlerAdded=!0)}function ye(t,e,n){var o=H(),i=0;if(i<o.length)return(e+=n)===o.length?e=0:-1===e&&(e=o.length-1),o[e].focus();W().focus()}function we(t,e,n){wt.innerParams.get(t).toast?Ne(t,e,n):(_e(e),Fe(e),ze(t,e,n))}var Ce=function(t,e){gt&&et(e)?(t.style.overflowY="hidden",e.addEventListener(gt,fe)):t.style.overflowY="auto"},ke=function(t,e){!function(){if((/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream||"MacIntel"===navigator.platform&&1<navigator.maxTouchPoints)&&!j(document.body,_.iosfix)){var t=document.body.scrollTop;document.body.style.top="".concat(-1*t,"px"),st(document.body,_.iosfix),ee()}}(),"undefined"!=typeof window&&Gt()&&(te(),window.addEventListener("resize",te)),m(document.body.children).forEach(function(t){t===z()||function(t,e){if("function"==typeof t.contains)return t.contains(e)}(t,z())||(t.hasAttribute("aria-hidden")&&t.setAttribute("data-previous-aria-hidden",t.getAttribute("aria-hidden")),t.setAttribute("aria-hidden","true"))}),e&&Xt(),setTimeout(function(){t.scrollTop=0})},xe=function(t,e,n){st(t,n.showClass.backdrop),X(e),st(e,n.showClass.popup),st([document.documentElement,document.body],_.shown),n.heightAuto&&n.backdrop&&!n.toast&&st([document.documentElement,document.body],_["height-auto"])},Pe=function(t){return t.checked?1:0},Ae=function(t){return t.checked?t.value:null},Be=function(t){return t.files.length?null!==t.getAttribute("multiple")?t.files:t.files[0]:null},Te=function(e,n){function o(t){return Se[n.input](i,Le(t),n)}var i=k();g(n.inputOptions)?(Dt(),n.inputOptions.then(function(t){e.hideLoading(),o(t)})):"object"===r(n.inputOptions)?o(n.inputOptions):v("Unexpected type of inputOptions! Expected object, Map or Promise, got ".concat(r(n.inputOptions)))},Ee=function(e,n){var o=e.getInput();G(o),n.inputValue.then(function(t){o.value="number"===n.input?parseFloat(t)||0:"".concat(t),X(o),o.focus(),e.hideLoading()}).catch(function(t){v("Error in inputValue promise: ".concat(t)),o.value="",X(o),o.focus(),e.hideLoading()})},Se={select:function(t,e,i){var r=lt(t,_.select);e.forEach(function(t){var e=t[0],n=t[1],o=document.createElement("option");o.value=e,o.innerHTML=n,i.inputValue.toString()===e.toString()&&(o.selected=!0),r.appendChild(o)}),r.focus()},radio:function(t,e,a){var c=lt(t,_.radio);e.forEach(function(t){var e=t[0],n=t[1],o=document.createElement("input"),i=document.createElement("label");o.type="radio",o.name=_.radio,o.value=e,a.inputValue.toString()===e.toString()&&(o.checked=!0);var r=document.createElement("span");r.innerHTML=n,r.className=_.label,i.appendChild(o),i.appendChild(r),c.appendChild(i)});var n=c.querySelectorAll("input");n.length&&n[0].focus()}},Le=function(e){var n=[];return"undefined"!=typeof Map&&e instanceof Map?e.forEach(function(t,e){n.push([e,t])}):Object.keys(e).forEach(function(t){n.push([t,e[t]])}),n},Oe=function(e,n){var o=function(t,e){var n=t.getInput();if(!n)return null;switch(e.input){case"checkbox":return Pe(n);case"radio":return Ae(n);case"file":return Be(n);default:return e.inputAutoTrim?n.value.trim():n.value}}(e,n);n.inputValidator?(e.disableInput(),Promise.resolve().then(function(){return n.inputValidator(o,n.validationMessage)}).then(function(t){e.enableButtons(),e.enableInput(),t?e.showValidationMessage(t):Me(e,n,o)})):e.getInput().checkValidity()?Me(e,n,o):(e.enableButtons(),e.showValidationMessage(n.validationMessage))},Me=function(e,t,n){(t.showLoaderOnConfirm&&Dt(),t.preConfirm)?(e.resetValidationMessage(),Promise.resolve().then(function(){return t.preConfirm(n,t.validationMessage)}).then(function(t){dt(A())||!1===t?e.hideLoading():ve(e,void 0===t?n:t)})):ve(e,n)},He=["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Left","Right","Up","Down"],Ie=["Escape","Esc"],je=function(t,e,n){var o=wt.innerParams.get(t);o.stopKeydownPropagation&&e.stopPropagation(),"Enter"===e.key?qe(t,e,o):"Tab"===e.key?Ve(e,o):-1!==He.indexOf(e.key)?Re():-1!==Ie.indexOf(e.key)&&De(e,o,n)},qe=function(t,e,n){if(!e.isComposing&&e.target&&t.getInput()&&e.target.outerHTML===t.getInput().outerHTML){if(-1!==["textarea","file"].indexOf(n.input))return;Mt(),e.preventDefault()}},Ve=function(t){for(var e=t.target,n=H(),o=-1,i=0;i<n.length;i++)if(e===n[i]){o=i;break}t.shiftKey?ye(0,o,-1):ye(0,o,1),t.stopPropagation(),t.preventDefault()},Re=function(){var t=B(),e=T();document.activeElement===t&&dt(e)?e.focus():document.activeElement===e&&dt(t)&&t.focus()},De=function(t,e,n){N(e.allowEscapeKey)&&(t.preventDefault(),n(U.esc))},Ne=function(e,t,n){t.popup.onclick=function(){var t=wt.innerParams.get(e);t.showConfirmButton||t.showCancelButton||t.showCloseButton||t.input||n(U.close)}},Ue=!1,_e=function(e){e.popup.onmousedown=function(){e.container.onmouseup=function(t){e.container.onmouseup=void 0,t.target===e.container&&(Ue=!0)}}},Fe=function(e){e.container.onmousedown=function(){e.popup.onmouseup=function(t){e.popup.onmouseup=void 0,t.target!==e.popup&&!e.popup.contains(t.target)||(Ue=!0)}}},ze=function(n,o,i){o.container.onclick=function(t){var e=wt.innerParams.get(n);Ue?Ue=!1:t.target===o.container&&N(e.allowOutsideClick)&&i(U.backdrop)}};var We=function(t,e,n){var o=O();G(o),e.timer&&(t.timeout=new ue(function(){n("timer"),delete t.timeout},e.timer),e.timerProgressBar&&(X(o),setTimeout(function(){t.timeout.running&&nt(e.timer)})))},Ke=function(t,e){if(!e.toast)return N(e.allowEnterKey)?e.focusCancel&&dt(t.cancelButton)?t.cancelButton.focus():e.focusConfirm&&dt(t.confirmButton)?t.confirmButton.focus():void ye(0,-1,1):Ye()},Ye=function(){document.activeElement&&"function"==typeof document.activeElement.blur&&document.activeElement.blur()};var Ze,Qe=function(t){for(var e in t)t[e]=new WeakMap},$e=Object.freeze({hideLoading:Jt,disableLoading:Jt,getInput:function(t){var e=wt.innerParams.get(t||this),n=wt.domCache.get(t||this);return n?Z(n.content,e.input):null},close:ie,closePopup:ie,closeModal:ie,closeToast:ie,enableButtons:function(){ce(this,["confirmButton","cancelButton"],!1)},disableButtons:function(){ce(this,["confirmButton","cancelButton"],!0)},enableInput:function(){return se(this.getInput(),!1)},disableInput:function(){return se(this.getInput(),!0)},showValidationMessage:function(t){var e=wt.domCache.get(this);e.validationMessage.innerHTML=t;var n=window.getComputedStyle(e.popup);e.validationMessage.style.marginLeft="-".concat(n.getPropertyValue("padding-left")),e.validationMessage.style.marginRight="-".concat(n.getPropertyValue("padding-right")),X(e.validationMessage);var o=this.getInput();o&&(o.setAttribute("aria-invalid",!0),o.setAttribute("aria-describedBy",_["validation-message"]),Q(o),st(o,_.inputerror))},resetValidationMessage:function(){var t=wt.domCache.get(this);t.validationMessage&&G(t.validationMessage);var e=this.getInput();e&&(e.removeAttribute("aria-invalid"),e.removeAttribute("aria-describedBy"),ut(e,_.inputerror))},getProgressSteps:function(){return wt.domCache.get(this).progressSteps},_main:function(t){!function(t){for(var e in t)Ft(i=e)||R('Unknown parameter "'.concat(i,'"')),t.toast&&(o=e,-1!==Qt.indexOf(o)&&R('The parameter "'.concat(o,'" is incompatible with toasts'))),zt(n=e)&&h(n,zt(n));var n,o,i}(t),Wt.currentInstance&&Wt.currentInstance._destroy(),Wt.currentInstance=this;var e=function(t){var e=c({},Kt.showClass,t.showClass),n=c({},Kt.hideClass,t.hideClass),o=c({},Kt,t);if(o.showClass=e,o.hideClass=n,t.animation===false){o.showClass={popup:"",backdrop:"swal2-backdrop-show swal2-noanimation"};o.hideClass={}}return o}(t);de(e),Object.freeze(e),Wt.timeout&&(Wt.timeout.stop(),delete Wt.timeout),clearTimeout(Wt.restoreFocusTimeout);var n=function(t){var e={popup:W(),container:z(),content:k(),actions:E(),confirmButton:B(),cancelButton:T(),closeButton:M(),validationMessage:A(),progressSteps:P()};return wt.domCache.set(t,e),e}(this);return Ot(this,e),wt.innerParams.set(this,e),function(n,o,i){return new Promise(function(t){var e=function t(e){n.closePopup({dismiss:e})};ne.swalPromiseResolve.set(n,t);We(Wt,i,e);o.confirmButton.onclick=function(){return he(n,i)};o.cancelButton.onclick=function(){return ge(n,e)};o.closeButton.onclick=function(){return e(U.close)};we(n,o,e);be(n,Wt,i,e);if(i.toast&&(i.input||i.footer||i.showCloseButton)){st(document.body,_["toast-column"])}else{ut(document.body,_["toast-column"])}me(n,i);pe(i);Ke(o,i);o.container.scrollTop=0})}(this,n,e)},update:function(e){var t=W(),n=wt.innerParams.get(this);if(!t||j(t,n.hideClass.popup))return R("You're trying to update the closed or closing popup, that won't work. Use the update() method in preConfirm parameter or show a new popup.");var o={};Object.keys(e).forEach(function(t){Xe.isUpdatableParameter(t)?o[t]=e[t]:R('Invalid parameter to update: "'.concat(t,'". Updatable params are listed here: https://github.com/sweetalert2/sweetalert2/blob/master/src/utils/params.js'))});var i=c({},n,o);Ot(this,i),wt.innerParams.set(this,i),Object.defineProperties(this,{params:{value:c({},this.params,e),writable:!1,enumerable:!0}})},_destroy:function(){var t=wt.domCache.get(this),e=wt.innerParams.get(this);e&&(t.popup&&Wt.swalCloseEventFinishedCallback&&(Wt.swalCloseEventFinishedCallback(),delete Wt.swalCloseEventFinishedCallback),Wt.deferDisposalTimer&&(clearTimeout(Wt.deferDisposalTimer),delete Wt.deferDisposalTimer),"function"==typeof e.onDestroy&&e.onDestroy(),delete this.params,delete Wt.keydownHandler,delete Wt.keydownTarget,Qe(wt),Qe(ne))}});function Je(){if("undefined"!=typeof window){"undefined"==typeof Promise&&v("This package requires a Promise library, please include a shim to enable it in this browser (See: https://github.com/sweetalert2/sweetalert2/wiki/Migration-from-SweetAlert-to-SweetAlert2#1-ie-support)"),Ze=this;for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];var o=Object.freeze(this.constructor.argsToParams(e));Object.defineProperties(this,{params:{value:o,writable:!1,enumerable:!0,configurable:!0}});var i=this._main(this.params);wt.promise.set(this,i)}}Je.prototype.then=function(t){return wt.promise.get(this).then(t)},Je.prototype.finally=function(t){return wt.promise.get(this).finally(t)},c(Je.prototype,$e),c(Je,$t),Object.keys($e).forEach(function(t){Je[t]=function(){if(Ze)return Ze[t].apply(Ze,arguments)}}),Je.DismissReason=U,Je.version="9.10.0";var Xe=Je;return Xe.default=Xe}),void 0!==this&&this.csmm_Sweetalert2&&(this.csmm_swal=this.csmm_sweetAlert=this.csmm_Swal=this.csmm_SweetAlert=this.csmm_Sweetalert2);
44
 
45
  /**
46
- * Copyright (c) 2007 Ariel Flesler - aflesler ○ gmail • com | https://github.com/flesler
47
  * Licensed under MIT
48
- * @author Ariel Flesler
49
- * @version 2.1.2
50
  */
51
  ;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1<b.axis.length;u&&(d/=2);b.offset=h(b.offset);b.over=h(b.over);return this.each(function(){function k(a){var k=$.extend({},b,{queue:!0,duration:d,complete:a&&function(){a.call(q,e,b)}});r.animate(f,k)}if(null!==a){var l=n(this),q=l?this.contentWindow||window:this,r=$(q),e=a,f={},t;switch(typeof e){case "number":case "string":if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(e)){e= h(e);break}e=l?$(e):$(e,q);case "object":if(e.length===0)return;if(e.is||e.style)t=(e=$(e)).offset()}var v=$.isFunction(b.offset)&&b.offset(q,e)||b.offset;$.each(b.axis.split(""),function(a,c){var d="x"===c?"Left":"Top",m=d.toLowerCase(),g="scroll"+d,h=r[g](),n=p.max(q,c);t?(f[g]=t[m]+(l?0:h-r.offset()[m]),b.margin&&(f[g]-=parseInt(e.css("margin"+d),10)||0,f[g]-=parseInt(e.css("border"+d+"Width"),10)||0),f[g]+=v[m]||0,b.over[m]&&(f[g]+=e["x"===c?"width":"height"]()*b.over[m])):(d=e[m],f[g]=d.slice&& "%"===d.slice(-1)?parseFloat(d)/100*n:d);b.limit&&/^\d+$/.test(f[g])&&(f[g]=0>=f[g]?0:Math.min(f[g],n));!a&&1<b.axis.length&&(h===f[g]?f={}:u&&(k(b.onAfterFirst),f={}))});k(b.onAfter)}})};p.max=function(a,d){var b="x"===d?"Width":"Height",h="scroll"+b;if(!n(a))return a[h]-$(a)[b.toLowerCase()]();var b="client"+b,k=a.ownerDocument||a.document,l=k.documentElement,k=k.body;return Math.max(l[h],k[h])-Math.min(l[b],k[b])};$.Tween.propHooks.scrollLeft=$.Tween.propHooks.scrollTop={get:function(a){return $(a.elem)[a.prop]()}, set:function(a){var d=this.get(a);if(a.options.interrupt&&a._last&&a._last!==d)return $(a.elem).stop();var b=Math.round(a.now);d!==b&&($(a.elem)[a.prop](b),a._last=this.get(a))}};return p});
52
 
4
  * https://github.com/carhartl/jquery-cookie
5
  */
6
 
7
+ !function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)}(function(e){function n(e){return e}function o(e){return decodeURIComponent(e.replace(t," "))}function i(e){0===e.indexOf('"')&&(e=e.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\"));try{return r.json?JSON.parse(e):e}catch(n){}}var t=/\+/g,r=e.cookie=function(t,c,a){if(void 0!==c){if(a=e.extend({},r.defaults,a),"number"==typeof a.expires){var u=a.expires,f=a.expires=new Date;f.setDate(f.getDate()+u)}return c=r.json?JSON.stringify(c):String(c),document.cookie=[r.raw?t:encodeURIComponent(t),"=",r.raw?c:encodeURIComponent(c),a.expires?"; expires="+a.expires.toUTCString():"",a.path?"; path="+a.path:"",a.domain?"; domain="+a.domain:"",a.secure?"; secure":""].join("")}for(var d=r.raw?n:o,p=document.cookie.split("; "),s=t?void 0:{},m=0,x=p.length;x>m;m++){var l=p[m].split("="),g=d(l.shift()),v=d(l.join("="));if(t&&t===g){s=i(v);break}t||(s[g]=i(v))}return s};r.defaults={},e.removeCookie=function(n,o){return void 0!==e.cookie(n)?(e.cookie(n,"",e.extend({},o,{expires:-1})),!0):!1}});
8
 
9
 
10
+ /**
11
+ * Jquery blockUI v2.66
12
+ * -----------------------------------------------------
13
+ * http://malsup.com/jquery/block/
14
+ */
15
 
16
  (function(){"use strict";function e(e){function a(i,a){var l,h;var m=i==window;var g=a&&a.message!==undefined?a.message:undefined;a=e.extend({},e.blockUI.defaults,a||{});if(a.ignoreIfBlocked&&e(i).data("blockUI.isBlocked"))return;a.overlayCSS=e.extend({},e.blockUI.defaults.overlayCSS,a.overlayCSS||{});l=e.extend({},e.blockUI.defaults.css,a.css||{});if(a.onOverlayClick)a.overlayCSS.cursor="pointer";h=e.extend({},e.blockUI.defaults.themedCSS,a.themedCSS||{});g=g===undefined?a.message:g;if(m&&o)f(window,{fadeOut:0});if(g&&typeof g!="string"&&(g.parentNode||g.jquery)){var y=g.jquery?g[0]:g;var b={};e(i).data("blockUI.history",b);b.el=y;b.parent=y.parentNode;b.display=y.style.display;b.position=y.style.position;if(b.parent)b.parent.removeChild(y)}e(i).data("blockUI.onUnblock",a.onUnblock);var w=a.baseZ;var E,S,x,T;if(n||a.forceIframe)E=e('<iframe class="blockUI" style="z-index:'+w++ +';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="'+a.iframeSrc+'"></iframe>');else E=e('<div class="blockUI" style="display:none"></div>');if(a.theme)S=e('<div class="blockUI blockOverlay ui-widget-overlay" style="z-index:'+w++ +';display:none"></div>');else S=e('<div class="blockUI blockOverlay" style="z-index:'+w++ +';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>');if(a.theme&&m){T='<div class="blockUI '+a.blockMsgClass+' blockPage ui-dialog ui-widget ui-corner-all" style="z-index:'+(w+10)+';display:none;position:fixed">';if(a.title){T+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(a.title||"&nbsp;")+"</div>"}T+='<div class="ui-widget-content ui-dialog-content"></div>';T+="</div>"}else if(a.theme){T='<div class="blockUI '+a.blockMsgClass+' blockElement ui-dialog ui-widget ui-corner-all" style="z-index:'+(w+10)+';display:none;position:absolute">';if(a.title){T+='<div class="ui-widget-header ui-dialog-titlebar ui-corner-all blockTitle">'+(a.title||"&nbsp;")+"</div>"}T+='<div class="ui-widget-content ui-dialog-content"></div>';T+="</div>"}else if(m){T='<div class="blockUI '+a.blockMsgClass+' blockPage" style="z-index:'+(w+10)+';display:none;position:fixed"></div>'}else{T='<div class="blockUI '+a.blockMsgClass+' blockElement" style="z-index:'+(w+10)+';display:none;position:absolute"></div>'}x=e(T);if(g){if(a.theme){x.css(h);x.addClass("ui-widget-content")}else x.css(l)}if(!a.theme)S.css(a.overlayCSS);S.css("position",m?"fixed":"absolute");if(n||a.forceIframe)E.css("opacity",0);var N=[E,S,x],C=m?e("body"):e(i);e.each(N,function(){this.appendTo(C)});if(a.theme&&a.draggable&&e.fn.draggable){x.draggable({handle:".ui-dialog-titlebar",cancel:"li"})}var k=s&&(!e.support.boxModel||e("object,embed",m?null:i).length>0);if(r||k){if(m&&a.allowBodyStretch&&e.support.boxModel)e("html,body").css("height","100%");if((r||!e.support.boxModel)&&!m){var L=v(i,"borderTopWidth"),A=v(i,"borderLeftWidth");var O=L?"(0 - "+L+")":0;var M=A?"(0 - "+A+")":0}e.each(N,function(e,t){var n=t[0].style;n.position="absolute";if(e<2){if(m)n.setExpression("height","Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:"+a.quirksmodeOffsetHack+') + "px"');else n.setExpression("height",'this.parentNode.offsetHeight + "px"');if(m)n.setExpression("width",'jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"');else n.setExpression("width",'this.parentNode.offsetWidth + "px"');if(M)n.setExpression("left",M);if(O)n.setExpression("top",O)}else if(a.centerY){if(m)n.setExpression("top",'(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"');n.marginTop=0}else if(!a.centerY&&m){var r=a.css&&a.css.top?parseInt(a.css.top,10):0;var i="((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "+r+') + "px"';n.setExpression("top",i)}})}if(g){if(a.theme)x.find(".ui-widget-content").append(g);else x.append(g);if(g.jquery||g.nodeType)e(g).show()}if((n||a.forceIframe)&&a.showOverlay)E.show();if(a.fadeIn){var _=a.onBlock?a.onBlock:t;var D=a.showOverlay&&!g?_:t;var P=g?_:t;if(a.showOverlay)S._fadeIn(a.fadeIn,D);if(g)x._fadeIn(a.fadeIn,P)}else{if(a.showOverlay)S.show();if(g)x.show();if(a.onBlock)a.onBlock()}c(1,i,a);if(m){o=x[0];u=e(a.focusableElements,o);if(a.focusInput)setTimeout(p,20)}else d(x[0],a.centerX,a.centerY);if(a.timeout){var H=setTimeout(function(){if(m)e.unblockUI(a);else e(i).unblock(a)},a.timeout);e(i).data("blockUI.timeout",H)}}function f(t,n){var r;var i=t==window;var s=e(t);var a=s.data("blockUI.history");var f=s.data("blockUI.timeout");if(f){clearTimeout(f);s.removeData("blockUI.timeout")}n=e.extend({},e.blockUI.defaults,n||{});c(0,t,n);if(n.onUnblock===null){n.onUnblock=s.data("blockUI.onUnblock");s.removeData("blockUI.onUnblock")}var h;if(i)h=e("body").children().filter(".blockUI").add("body > .blockUI");else h=s.find(">.blockUI");if(n.cursorReset){if(h.length>1)h[1].style.cursor=n.cursorReset;if(h.length>2)h[2].style.cursor=n.cursorReset}if(i)o=u=null;if(n.fadeOut){r=h.length;h.stop().fadeOut(n.fadeOut,function(){if(--r===0)l(h,a,n,t)})}else l(h,a,n,t)}function l(t,n,r,i){var s=e(i);if(s.data("blockUI.isBlocked"))return;t.each(function(e,t){if(this.parentNode)this.parentNode.removeChild(this)});if(n&&n.el){n.el.style.display=n.display;n.el.style.position=n.position;if(n.parent)n.parent.appendChild(n.el);s.removeData("blockUI.history")}if(s.data("blockUI.static")){s.css("position","static")}if(typeof r.onUnblock=="function")r.onUnblock(i,r);var o=e(document.body),u=o.width(),a=o[0].style.width;o.width(u-1).width(u);o[0].style.width=a}function c(t,n,r){var i=n==window,s=e(n);if(!t&&(i&&!o||!i&&!s.data("blockUI.isBlocked")))return;s.data("blockUI.isBlocked",t);if(!i||!r.bindEvents||t&&!r.showOverlay)return;var u="mousedown mouseup keydown keypress keyup touchstart touchend touchmove";if(t)e(document).bind(u,r,h);else e(document).unbind(u,h)}function h(t){if(t.type==="keydown"&&t.keyCode&&t.keyCode==9){if(o&&t.data.constrainTabKey){var n=u;var r=!t.shiftKey&&t.target===n[n.length-1];var i=t.shiftKey&&t.target===n[0];if(r||i){setTimeout(function(){p(i)},10);return false}}}var s=t.data;var a=e(t.target);if(a.hasClass("blockOverlay")&&s.onOverlayClick)s.onOverlayClick(t);if(a.parents("div."+s.blockMsgClass).length>0)return true;return a.parents().children().filter("div.blockUI").length===0}function p(e){if(!u)return;var t=u[e===true?u.length-1:0];if(t)t.focus()}function d(e,t,n){var r=e.parentNode,i=e.style;var s=(r.offsetWidth-e.offsetWidth)/2-v(r,"borderLeftWidth");var o=(r.offsetHeight-e.offsetHeight)/2-v(r,"borderTopWidth");if(t)i.left=s>0?s+"px":"0";if(n)i.top=o>0?o+"px":"0"}function v(t,n){return parseInt(e.css(t,n),10)||0}e.fn._fadeIn=e.fn.fadeIn;var t=e.noop||function(){};var n=/MSIE/.test(navigator.userAgent);var r=/MSIE 6.0/.test(navigator.userAgent)&&!/MSIE 8.0/.test(navigator.userAgent);var i=document.documentMode||0;var s=e.isFunction(document.createElement("div").style.setExpression);e.blockUI=function(e){a(window,e)};e.unblockUI=function(e){f(window,e)};e.growlUI=function(t,n,r,i){var s=e('<div class="growlUI"></div>');if(t)s.append("<h1>"+t+"</h1>");if(n)s.append("<h2>"+n+"</h2>");if(r===undefined)r=3e3;var o=function(t){t=t||{};e.blockUI({message:s,fadeIn:typeof t.fadeIn!=="undefined"?t.fadeIn:700,fadeOut:typeof t.fadeOut!=="undefined"?t.fadeOut:1e3,timeout:typeof t.timeout!=="undefined"?t.timeout:r,centerY:false,showOverlay:false,onUnblock:i,css:e.blockUI.defaults.growlCSS})};o();var u=s.css("opacity");s.mouseover(function(){o({fadeIn:0,timeout:3e4});var t=e(".blockMsg");t.stop();t.fadeTo(300,1)}).mouseout(function(){e(".blockMsg").fadeOut(1e3)})};e.fn.block=function(t){if(this[0]===window){e.blockUI(t);return this}var n=e.extend({},e.blockUI.defaults,t||{});this.each(function(){var t=e(this);if(n.ignoreIfBlocked&&t.data("blockUI.isBlocked"))return;t.unblock({fadeOut:0})});return this.each(function(){if(e.css(this,"position")=="static"){this.style.position="relative";e(this).data("blockUI.static",true)}this.style.zoom=1;a(this,t)})};e.fn.unblock=function(t){if(this[0]===window){e.unblockUI(t);return this}return this.each(function(){f(this,t)})};e.blockUI.version=2.66;e.blockUI.defaults={message:"<h1>Please wait...</h1>",title:null,draggable:true,theme:false,css:{padding:0,margin:0,width:"30%",top:"40%",left:"35%",textAlign:"center",color:"#fff",border:"1px solid #ff0000",backgroundColor:"#ff0000",cursor:"wait"},themedCSS:{width:"30%",top:"40%",left:"35%"},overlayCSS:{backgroundColor:"#fff",opacity:.6,cursor:"wait"},cursorReset:"default",growlCSS:{width:"350px",top:"10px",left:"",right:"10px",border:"none",padding:"5px",opacity:.6,cursor:"default",color:"#fff",backgroundColor:"#000","-webkit-border-radius":"10px","-moz-border-radius":"10px","border-radius":"10px"},iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank",forceIframe:false,baseZ:1e3,centerX:true,centerY:true,allowBodyStretch:true,bindEvents:true,constrainTabKey:true,fadeIn:200,fadeOut:400,timeout:0,showOverlay:true,focusInput:true,focusableElements:":input:enabled:visible",onBlock:null,onUnblock:null,onOverlayClick:null,quirksmodeOffsetHack:4,blockMsgClass:"blockMsg",ignoreIfBlocked:false};var o=null;var u=[]}if(typeof define==="function"&&define.amd&&define.amd.jQuery){define(["jquery"],e)}else{e(jQuery)}})();
17
 
43
  !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).csmm_Sweetalert2=e()}(this,function(){"use strict";function r(t){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function i(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function a(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function c(){return(c=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t}).apply(this,arguments)}function s(t){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function u(t,e){return(u=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function l(t,e,n){return(l=function(){if("undefined"!=typeof Reflect&&Reflect.construct&&!Reflect.construct.sham){if("function"==typeof Proxy)return 1;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),1}catch(t){return}}}()?Reflect.construct:function(t,e,n){var o=[null];o.push.apply(o,e);var i=new(Function.bind.apply(t,o));return n&&u(i,n.prototype),i}).apply(null,arguments)}function d(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function p(t,e,n){return(p="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var o=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=s(t)););return t}(t,e);if(o){var i=Object.getOwnPropertyDescriptor(o,e);return i.get?i.get.call(n):i.value}})(t,e,n||t)}function f(e){return Object.keys(e).map(function(t){return e[t]})}function m(t){return Array.prototype.slice.call(t)}function v(t){console.error("".concat(V," ").concat(t))}function h(t,e){var n;n='"'.concat(t,'" is deprecated and will be removed in the next major release. Please use "').concat(e,'" instead.'),-1===D.indexOf(n)&&(D.push(n),R(n))}function g(t){return t&&Promise.resolve(t)===t}function b(t){return t instanceof Element||"object"===r(e=t)&&e.jquery;var e}function t(t){var e={};for(var n in t)e[t[n]]="swal2-"+t[n];return e}function y(t){var e=z();return e?e.querySelector(t):null}function e(t){return y(".".concat(t))}function n(){var t=W();return m(t.querySelectorAll(".".concat(_.icon)))}function w(){var t=n().filter(function(t){return dt(t)});return t.length?t[0]:null}function C(){return e(_.title)}function k(){return e(_.content)}function x(){return e(_.image)}function P(){return e(_["progress-steps"])}function A(){return e(_["validation-message"])}function B(){return y(".".concat(_.actions," .").concat(_.confirm))}function T(){return y(".".concat(_.actions," .").concat(_.cancel))}function E(){return e(_.actions)}function S(){return e(_.header)}function L(){return e(_.footer)}function O(){return e(_["timer-progress-bar"])}function M(){return e(_.close)}function H(){var t=m(W().querySelectorAll('[tabindex]:not([tabindex="-1"]):not([tabindex="0"])')).sort(function(t,e){return t=parseInt(t.getAttribute("tabindex")),(e=parseInt(e.getAttribute("tabindex")))<t?1:t<e?-1:0}),e=m(W().querySelectorAll('\n a[href],\n area[href],\n input:not([disabled]),\n select:not([disabled]),\n textarea:not([disabled]),\n button:not([disabled]),\n iframe,\n object,\n embed,\n [tabindex="0"],\n [contenteditable],\n audio[controls],\n video[controls],\n summary\n')).filter(function(t){return"-1"!==t.getAttribute("tabindex")});return function(t){for(var e=[],n=0;n<t.length;n++)-1===e.indexOf(t[n])&&e.push(t[n]);return e}(t.concat(e)).filter(function(t){return dt(t)})}function I(){return!K()&&!document.body.classList.contains(_["no-backdrop"])}function j(t,e){if(e){for(var n=e.split(/\s+/),o=0;o<n.length;o++)if(!t.classList.contains(n[o]))return;return 1}}function q(t,e,n){var o,i;if(i=e,m((o=t).classList).forEach(function(t){-1===f(_).indexOf(t)&&-1===f(F).indexOf(t)&&-1===f(i.showClass).indexOf(t)&&o.classList.remove(t)}),e.customClass&&e.customClass[n]){if("string"!=typeof e.customClass[n]&&!e.customClass[n].forEach)return R("Invalid type of customClass.".concat(n,'! Expected string or iterable object, got "').concat(r(e.customClass[n]),'"'));st(t,e.customClass[n])}}var V="SweetAlert2:",R=function(t){console.warn("".concat(V," ").concat(t))},D=[],N=function(t){return"function"==typeof t?t():t},U=Object.freeze({cancel:"cancel",backdrop:"backdrop",close:"close",esc:"esc",timer:"timer"}),_=t(["container","shown","height-auto","iosfix","popup","modal","no-backdrop","no-transition","toast","toast-shown","toast-column","show","hide","close","title","header","content","html-container","actions","confirm","cancel","footer","icon","icon-content","image","input","file","range","select","radio","checkbox","label","textarea","inputerror","validation-message","progress-steps","active-progress-step","progress-step","progress-step-line","loading","styled","top","top-start","top-end","top-left","top-right","center","center-start","center-end","center-left","center-right","bottom","bottom-start","bottom-end","bottom-left","bottom-right","grow-row","grow-column","grow-fullscreen","rtl","timer-progress-bar","scrollbar-measure","icon-success","icon-warning","icon-info","icon-question","icon-error"]),F=t(["success","warning","info","question","error"]),z=function(){return document.body.querySelector(".".concat(_.container))},W=function(){return e(_.popup)},K=function(){return document.body.classList.contains(_["toast-shown"])},Y={previousBodyPadding:null};function Z(t,e){if(!e)return null;switch(e){case"select":case"textarea":case"file":return lt(t,_[e]);case"checkbox":return t.querySelector(".".concat(_.checkbox," input"));case"radio":return t.querySelector(".".concat(_.radio," input:checked"))||t.querySelector(".".concat(_.radio," input:first-child"));case"range":return t.querySelector(".".concat(_.range," input"));default:return lt(t,_.input)}}function Q(t){if(t.focus(),"file"!==t.type){var e=t.value;t.value="",t.value=e}}function $(t,e,n){t&&e&&("string"==typeof e&&(e=e.split(/\s+/).filter(Boolean)),e.forEach(function(e){t.forEach?t.forEach(function(t){n?t.classList.add(e):t.classList.remove(e)}):n?t.classList.add(e):t.classList.remove(e)}))}function J(t,e,n){n||0===parseInt(n)?t.style[e]="number"==typeof n?"".concat(n,"px"):n:t.style.removeProperty(e)}function X(t,e){var n=1<arguments.length&&void 0!==e?e:"flex";t.style.opacity="",t.style.display=n}function G(t){t.style.opacity="",t.style.display="none"}function tt(t,e,n){e?X(t,n):G(t)}function et(t){var e=window.getComputedStyle(t),n=parseFloat(e.getPropertyValue("animation-duration")||"0"),o=parseFloat(e.getPropertyValue("transition-duration")||"0");return 0<n||0<o}function nt(t,e){var n=1<arguments.length&&void 0!==e&&e,o=O();dt(o)&&(n&&(o.style.transition="none",o.style.width="100%"),setTimeout(function(){o.style.transition="width ".concat(t/1e3,"s linear"),o.style.width="0%"},10))}function ot(){return"undefined"==typeof window||"undefined"==typeof document}function it(t){Xe.isVisible()&&ct!==t.target.value&&Xe.resetValidationMessage(),ct=t.target.value}function rt(t,e){t instanceof HTMLElement?e.appendChild(t):"object"===r(t)?mt(t,e):t&&(e.innerHTML=t)}function at(t,e){var n=E(),o=B(),i=T();e.showConfirmButton||e.showCancelButton||G(n),q(n,e,"actions"),vt(o,"confirm",e),vt(i,"cancel",e),e.buttonsStyling?function(t,e,n){st([t,e],_.styled),n.confirmButtonColor&&(t.style.backgroundColor=n.confirmButtonColor);n.cancelButtonColor&&(e.style.backgroundColor=n.cancelButtonColor);var o=window.getComputedStyle(t).getPropertyValue("background-color");t.style.borderLeftColor=o,t.style.borderRightColor=o}(o,i,e):(ut([o,i],_.styled),o.style.backgroundColor=o.style.borderLeftColor=o.style.borderRightColor="",i.style.backgroundColor=i.style.borderLeftColor=i.style.borderRightColor=""),e.reverseButtons&&o.parentNode.insertBefore(i,o)}var ct,st=function(t,e){$(t,e,!0)},ut=function(t,e){$(t,e,!1)},lt=function(t,e){for(var n=0;n<t.childNodes.length;n++)if(j(t.childNodes[n],e))return t.childNodes[n]},dt=function(t){return!(!t||!(t.offsetWidth||t.offsetHeight||t.getClientRects().length))},pt='\n <div aria-labelledby="'.concat(_.title,'" aria-describedby="').concat(_.content,'" class="').concat(_.popup,'" tabindex="-1">\n <div class="').concat(_.header,'">\n <ul class="').concat(_["progress-steps"],'"></ul>\n <div class="').concat(_.icon," ").concat(F.error,'"></div>\n <div class="').concat(_.icon," ").concat(F.question,'"></div>\n <div class="').concat(_.icon," ").concat(F.warning,'"></div>\n <div class="').concat(_.icon," ").concat(F.info,'"></div>\n <div class="').concat(_.icon," ").concat(F.success,'"></div>\n <img class="').concat(_.image,'" />\n <h2 class="').concat(_.title,'" id="').concat(_.title,'"></h2>\n <button type="button" class="').concat(_.close,'"></button>\n </div>\n <div class="').concat(_.content,'">\n <div id="').concat(_.content,'" class="').concat(_["html-container"],'"></div>\n <input class="').concat(_.input,'" />\n <input type="file" class="').concat(_.file,'" />\n <div class="').concat(_.range,'">\n <input type="range" />\n <output></output>\n </div>\n <select class="').concat(_.select,'"></select>\n <div class="').concat(_.radio,'"></div>\n <label for="').concat(_.checkbox,'" class="').concat(_.checkbox,'">\n <input type="checkbox" />\n <span class="').concat(_.label,'"></span>\n </label>\n <textarea class="').concat(_.textarea,'"></textarea>\n <div class="').concat(_["validation-message"],'" id="').concat(_["validation-message"],'"></div>\n </div>\n <div class="').concat(_.actions,'">\n <button type="button" class="').concat(_.confirm,'">OK</button>\n <button type="button" class="').concat(_.cancel,'">Cancel</button>\n </div>\n <div class="').concat(_.footer,'"></div>\n <div class="').concat(_["timer-progress-bar"],'"></div>\n </div>\n').replace(/(^|\n)\s*/g,""),ft=function(t){var e,n=!!(e=z())&&(e.parentNode.removeChild(e),ut([document.documentElement,document.body],[_["no-backdrop"],_["toast-shown"],_["has-column"]]),!0);if(ot())v("SweetAlert2 requires document to initialize");else{var o=document.createElement("div");o.className=_.container,n&&st(o,_["no-transition"]),o.innerHTML=pt;var i,r,a,c,s,u,l,d,p,f,m,h,g="string"==typeof(i=t.target)?document.querySelector(i):i;g.appendChild(o),r=t,(a=W()).setAttribute("role",r.toast?"alert":"dialog"),a.setAttribute("aria-live",r.toast?"polite":"assertive"),r.toast||a.setAttribute("aria-modal","true"),c=g,"rtl"===window.getComputedStyle(c).direction&&st(z(),_.rtl),s=k(),u=lt(s,_.input),l=lt(s,_.file),d=s.querySelector(".".concat(_.range," input")),p=s.querySelector(".".concat(_.range," output")),f=lt(s,_.select),m=s.querySelector(".".concat(_.checkbox," input")),h=lt(s,_.textarea),u.oninput=it,l.onchange=it,f.onchange=it,m.onchange=it,h.oninput=it,d.oninput=function(t){it(t),p.value=d.value},d.onchange=function(t){it(t),d.nextSibling.value=d.value}}},mt=function(t,e){t.jquery?ht(e,t):e.innerHTML=t.toString()},ht=function(t,e){if(t.innerHTML="",0 in e)for(var n=0;n in e;n++)t.appendChild(e[n].cloneNode(!0));else t.appendChild(e.cloneNode(!0))},gt=function(){if(ot())return!1;var t=document.createElement("div"),e={WebkitAnimation:"webkitAnimationEnd",OAnimation:"oAnimationEnd oanimationend",animation:"animationend"};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&void 0!==t.style[n])return e[n];return!1}();function vt(t,e,n){var o;tt(t,n["show".concat((o=e).charAt(0).toUpperCase()+o.slice(1),"Button")],"inline-block"),t.innerHTML=n["".concat(e,"ButtonText")],t.setAttribute("aria-label",n["".concat(e,"ButtonAriaLabel")]),t.className=_[e],q(t,n,"".concat(e,"Button")),st(t,n["".concat(e,"ButtonClass")])}function bt(t,e){var n=z();if(n){var o,i,r,a;o=n,"string"==typeof(i=e.backdrop)?o.style.background=i:i||st([document.documentElement,document.body],_["no-backdrop"]),!e.backdrop&&e.allowOutsideClick&&R('"allowOutsideClick" parameter requires `backdrop` parameter to be set to `true`'),r=n,(a=e.position)in _?st(r,_[a]):(R('The "position" parameter is not valid, defaulting to "center"'),st(r,_.center)),function(t,e){if(e&&"string"==typeof e){var n="grow-".concat(e);n in _&&st(t,_[n])}}(n,e.grow),q(n,e,"container");var c=document.body.getAttribute("data-swal2-queue-step");c&&(n.setAttribute("data-queue-step",c),document.body.removeAttribute("data-swal2-queue-step"))}}function yt(t,e){t.placeholder&&!e.inputPlaceholder||(t.placeholder=e.inputPlaceholder)}var wt={promise:new WeakMap,innerParams:new WeakMap,domCache:new WeakMap},Ct=["input","file","range","select","radio","checkbox","textarea"],kt=function(t){if(!Bt[t.input])return v('Unexpected type of input! Expected "text", "email", "password", "number", "tel", "select", "radio", "checkbox", "textarea", "file" or "url", got "'.concat(t.input,'"'));var e=At(t.input),n=Bt[t.input](e,t);X(n),setTimeout(function(){Q(n)})},xt=function(t,e){var n=Z(k(),t);if(n)for(var o in!function(t){for(var e=0;e<t.attributes.length;e++){var n=t.attributes[e].name;-1===["type","value","style"].indexOf(n)&&t.removeAttribute(n)}}(n),e)"range"===t&&"placeholder"===o||n.setAttribute(o,e[o])},Pt=function(t){var e=At(t.input);t.customClass&&st(e,t.customClass.input)},At=function(t){var e=_[t]?_[t]:_.input;return lt(k(),e)},Bt={};Bt.text=Bt.email=Bt.password=Bt.number=Bt.tel=Bt.url=function(t,e){return"string"==typeof e.inputValue||"number"==typeof e.inputValue?t.value=e.inputValue:g(e.inputValue)||R('Unexpected type of inputValue! Expected "string", "number" or "Promise", got "'.concat(r(e.inputValue),'"')),yt(t,e),t.type=e.input,t},Bt.file=function(t,e){return yt(t,e),t},Bt.range=function(t,e){var n=t.querySelector("input"),o=t.querySelector("output");return n.value=e.inputValue,n.type=e.input,o.value=e.inputValue,t},Bt.select=function(t,e){if(t.innerHTML="",e.inputPlaceholder){var n=document.createElement("option");n.innerHTML=e.inputPlaceholder,n.value="",n.disabled=!0,n.selected=!0,t.appendChild(n)}return t},Bt.radio=function(t){return t.innerHTML="",t},Bt.checkbox=function(t,e){var n=Z(k(),"checkbox");return n.value=1,n.id=_.checkbox,n.checked=Boolean(e.inputValue),t.querySelector("span").innerHTML=e.inputPlaceholder,t},Bt.textarea=function(e,t){if(e.value=t.inputValue,yt(e,t),"MutationObserver"in window){var n=parseInt(window.getComputedStyle(W()).width),o=parseInt(window.getComputedStyle(W()).paddingLeft)+parseInt(window.getComputedStyle(W()).paddingRight);new MutationObserver(function(){var t=e.offsetWidth+o;W().style.width=n<t?"".concat(t,"px"):null}).observe(e,{attributes:!0,attributeFilter:["style"]})}return e};function Tt(t,e){var n,o,i,r,a,c=k().querySelector("#".concat(_.content));e.html?(rt(e.html,c),X(c,"block")):e.text?(c.textContent=e.text,X(c,"block")):G(c),n=t,o=e,i=k(),r=wt.innerParams.get(n),a=!r||o.input!==r.input,Ct.forEach(function(t){var e=_[t],n=lt(i,e);xt(t,o.inputAttributes),n.className=e,a&&G(n)}),o.input&&(a&&kt(o),Pt(o)),q(k(),e,"content")}function Et(){return z().getAttribute("data-queue-step")}function St(t,s){var u=P();if(!s.progressSteps||0===s.progressSteps.length)return G(u);X(u),u.innerHTML="";var l=parseInt(void 0===s.currentProgressStep?Et():s.currentProgressStep);l>=s.progressSteps.length&&R("Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"),s.progressSteps.forEach(function(t,e){var n,o,i,r,a=(n=t,o=document.createElement("li"),st(o,_["progress-step"]),o.innerHTML=n,o);if(u.appendChild(a),e===l&&st(a,_["active-progress-step"]),e!==s.progressSteps.length-1){var c=(i=t,r=document.createElement("li"),st(r,_["progress-step-line"]),i.progressStepsDistance&&(r.style.width=i.progressStepsDistance),r);u.appendChild(c)}})}function Lt(t,e){var n,o,i,r,a=S();q(a,e,"header"),St(0,e),function(t,e){var n=wt.innerParams.get(t);if(n&&e.icon===n.icon&&w())q(w(),e,"icon");else if(Ht(),e.icon)if(-1!==Object.keys(F).indexOf(e.icon)){var o=y(".".concat(_.icon,".").concat(F[e.icon]));X(o),jt(o,e),It(),q(o,e,"icon"),st(o,e.showClass.icon)}else v('Unknown icon! Expected "success", "error", "warning", "info" or "question", got "'.concat(e.icon,'"'))}(t,e),function(t){var e=x();if(!t.imageUrl)return G(e);X(e),e.setAttribute("src",t.imageUrl),e.setAttribute("alt",t.imageAlt),J(e,"width",t.imageWidth),J(e,"height",t.imageHeight),e.className=_.image,q(e,t,"image")}(e),n=e,o=C(),tt(o,n.title||n.titleText),n.title&&rt(n.title,o),n.titleText&&(o.innerText=n.titleText),q(o,n,"title"),i=e,(r=M()).innerHTML=i.closeButtonHtml,q(r,i,"closeButton"),tt(r,i.showCloseButton),r.setAttribute("aria-label",i.closeButtonAriaLabel)}function Ot(t,e){var n,o,i,r;n=e,o=W(),J(o,"width",n.width),J(o,"padding",n.padding),n.background&&(o.style.background=n.background),Rt(o,n),bt(0,e),Lt(t,e),Tt(t,e),at(0,e),i=e,r=L(),tt(r,i.footer),i.footer&&rt(i.footer,r),q(r,i,"footer"),"function"==typeof e.onRender&&e.onRender(W())}function Mt(){return B()&&B().click()}var Ht=function(){for(var t=n(),e=0;e<t.length;e++)G(t[e])},It=function(){for(var t=W(),e=window.getComputedStyle(t).getPropertyValue("background-color"),n=t.querySelectorAll("[class^=swal2-success-circular-line], .swal2-success-fix"),o=0;o<n.length;o++)n[o].style.backgroundColor=e},jt=function(t,e){if(t.innerHTML="",e.iconHtml)t.innerHTML=qt(e.iconHtml);else if("success"===e.icon)t.innerHTML='\n <div class="swal2-success-circular-line-left"></div>\n <span class="swal2-success-line-tip"></span> <span class="swal2-success-line-long"></span>\n <div class="swal2-success-ring"></div> <div class="swal2-success-fix"></div>\n <div class="swal2-success-circular-line-right"></div>\n ';else if("error"===e.icon)t.innerHTML='\n <span class="swal2-x-mark">\n <span class="swal2-x-mark-line-left"></span>\n <span class="swal2-x-mark-line-right"></span>\n </span>\n ';else{t.innerHTML=qt({question:"?",warning:"!",info:"i"}[e.icon])}},qt=function(t){return'<div class="'.concat(_["icon-content"],'">').concat(t,"</div>")},Vt=[],Rt=function(t,e){t.className="".concat(_.popup," ").concat(dt(t)?e.showClass.popup:""),e.toast?(st([document.documentElement,document.body],_["toast-shown"]),st(t,_.toast)):st(t,_.modal),q(t,e,"popup"),"string"==typeof e.customClass&&st(t,e.customClass),e.icon&&st(t,_["icon-".concat(e.icon)])};function Dt(){var t=W();t||Xe.fire(),t=W();var e=E(),n=B();X(e),X(n,"inline-block"),st([t,e],_.loading),n.disabled=!0,t.setAttribute("data-loading",!0),t.setAttribute("aria-busy",!0),t.focus()}function Nt(){return new Promise(function(t){var e=window.scrollX,n=window.scrollY;Wt.restoreFocusTimeout=setTimeout(function(){Wt.previousActiveElement&&Wt.previousActiveElement.focus?(Wt.previousActiveElement.focus(),Wt.previousActiveElement=null):document.body&&document.body.focus(),t()},100),void 0!==e&&void 0!==n&&window.scrollTo(e,n)})}function Ut(){if(Wt.timeout)return function(){var t=O(),e=parseInt(window.getComputedStyle(t).width);t.style.removeProperty("transition"),t.style.width="100%";var n=parseInt(window.getComputedStyle(t).width),o=parseInt(e/n*100);t.style.removeProperty("transition"),t.style.width="".concat(o,"%")}(),Wt.timeout.stop()}function _t(){if(Wt.timeout){var t=Wt.timeout.start();return nt(t),t}}function Ft(t){return Object.prototype.hasOwnProperty.call(Kt,t)}function zt(t){return Zt[t]}var Wt={},Kt={title:"",titleText:"",text:"",html:"",footer:"",icon:void 0,iconHtml:void 0,toast:!1,animation:!0,showClass:{popup:"swal2-show",backdrop:"swal2-backdrop-show",icon:"swal2-icon-show"},hideClass:{popup:"swal2-hide",backdrop:"swal2-backdrop-hide",icon:"swal2-icon-hide"},customClass:void 0,target:"body",backdrop:!0,heightAuto:!0,allowOutsideClick:!0,allowEscapeKey:!0,allowEnterKey:!0,stopKeydownPropagation:!0,keydownListenerCapture:!1,showConfirmButton:!0,showCancelButton:!1,preConfirm:void 0,confirmButtonText:"OK",confirmButtonAriaLabel:"",confirmButtonColor:void 0,cancelButtonText:"Cancel",cancelButtonAriaLabel:"",cancelButtonColor:void 0,buttonsStyling:!0,reverseButtons:!1,focusConfirm:!0,focusCancel:!1,showCloseButton:!1,closeButtonHtml:"&times;",closeButtonAriaLabel:"Close this dialog",showLoaderOnConfirm:!1,imageUrl:void 0,imageWidth:void 0,imageHeight:void 0,imageAlt:"",timer:void 0,timerProgressBar:!1,width:void 0,padding:void 0,background:void 0,input:void 0,inputPlaceholder:"",inputValue:"",inputOptions:{},inputAutoTrim:!0,inputAttributes:{},inputValidator:void 0,validationMessage:void 0,grow:!1,position:"center",progressSteps:[],currentProgressStep:void 0,progressStepsDistance:void 0,onBeforeOpen:void 0,onOpen:void 0,onRender:void 0,onClose:void 0,onAfterClose:void 0,onDestroy:void 0,scrollbarPadding:!0},Yt=["title","titleText","text","html","icon","hideClass","customClass","allowOutsideClick","allowEscapeKey","showConfirmButton","showCancelButton","confirmButtonText","confirmButtonAriaLabel","confirmButtonColor","cancelButtonText","cancelButtonAriaLabel","cancelButtonColor","buttonsStyling","reverseButtons","imageUrl","imageWidth","imageHeight","imageAlt","progressSteps","currentProgressStep"],Zt={animation:'showClass" and "hideClass'},Qt=["allowOutsideClick","allowEnterKey","backdrop","focusConfirm","focusCancel","heightAuto","keydownListenerCapture"],$t=Object.freeze({isValidParameter:Ft,isUpdatableParameter:function(t){return-1!==Yt.indexOf(t)},isDeprecatedParameter:zt,argsToParams:function(o){var i={};return"object"!==r(o[0])||b(o[0])?["title","html","icon"].forEach(function(t,e){var n=o[e];"string"==typeof n||b(n)?i[t]=n:void 0!==n&&v("Unexpected type of ".concat(t,'! Expected "string" or "Element", got ').concat(r(n)))}):c(i,o[0]),i},isVisible:function(){return dt(W())},clickConfirm:Mt,clickCancel:function(){return T()&&T().click()},getContainer:z,getPopup:W,getTitle:C,getContent:k,getHtmlContainer:function(){return e(_["html-container"])},getImage:x,getIcon:w,getIcons:n,getCloseButton:M,getActions:E,getConfirmButton:B,getCancelButton:T,getHeader:S,getFooter:L,getTimerProgressBar:O,getFocusableElements:H,getValidationMessage:A,isLoading:function(){return W().hasAttribute("data-loading")},fire:function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return l(this,e)},mixin:function(n){return function(t){function e(){return o(this,e),d(this,s(e).apply(this,arguments))}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&u(t,e)}(e,t),a(e,[{key:"_main",value:function(t){return p(s(e.prototype),"_main",this).call(this,c({},n,t))}}]),e}(this)},queue:function(t){var r=this;Vt=t;function a(t,e){Vt=[],t(e)}var c=[];return new Promise(function(i){!function e(n,o){n<Vt.length?(document.body.setAttribute("data-swal2-queue-step",n),r.fire(Vt[n]).then(function(t){void 0!==t.value?(c.push(t.value),e(n+1,o)):a(i,{dismiss:t.dismiss})})):a(i,{value:c})}(0)})},getQueueStep:Et,insertQueueStep:function(t,e){return e&&e<Vt.length?Vt.splice(e,0,t):Vt.push(t)},deleteQueueStep:function(t){void 0!==Vt[t]&&Vt.splice(t,1)},showLoading:Dt,enableLoading:Dt,getTimerLeft:function(){return Wt.timeout&&Wt.timeout.getTimerLeft()},stopTimer:Ut,resumeTimer:_t,toggleTimer:function(){var t=Wt.timeout;return t&&(t.running?Ut:_t)()},increaseTimer:function(t){if(Wt.timeout){var e=Wt.timeout.increase(t);return nt(e,!0),e}},isTimerRunning:function(){return Wt.timeout&&Wt.timeout.isRunning()}});function Jt(){var t=wt.innerParams.get(this);if(t){var e=wt.domCache.get(this);t.showConfirmButton||(G(e.confirmButton),t.showCancelButton||G(e.actions)),ut([e.popup,e.actions],_.loading),e.popup.removeAttribute("aria-busy"),e.popup.removeAttribute("data-loading"),e.confirmButton.disabled=!1,e.cancelButton.disabled=!1}}function Xt(){null===Y.previousBodyPadding&&document.body.scrollHeight>window.innerHeight&&(Y.previousBodyPadding=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right")),document.body.style.paddingRight="".concat(Y.previousBodyPadding+function(){var t=document.createElement("div");t.className=_["scrollbar-measure"],document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e}(),"px"))}function Gt(){return!!window.MSInputMethodContext&&!!document.documentMode}function te(){var t=z(),e=W();t.style.removeProperty("align-items"),e.offsetTop<0&&(t.style.alignItems="flex-start")}var ee=function(){var n,o=z();o.ontouchstart=function(t){var e;n=t.target===o||!((e=o).scrollHeight>e.clientHeight)&&"INPUT"!==t.target.tagName},o.ontouchmove=function(t){n&&(t.preventDefault(),t.stopPropagation())}},ne={swalPromiseResolve:new WeakMap};function oe(t,e,n,o){n?ae(t,o):(Nt().then(function(){return ae(t,o)}),Wt.keydownTarget.removeEventListener("keydown",Wt.keydownHandler,{capture:Wt.keydownListenerCapture}),Wt.keydownHandlerAdded=!1),e.parentNode&&!document.body.getAttribute("data-swal2-queue-step")&&e.parentNode.removeChild(e),I()&&(null!==Y.previousBodyPadding&&(document.body.style.paddingRight="".concat(Y.previousBodyPadding,"px"),Y.previousBodyPadding=null),function(){if(j(document.body,_.iosfix)){var t=parseInt(document.body.style.top,10);ut(document.body,_.iosfix),document.body.style.top="",document.body.scrollTop=-1*t}}(),"undefined"!=typeof window&&Gt()&&window.removeEventListener("resize",te),m(document.body.children).forEach(function(t){t.hasAttribute("data-previous-aria-hidden")?(t.setAttribute("aria-hidden",t.getAttribute("data-previous-aria-hidden")),t.removeAttribute("data-previous-aria-hidden")):t.removeAttribute("aria-hidden")})),ut([document.documentElement,document.body],[_.shown,_["height-auto"],_["no-backdrop"],_["toast-shown"],_["toast-column"]])}function ie(t){var e=W();if(e){var n=wt.innerParams.get(this);if(n&&!j(e,n.hideClass.popup)){var o=ne.swalPromiseResolve.get(this);ut(e,n.showClass.popup),st(e,n.hideClass.popup);var i=z();ut(i,n.showClass.backdrop),st(i,n.hideClass.backdrop),function(t,e,n){var o=z(),i=gt&&et(e),r=n.onClose,a=n.onAfterClose;if(r!==null&&typeof r==="function"){r(e)}if(i){re(t,e,o,a)}else{oe(t,o,K(),a)}}(this,e,n),o(t||{})}}}var re=function(t,e,n,o){Wt.swalCloseEventFinishedCallback=oe.bind(null,t,n,K(),o),e.addEventListener(gt,function(t){t.target===e&&(Wt.swalCloseEventFinishedCallback(),delete Wt.swalCloseEventFinishedCallback)})},ae=function(t,e){setTimeout(function(){"function"==typeof e&&e(),t._destroy()})};function ce(t,e,n){var o=wt.domCache.get(t);e.forEach(function(t){o[t].disabled=n})}function se(t,e){if(!t)return!1;if("radio"===t.type)for(var n=t.parentNode.parentNode.querySelectorAll("input"),o=0;o<n.length;o++)n[o].disabled=e;else t.disabled=e}var ue=function(){function n(t,e){o(this,n),this.callback=t,this.remaining=e,this.running=!1,this.start()}return a(n,[{key:"start",value:function(){return this.running||(this.running=!0,this.started=new Date,this.id=setTimeout(this.callback,this.remaining)),this.remaining}},{key:"stop",value:function(){return this.running&&(this.running=!1,clearTimeout(this.id),this.remaining-=new Date-this.started),this.remaining}},{key:"increase",value:function(t){var e=this.running;return e&&this.stop(),this.remaining+=t,e&&this.start(),this.remaining}},{key:"getTimerLeft",value:function(){return this.running&&(this.stop(),this.start()),this.remaining}},{key:"isRunning",value:function(){return this.running}}]),n}(),le={email:function(t,e){return/^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]{2,24}$/.test(t)?Promise.resolve():Promise.resolve(e||"Invalid email address")},url:function(t,e){return/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{2,256}\.[a-z]{2,63}\b([-a-zA-Z0-9@:%_+.~#?&/=]*)$/.test(t)?Promise.resolve():Promise.resolve(e||"Invalid URL")}};function de(t){var e,n;(e=t).inputValidator||Object.keys(le).forEach(function(t){e.input===t&&(e.inputValidator=le[t])}),t.showLoaderOnConfirm&&!t.preConfirm&&R("showLoaderOnConfirm is set to true, but preConfirm is not defined.\nshowLoaderOnConfirm should be used together with preConfirm, see usage example:\nhttps://sweetalert2.github.io/#ajax-request"),t.animation=N(t.animation),(n=t).target&&("string"!=typeof n.target||document.querySelector(n.target))&&("string"==typeof n.target||n.target.appendChild)||(R('Target parameter is not valid, defaulting to "body"'),n.target="body"),"string"==typeof t.title&&(t.title=t.title.split("\n").join("<br />")),ft(t)}function pe(t){var e=z(),n=W();"function"==typeof t.onBeforeOpen&&t.onBeforeOpen(n),xe(e,n,t),Ce(e,n),I()&&ke(e,t.scrollbarPadding),K()||Wt.previousActiveElement||(Wt.previousActiveElement=document.activeElement),"function"==typeof t.onOpen&&setTimeout(function(){return t.onOpen(n)}),ut(e,_["no-transition"])}function fe(t){var e=W();if(t.target===e){var n=z();e.removeEventListener(gt,fe),n.style.overflowY="auto"}}function me(t,e){"select"===e.input||"radio"===e.input?Te(t,e):-1!==["text","email","number","tel","textarea"].indexOf(e.input)&&g(e.inputValue)&&Ee(t,e)}function he(t,e){t.disableButtons(),e.input?Oe(t,e):Me(t,e,!0)}function ge(t,e){t.disableButtons(),e(U.cancel)}function ve(t,e){t.closePopup({value:e})}function be(e,t,n,o){t.keydownTarget&&t.keydownHandlerAdded&&(t.keydownTarget.removeEventListener("keydown",t.keydownHandler,{capture:t.keydownListenerCapture}),t.keydownHandlerAdded=!1),n.toast||(t.keydownHandler=function(t){return je(e,t,o)},t.keydownTarget=n.keydownListenerCapture?window:W(),t.keydownListenerCapture=n.keydownListenerCapture,t.keydownTarget.addEventListener("keydown",t.keydownHandler,{capture:t.keydownListenerCapture}),t.keydownHandlerAdded=!0)}function ye(t,e,n){var o=H(),i=0;if(i<o.length)return(e+=n)===o.length?e=0:-1===e&&(e=o.length-1),o[e].focus();W().focus()}function we(t,e,n){wt.innerParams.get(t).toast?Ne(t,e,n):(_e(e),Fe(e),ze(t,e,n))}var Ce=function(t,e){gt&&et(e)?(t.style.overflowY="hidden",e.addEventListener(gt,fe)):t.style.overflowY="auto"},ke=function(t,e){!function(){if((/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream||"MacIntel"===navigator.platform&&1<navigator.maxTouchPoints)&&!j(document.body,_.iosfix)){var t=document.body.scrollTop;document.body.style.top="".concat(-1*t,"px"),st(document.body,_.iosfix),ee()}}(),"undefined"!=typeof window&&Gt()&&(te(),window.addEventListener("resize",te)),m(document.body.children).forEach(function(t){t===z()||function(t,e){if("function"==typeof t.contains)return t.contains(e)}(t,z())||(t.hasAttribute("aria-hidden")&&t.setAttribute("data-previous-aria-hidden",t.getAttribute("aria-hidden")),t.setAttribute("aria-hidden","true"))}),e&&Xt(),setTimeout(function(){t.scrollTop=0})},xe=function(t,e,n){st(t,n.showClass.backdrop),X(e),st(e,n.showClass.popup),st([document.documentElement,document.body],_.shown),n.heightAuto&&n.backdrop&&!n.toast&&st([document.documentElement,document.body],_["height-auto"])},Pe=function(t){return t.checked?1:0},Ae=function(t){return t.checked?t.value:null},Be=function(t){return t.files.length?null!==t.getAttribute("multiple")?t.files:t.files[0]:null},Te=function(e,n){function o(t){return Se[n.input](i,Le(t),n)}var i=k();g(n.inputOptions)?(Dt(),n.inputOptions.then(function(t){e.hideLoading(),o(t)})):"object"===r(n.inputOptions)?o(n.inputOptions):v("Unexpected type of inputOptions! Expected object, Map or Promise, got ".concat(r(n.inputOptions)))},Ee=function(e,n){var o=e.getInput();G(o),n.inputValue.then(function(t){o.value="number"===n.input?parseFloat(t)||0:"".concat(t),X(o),o.focus(),e.hideLoading()}).catch(function(t){v("Error in inputValue promise: ".concat(t)),o.value="",X(o),o.focus(),e.hideLoading()})},Se={select:function(t,e,i){var r=lt(t,_.select);e.forEach(function(t){var e=t[0],n=t[1],o=document.createElement("option");o.value=e,o.innerHTML=n,i.inputValue.toString()===e.toString()&&(o.selected=!0),r.appendChild(o)}),r.focus()},radio:function(t,e,a){var c=lt(t,_.radio);e.forEach(function(t){var e=t[0],n=t[1],o=document.createElement("input"),i=document.createElement("label");o.type="radio",o.name=_.radio,o.value=e,a.inputValue.toString()===e.toString()&&(o.checked=!0);var r=document.createElement("span");r.innerHTML=n,r.className=_.label,i.appendChild(o),i.appendChild(r),c.appendChild(i)});var n=c.querySelectorAll("input");n.length&&n[0].focus()}},Le=function(e){var n=[];return"undefined"!=typeof Map&&e instanceof Map?e.forEach(function(t,e){n.push([e,t])}):Object.keys(e).forEach(function(t){n.push([t,e[t]])}),n},Oe=function(e,n){var o=function(t,e){var n=t.getInput();if(!n)return null;switch(e.input){case"checkbox":return Pe(n);case"radio":return Ae(n);case"file":return Be(n);default:return e.inputAutoTrim?n.value.trim():n.value}}(e,n);n.inputValidator?(e.disableInput(),Promise.resolve().then(function(){return n.inputValidator(o,n.validationMessage)}).then(function(t){e.enableButtons(),e.enableInput(),t?e.showValidationMessage(t):Me(e,n,o)})):e.getInput().checkValidity()?Me(e,n,o):(e.enableButtons(),e.showValidationMessage(n.validationMessage))},Me=function(e,t,n){(t.showLoaderOnConfirm&&Dt(),t.preConfirm)?(e.resetValidationMessage(),Promise.resolve().then(function(){return t.preConfirm(n,t.validationMessage)}).then(function(t){dt(A())||!1===t?e.hideLoading():ve(e,void 0===t?n:t)})):ve(e,n)},He=["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Left","Right","Up","Down"],Ie=["Escape","Esc"],je=function(t,e,n){var o=wt.innerParams.get(t);o.stopKeydownPropagation&&e.stopPropagation(),"Enter"===e.key?qe(t,e,o):"Tab"===e.key?Ve(e,o):-1!==He.indexOf(e.key)?Re():-1!==Ie.indexOf(e.key)&&De(e,o,n)},qe=function(t,e,n){if(!e.isComposing&&e.target&&t.getInput()&&e.target.outerHTML===t.getInput().outerHTML){if(-1!==["textarea","file"].indexOf(n.input))return;Mt(),e.preventDefault()}},Ve=function(t){for(var e=t.target,n=H(),o=-1,i=0;i<n.length;i++)if(e===n[i]){o=i;break}t.shiftKey?ye(0,o,-1):ye(0,o,1),t.stopPropagation(),t.preventDefault()},Re=function(){var t=B(),e=T();document.activeElement===t&&dt(e)?e.focus():document.activeElement===e&&dt(t)&&t.focus()},De=function(t,e,n){N(e.allowEscapeKey)&&(t.preventDefault(),n(U.esc))},Ne=function(e,t,n){t.popup.onclick=function(){var t=wt.innerParams.get(e);t.showConfirmButton||t.showCancelButton||t.showCloseButton||t.input||n(U.close)}},Ue=!1,_e=function(e){e.popup.onmousedown=function(){e.container.onmouseup=function(t){e.container.onmouseup=void 0,t.target===e.container&&(Ue=!0)}}},Fe=function(e){e.container.onmousedown=function(){e.popup.onmouseup=function(t){e.popup.onmouseup=void 0,t.target!==e.popup&&!e.popup.contains(t.target)||(Ue=!0)}}},ze=function(n,o,i){o.container.onclick=function(t){var e=wt.innerParams.get(n);Ue?Ue=!1:t.target===o.container&&N(e.allowOutsideClick)&&i(U.backdrop)}};var We=function(t,e,n){var o=O();G(o),e.timer&&(t.timeout=new ue(function(){n("timer"),delete t.timeout},e.timer),e.timerProgressBar&&(X(o),setTimeout(function(){t.timeout.running&&nt(e.timer)})))},Ke=function(t,e){if(!e.toast)return N(e.allowEnterKey)?e.focusCancel&&dt(t.cancelButton)?t.cancelButton.focus():e.focusConfirm&&dt(t.confirmButton)?t.confirmButton.focus():void ye(0,-1,1):Ye()},Ye=function(){document.activeElement&&"function"==typeof document.activeElement.blur&&document.activeElement.blur()};var Ze,Qe=function(t){for(var e in t)t[e]=new WeakMap},$e=Object.freeze({hideLoading:Jt,disableLoading:Jt,getInput:function(t){var e=wt.innerParams.get(t||this),n=wt.domCache.get(t||this);return n?Z(n.content,e.input):null},close:ie,closePopup:ie,closeModal:ie,closeToast:ie,enableButtons:function(){ce(this,["confirmButton","cancelButton"],!1)},disableButtons:function(){ce(this,["confirmButton","cancelButton"],!0)},enableInput:function(){return se(this.getInput(),!1)},disableInput:function(){return se(this.getInput(),!0)},showValidationMessage:function(t){var e=wt.domCache.get(this);e.validationMessage.innerHTML=t;var n=window.getComputedStyle(e.popup);e.validationMessage.style.marginLeft="-".concat(n.getPropertyValue("padding-left")),e.validationMessage.style.marginRight="-".concat(n.getPropertyValue("padding-right")),X(e.validationMessage);var o=this.getInput();o&&(o.setAttribute("aria-invalid",!0),o.setAttribute("aria-describedBy",_["validation-message"]),Q(o),st(o,_.inputerror))},resetValidationMessage:function(){var t=wt.domCache.get(this);t.validationMessage&&G(t.validationMessage);var e=this.getInput();e&&(e.removeAttribute("aria-invalid"),e.removeAttribute("aria-describedBy"),ut(e,_.inputerror))},getProgressSteps:function(){return wt.domCache.get(this).progressSteps},_main:function(t){!function(t){for(var e in t)Ft(i=e)||R('Unknown parameter "'.concat(i,'"')),t.toast&&(o=e,-1!==Qt.indexOf(o)&&R('The parameter "'.concat(o,'" is incompatible with toasts'))),zt(n=e)&&h(n,zt(n));var n,o,i}(t),Wt.currentInstance&&Wt.currentInstance._destroy(),Wt.currentInstance=this;var e=function(t){var e=c({},Kt.showClass,t.showClass),n=c({},Kt.hideClass,t.hideClass),o=c({},Kt,t);if(o.showClass=e,o.hideClass=n,t.animation===false){o.showClass={popup:"",backdrop:"swal2-backdrop-show swal2-noanimation"};o.hideClass={}}return o}(t);de(e),Object.freeze(e),Wt.timeout&&(Wt.timeout.stop(),delete Wt.timeout),clearTimeout(Wt.restoreFocusTimeout);var n=function(t){var e={popup:W(),container:z(),content:k(),actions:E(),confirmButton:B(),cancelButton:T(),closeButton:M(),validationMessage:A(),progressSteps:P()};return wt.domCache.set(t,e),e}(this);return Ot(this,e),wt.innerParams.set(this,e),function(n,o,i){return new Promise(function(t){var e=function t(e){n.closePopup({dismiss:e})};ne.swalPromiseResolve.set(n,t);We(Wt,i,e);o.confirmButton.onclick=function(){return he(n,i)};o.cancelButton.onclick=function(){return ge(n,e)};o.closeButton.onclick=function(){return e(U.close)};we(n,o,e);be(n,Wt,i,e);if(i.toast&&(i.input||i.footer||i.showCloseButton)){st(document.body,_["toast-column"])}else{ut(document.body,_["toast-column"])}me(n,i);pe(i);Ke(o,i);o.container.scrollTop=0})}(this,n,e)},update:function(e){var t=W(),n=wt.innerParams.get(this);if(!t||j(t,n.hideClass.popup))return R("You're trying to update the closed or closing popup, that won't work. Use the update() method in preConfirm parameter or show a new popup.");var o={};Object.keys(e).forEach(function(t){Xe.isUpdatableParameter(t)?o[t]=e[t]:R('Invalid parameter to update: "'.concat(t,'". Updatable params are listed here: https://github.com/sweetalert2/sweetalert2/blob/master/src/utils/params.js'))});var i=c({},n,o);Ot(this,i),wt.innerParams.set(this,i),Object.defineProperties(this,{params:{value:c({},this.params,e),writable:!1,enumerable:!0}})},_destroy:function(){var t=wt.domCache.get(this),e=wt.innerParams.get(this);e&&(t.popup&&Wt.swalCloseEventFinishedCallback&&(Wt.swalCloseEventFinishedCallback(),delete Wt.swalCloseEventFinishedCallback),Wt.deferDisposalTimer&&(clearTimeout(Wt.deferDisposalTimer),delete Wt.deferDisposalTimer),"function"==typeof e.onDestroy&&e.onDestroy(),delete this.params,delete Wt.keydownHandler,delete Wt.keydownTarget,Qe(wt),Qe(ne))}});function Je(){if("undefined"!=typeof window){"undefined"==typeof Promise&&v("This package requires a Promise library, please include a shim to enable it in this browser (See: https://github.com/sweetalert2/sweetalert2/wiki/Migration-from-SweetAlert-to-SweetAlert2#1-ie-support)"),Ze=this;for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];var o=Object.freeze(this.constructor.argsToParams(e));Object.defineProperties(this,{params:{value:o,writable:!1,enumerable:!0,configurable:!0}});var i=this._main(this.params);wt.promise.set(this,i)}}Je.prototype.then=function(t){return wt.promise.get(this).then(t)},Je.prototype.finally=function(t){return wt.promise.get(this).finally(t)},c(Je.prototype,$e),c(Je,$t),Object.keys($e).forEach(function(t){Je[t]=function(){if(Ze)return Ze[t].apply(Ze,arguments)}}),Je.DismissReason=U,Je.version="9.10.0";var Xe=Je;return Xe.default=Xe}),void 0!==this&&this.csmm_Sweetalert2&&(this.csmm_swal=this.csmm_sweetAlert=this.csmm_Swal=this.csmm_SweetAlert=this.csmm_Sweetalert2);
44
 
45
  /**
46
+ * Copyright (c) Ariel Flesler - aflesler ○ gmail • com | https://github.com/flesler
47
  * Licensed under MIT
 
 
48
  */
49
  ;(function(f){"use strict";"function"===typeof define&&define.amd?define(["jquery"],f):"undefined"!==typeof module&&module.exports?module.exports=f(require("jquery")):f(jQuery)})(function($){"use strict";function n(a){return!a.nodeName||-1!==$.inArray(a.nodeName.toLowerCase(),["iframe","#document","html","body"])}function h(a){return $.isFunction(a)||$.isPlainObject(a)?a:{top:a,left:a}}var p=$.scrollTo=function(a,d,b){return $(window).scrollTo(a,d,b)};p.defaults={axis:"xy",duration:0,limit:!0};$.fn.scrollTo=function(a,d,b){"object"=== typeof d&&(b=d,d=0);"function"===typeof b&&(b={onAfter:b});"max"===a&&(a=9E9);b=$.extend({},p.defaults,b);d=d||b.duration;var u=b.queue&&1<b.axis.length;u&&(d/=2);b.offset=h(b.offset);b.over=h(b.over);return this.each(function(){function k(a){var k=$.extend({},b,{queue:!0,duration:d,complete:a&&function(){a.call(q,e,b)}});r.animate(f,k)}if(null!==a){var l=n(this),q=l?this.contentWindow||window:this,r=$(q),e=a,f={},t;switch(typeof e){case "number":case "string":if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(e)){e= h(e);break}e=l?$(e):$(e,q);case "object":if(e.length===0)return;if(e.is||e.style)t=(e=$(e)).offset()}var v=$.isFunction(b.offset)&&b.offset(q,e)||b.offset;$.each(b.axis.split(""),function(a,c){var d="x"===c?"Left":"Top",m=d.toLowerCase(),g="scroll"+d,h=r[g](),n=p.max(q,c);t?(f[g]=t[m]+(l?0:h-r.offset()[m]),b.margin&&(f[g]-=parseInt(e.css("margin"+d),10)||0,f[g]-=parseInt(e.css("border"+d+"Width"),10)||0),f[g]+=v[m]||0,b.over[m]&&(f[g]+=e["x"===c?"width":"height"]()*b.over[m])):(d=e[m],f[g]=d.slice&& "%"===d.slice(-1)?parseFloat(d)/100*n:d);b.limit&&/^\d+$/.test(f[g])&&(f[g]=0>=f[g]?0:Math.min(f[g],n));!a&&1<b.axis.length&&(h===f[g]?f={}:u&&(k(b.onAfterFirst),f={}))});k(b.onAfter)}})};p.max=function(a,d){var b="x"===d?"Width":"Height",h="scroll"+b;if(!n(a))return a[h]-$(a)[b.toLowerCase()]();var b="client"+b,k=a.ownerDocument||a.document,l=k.documentElement,k=k.body;return Math.max(l[h],k[h])-Math.min(l[b],k[b])};$.Tween.propHooks.scrollLeft=$.Tween.propHooks.scrollTop={get:function(a){return $(a.elem)[a.prop]()}, set:function(a){var d=this.get(a);if(a.options.interrupt&&a._last&&a._last!==d)return $(a.elem).stop();var b=Math.round(a.now);d!==b&&($(a.elem)[a.prop](b),a._last=this.get(a))}};return p});
50
 
framework/admin/js/webfont.js ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ *
3
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
4
+ * use this file except in compliance with the License. You may obtain a copy of
5
+ * the License at
6
+ *
7
+ * http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software
10
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12
+ * License for the specific language governing permissions and limitations under
13
+ * the License.
14
+ */
15
+ ;(function(window,document,undefined){
16
+ var j=void 0,k=!0,l=null,p=!1;function q(a){return function(){return this[a]}}var aa=this;function ba(a,b){var c=a.split("."),d=aa;!(c[0]in d)&&d.execScript&&d.execScript("var "+c[0]);for(var e;c.length&&(e=c.shift());)!c.length&&b!==j?d[e]=b:d=d[e]?d[e]:d[e]={}}aa.Ba=k;function ca(a,b,c){return a.call.apply(a.bind,arguments)}
17
+ function da(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}}function s(a,b,c){s=Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?ca:da;return s.apply(l,arguments)}var ea=Date.now||function(){return+new Date};function fa(a,b){this.G=a;this.u=b||a;this.z=this.u.document;this.R=j}fa.prototype.createElement=function(a,b,c){a=this.z.createElement(a);if(b)for(var d in b)if(b.hasOwnProperty(d))if("style"==d){var e=a,f=b[d];ga(this)?e.setAttribute("style",f):e.style.cssText=f}else a.setAttribute(d,b[d]);c&&a.appendChild(this.z.createTextNode(c));return a};function t(a,b,c){a=a.z.getElementsByTagName(b)[0];a||(a=document.documentElement);a&&a.lastChild&&a.insertBefore(c,a.lastChild)}
18
+ function u(a,b){return a.createElement("link",{rel:"stylesheet",href:b})}function ha(a,b){return a.createElement("script",{src:b})}function v(a,b){for(var c=a.className.split(/\s+/),d=0,e=c.length;d<e;d++)if(c[d]==b)return;c.push(b);a.className=c.join(" ").replace(/\s+/g," ").replace(/^\s+|\s+$/,"")}function w(a,b){for(var c=a.className.split(/\s+/),d=[],e=0,f=c.length;e<f;e++)c[e]!=b&&d.push(c[e]);a.className=d.join(" ").replace(/\s+/g," ").replace(/^\s+|\s+$/,"")}
19
+ function ia(a,b){for(var c=a.className.split(/\s+/),d=0,e=c.length;d<e;d++)if(c[d]==b)return k;return p}function ga(a){if(a.R===j){var b=a.z.createElement("p");b.innerHTML='<a style="top:1px;">w</a>';a.R=/top/.test(b.getElementsByTagName("a")[0].getAttribute("style"))}return a.R}function x(a){var b=a.u.location.protocol;"about:"==b&&(b=a.G.location.protocol);return"https:"==b?"https:":"http:"};function y(a,b,c){this.w=a;this.T=b;this.Aa=c}ba("webfont.BrowserInfo",y);y.prototype.qa=q("w");y.prototype.hasWebFontSupport=y.prototype.qa;y.prototype.ra=q("T");y.prototype.hasWebKitFallbackBug=y.prototype.ra;y.prototype.sa=q("Aa");y.prototype.hasWebKitMetricsBug=y.prototype.sa;function z(a,b,c,d){this.e=a!=l?a:l;this.o=b!=l?b:l;this.ba=c!=l?c:l;this.f=d!=l?d:l}var ja=/^([0-9]+)(?:[\._-]([0-9]+))?(?:[\._-]([0-9]+))?(?:[\._+-]?(.*))?$/;z.prototype.toString=function(){return[this.e,this.o||"",this.ba||"",this.f||""].join("")};
20
+ function A(a){a=ja.exec(a);var b=l,c=l,d=l,e=l;a&&(a[1]!==l&&a[1]&&(b=parseInt(a[1],10)),a[2]!==l&&a[2]&&(c=parseInt(a[2],10)),a[3]!==l&&a[3]&&(d=parseInt(a[3],10)),a[4]!==l&&a[4]&&(e=/^[0-9]+$/.test(a[4])?parseInt(a[4],10):a[4]));return new z(b,c,d,e)};function B(a,b,c,d,e,f,g,h,n,m,r){this.J=a;this.Ha=b;this.za=c;this.ga=d;this.Fa=e;this.fa=f;this.xa=g;this.Ga=h;this.wa=n;this.ea=m;this.k=r}ba("webfont.UserAgent",B);B.prototype.getName=q("J");B.prototype.getName=B.prototype.getName;B.prototype.pa=q("za");B.prototype.getVersion=B.prototype.pa;B.prototype.la=q("ga");B.prototype.getEngine=B.prototype.la;B.prototype.ma=q("fa");B.prototype.getEngineVersion=B.prototype.ma;B.prototype.na=q("xa");B.prototype.getPlatform=B.prototype.na;B.prototype.oa=q("wa");
21
+ B.prototype.getPlatformVersion=B.prototype.oa;B.prototype.ka=q("ea");B.prototype.getDocumentMode=B.prototype.ka;B.prototype.ja=q("k");B.prototype.getBrowserInfo=B.prototype.ja;function C(a,b){this.a=a;this.H=b}var ka=new B("Unknown",new z,"Unknown","Unknown",new z,"Unknown","Unknown",new z,"Unknown",j,new y(p,p,p));
22
+ C.prototype.parse=function(){var a;if(-1!=this.a.indexOf("MSIE")){a=D(this);var b=E(this),c=A(b),d=F(this.a,/MSIE ([\d\w\.]+)/,1),e=A(d);a=new B("MSIE",e,d,"MSIE",e,d,a,c,b,G(this.H),new y("Windows"==a&&6<=e.e||"Windows Phone"==a&&8<=c.e,p,p))}else if(-1!=this.a.indexOf("Opera"))a:{a="Unknown";var b=F(this.a,/Presto\/([\d\w\.]+)/,1),c=A(b),d=E(this),e=A(d),f=G(this.H);c.e!==l?a="Presto":(-1!=this.a.indexOf("Gecko")&&(a="Gecko"),b=F(this.a,/rv:([^\)]+)/,1),c=A(b));if(-1!=this.a.indexOf("Opera Mini/")){var g=
23
+ F(this.a,/Opera Mini\/([\d\.]+)/,1),h=A(g);a=new B("OperaMini",h,g,a,c,b,D(this),e,d,f,new y(p,p,p))}else{if(-1!=this.a.indexOf("Version/")&&(g=F(this.a,/Version\/([\d\.]+)/,1),h=A(g),h.e!==l)){a=new B("Opera",h,g,a,c,b,D(this),e,d,f,new y(10<=h.e,p,p));break a}g=F(this.a,/Opera[\/ ]([\d\.]+)/,1);h=A(g);a=h.e!==l?new B("Opera",h,g,a,c,b,D(this),e,d,f,new y(10<=h.e,p,p)):new B("Opera",new z,"Unknown",a,c,b,D(this),e,d,f,new y(p,p,p))}}else if(/AppleWeb(K|k)it/.test(this.a)){a=D(this);var b=E(this),
24
+ c=A(b),d=F(this.a,/AppleWeb(?:K|k)it\/([\d\.\+]+)/,1),e=A(d),f="Unknown",g=new z,h="Unknown",n=p;-1!=this.a.indexOf("Chrome")||-1!=this.a.indexOf("CrMo")||-1!=this.a.indexOf("CriOS")?f="Chrome":/Silk\/\d/.test(this.a)?f="Silk":"BlackBerry"==a||"Android"==a?f="BuiltinBrowser":-1!=this.a.indexOf("Safari")?f="Safari":-1!=this.a.indexOf("AdobeAIR")&&(f="AdobeAIR");"BuiltinBrowser"==f?h="Unknown":"Silk"==f?h=F(this.a,/Silk\/([\d\._]+)/,1):"Chrome"==f?h=F(this.a,/(Chrome|CrMo|CriOS)\/([\d\.]+)/,2):-1!=
25
+ this.a.indexOf("Version/")?h=F(this.a,/Version\/([\d\.\w]+)/,1):"AdobeAIR"==f&&(h=F(this.a,/AdobeAIR\/([\d\.]+)/,1));g=A(h);n="AdobeAIR"==f?2<g.e||2==g.e&&5<=g.o:"BlackBerry"==a?10<=c.e:"Android"==a?2<c.e||2==c.e&&1<c.o:526<=e.e||525<=e.e&&13<=e.o;a=new B(f,g,h,"AppleWebKit",e,d,a,c,b,G(this.H),new y(n,536>e.e||536==e.e&&11>e.o,"iPhone"==a||"iPad"==a||"iPod"==a||"Macintosh"==a))}else-1!=this.a.indexOf("Gecko")?(a="Unknown",b=new z,c="Unknown",d=E(this),e=A(d),f=p,-1!=this.a.indexOf("Firefox")?(a=
26
+ "Firefox",c=F(this.a,/Firefox\/([\d\w\.]+)/,1),b=A(c),f=3<=b.e&&5<=b.o):-1!=this.a.indexOf("Mozilla")&&(a="Mozilla"),g=F(this.a,/rv:([^\)]+)/,1),h=A(g),f||(f=1<h.e||1==h.e&&9<h.o||1==h.e&&9==h.o&&2<=h.ba||g.match(/1\.9\.1b[123]/)!=l||g.match(/1\.9\.1\.[\d\.]+/)!=l),a=new B(a,b,c,"Gecko",h,g,D(this),e,d,G(this.H),new y(f,p,p))):a=ka;return a};
27
+ function D(a){var b=F(a.a,/(iPod|iPad|iPhone|Android|Windows Phone|BB\d{2}|BlackBerry)/,1);if(""!=b)return/BB\d{2}/.test(b)&&(b="BlackBerry"),b;a=F(a.a,/(Linux|Mac_PowerPC|Macintosh|Windows|CrOS)/,1);return""!=a?("Mac_PowerPC"==a&&(a="Macintosh"),a):"Unknown"}
28
+ function E(a){var b=F(a.a,/(OS X|Windows NT|Android) ([^;)]+)/,2);if(b||(b=F(a.a,/Windows Phone( OS)? ([^;)]+)/,2))||(b=F(a.a,/(iPhone )?OS ([\d_]+)/,2)))return b;if(b=F(a.a,/(?:Linux|CrOS) ([^;)]+)/,1))for(var b=b.split(/\s/),c=0;c<b.length;c+=1)if(/^[\d\._]+$/.test(b[c]))return b[c];return(a=F(a.a,/(BB\d{2}|BlackBerry).*?Version\/([^\s]*)/,2))?a:"Unknown"}function F(a,b,c){return(a=a.match(b))&&a[c]?a[c]:""}function G(a){if(a.documentMode)return a.documentMode};function la(a){this.va=a||"-"}la.prototype.f=function(a){for(var b=[],c=0;c<arguments.length;c++)b.push(arguments[c].replace(/[\W_]+/g,"").toLowerCase());return b.join(this.va)};function H(a,b){this.J=a;this.U=4;this.K="n";var c=(b||"n4").match(/^([nio])([1-9])$/i);c&&(this.K=c[1],this.U=parseInt(c[2],10))}H.prototype.getName=q("J");function I(a){return a.K+a.U}function ma(a){var b=4,c="n",d=l;a&&((d=a.match(/(normal|oblique|italic)/i))&&d[1]&&(c=d[1].substr(0,1).toLowerCase()),(d=a.match(/([1-9]00|normal|bold)/i))&&d[1]&&(/bold/i.test(d[1])?b=7:/[1-9]00/.test(d[1])&&(b=parseInt(d[1].substr(0,1),10))));return c+b};function na(a,b,c){this.c=a;this.h=b;this.M=c;this.j="wf";this.g=new la("-")}function pa(a){v(a.h,a.g.f(a.j,"loading"));J(a,"loading")}function K(a){w(a.h,a.g.f(a.j,"loading"));ia(a.h,a.g.f(a.j,"active"))||v(a.h,a.g.f(a.j,"inactive"));J(a,"inactive")}function J(a,b,c){if(a.M[b])if(c)a.M[b](c.getName(),I(c));else a.M[b]()};function L(a,b){this.c=a;this.C=b;this.s=this.c.createElement("span",{"aria-hidden":"true"},this.C)}
29
+ function M(a,b){var c=a.s,d;d=[];for(var e=b.J.split(/,\s*/),f=0;f<e.length;f++){var g=e[f].replace(/['"]/g,"");-1==g.indexOf(" ")?d.push(g):d.push("'"+g+"'")}d=d.join(",");e="normal";f=b.U+"00";"o"===b.K?e="oblique":"i"===b.K&&(e="italic");d="position:absolute;top:-999px;left:-999px;font-size:300px;width:auto;height:auto;line-height:normal;margin:0;padding:0;font-variant:normal;white-space:nowrap;font-family:"+d+";"+("font-style:"+e+";font-weight:"+f+";");ga(a.c)?c.setAttribute("style",d):c.style.cssText=
30
+ d}function N(a){t(a.c,"body",a.s)}L.prototype.remove=function(){var a=this.s;a.parentNode&&a.parentNode.removeChild(a)};function qa(a,b,c,d,e,f,g,h){this.V=a;this.ta=b;this.c=c;this.q=d;this.C=h||"BESbswy";this.k=e;this.F={};this.S=f||5E3;this.Z=g||l;this.B=this.A=l;a=new L(this.c,this.C);N(a);for(var n in O)O.hasOwnProperty(n)&&(M(a,new H(O[n],I(this.q))),this.F[O[n]]=a.s.offsetWidth);a.remove()}var O={Ea:"serif",Da:"sans-serif",Ca:"monospace"};
31
+ qa.prototype.start=function(){this.A=new L(this.c,this.C);N(this.A);this.B=new L(this.c,this.C);N(this.B);this.ya=ea();M(this.A,new H(this.q.getName()+",serif",I(this.q)));M(this.B,new H(this.q.getName()+",sans-serif",I(this.q)));ra(this)};function sa(a,b,c){for(var d in O)if(O.hasOwnProperty(d)&&b===a.F[O[d]]&&c===a.F[O[d]])return k;return p}
32
+ function ra(a){var b=a.A.s.offsetWidth,c=a.B.s.offsetWidth;b===a.F.serif&&c===a.F["sans-serif"]||a.k.T&&sa(a,b,c)?ea()-a.ya>=a.S?a.k.T&&sa(a,b,c)&&(a.Z===l||a.Z.hasOwnProperty(a.q.getName()))?P(a,a.V):P(a,a.ta):setTimeout(s(function(){ra(this)},a),25):P(a,a.V)}function P(a,b){a.A.remove();a.B.remove();b(a.q)};function R(a,b,c,d){this.c=b;this.t=c;this.N=0;this.ca=this.Y=p;this.S=d;this.k=a.k}function ta(a,b,c,d,e){if(0===b.length&&e)K(a.t);else{a.N+=b.length;e&&(a.Y=e);for(e=0;e<b.length;e++){var f=b[e],g=c[f.getName()],h=a.t,n=f;v(h.h,h.g.f(h.j,n.getName(),I(n).toString(),"loading"));J(h,"fontloading",n);(new qa(s(a.ha,a),s(a.ia,a),a.c,f,a.k,a.S,d,g)).start()}}}
33
+ R.prototype.ha=function(a){var b=this.t;w(b.h,b.g.f(b.j,a.getName(),I(a).toString(),"loading"));w(b.h,b.g.f(b.j,a.getName(),I(a).toString(),"inactive"));v(b.h,b.g.f(b.j,a.getName(),I(a).toString(),"active"));J(b,"fontactive",a);this.ca=k;ua(this)};R.prototype.ia=function(a){var b=this.t;w(b.h,b.g.f(b.j,a.getName(),I(a).toString(),"loading"));ia(b.h,b.g.f(b.j,a.getName(),I(a).toString(),"active"))||v(b.h,b.g.f(b.j,a.getName(),I(a).toString(),"inactive"));J(b,"fontinactive",a);ua(this)};
34
+ function ua(a){0==--a.N&&a.Y&&(a.ca?(a=a.t,w(a.h,a.g.f(a.j,"loading")),w(a.h,a.g.f(a.j,"inactive")),v(a.h,a.g.f(a.j,"active")),J(a,"active")):K(a.t))};function S(a,b,c){this.G=a;this.W=b;this.a=c;this.O=this.P=0}function T(a,b){U.W.$[a]=b}S.prototype.load=function(a){var b=a.context||this.G;this.c=new fa(this.G,b);b=new na(this.c,b.document.documentElement,a);if(this.a.k.w){var c=this.W,d=this.c,e=[],f;for(f in a)if(a.hasOwnProperty(f)){var g=c.$[f];g&&e.push(g(a[f],d))}a=a.timeout;this.O=this.P=e.length;a=new R(this.a,this.c,b,a);f=0;for(c=e.length;f<c;f++)d=e[f],d.v(this.a,s(this.ua,this,d,b,a))}else K(b)};
35
+ S.prototype.ua=function(a,b,c,d){var e=this;d?a.load(function(a,d,h){var n=0==--e.P;n&&pa(b);setTimeout(function(){ta(c,a,d||{},h||l,n)},0)}):(a=0==--this.P,this.O--,a&&(0==this.O?K(b):pa(b)),ta(c,[],{},l,a))};var va=window,wa=(new C(navigator.userAgent,document)).parse(),U=va.WebFont=new S(window,new function(){this.$={}},wa);U.load=U.load;function V(a,b){this.c=a;this.d=b}V.prototype.load=function(a){var b,c,d=this.d.urls||[],e=this.d.families||[];b=0;for(c=d.length;b<c;b++)t(this.c,"head",u(this.c,d[b]));d=[];b=0;for(c=e.length;b<c;b++){var f=e[b].split(":");if(f[1])for(var g=f[1].split(","),h=0;h<g.length;h+=1)d.push(new H(f[0],g[h]));else d.push(new H(f[0]))}a(d)};V.prototype.v=function(a,b){return b(a.k.w)};T("custom",function(a,b){return new V(b,a)});function W(a,b){this.c=a;this.d=b}var xa={regular:"n4",bold:"n7",italic:"i4",bolditalic:"i7",r:"n4",b:"n7",i:"i4",bi:"i7"};W.prototype.v=function(a,b){return b(a.k.w)};W.prototype.load=function(a){t(this.c,"head",u(this.c,x(this.c)+"//webfonts.fontslive.com/css/"+this.d.key+".css"));for(var b=this.d.families,c=[],d=0,e=b.length;d<e;d++)c.push.apply(c,ya(b[d]));a(c)};
36
+ function ya(a){var b=a.split(":");a=b[0];if(b[1]){for(var c=b[1].split(","),b=[],d=0,e=c.length;d<e;d++){var f=c[d];if(f){var g=xa[f];b.push(g?g:f)}}c=[];for(d=0;d<b.length;d+=1)c.push(new H(a,b[d]));return c}return[new H(a)]}T("ascender",function(a,b){return new W(b,a)});function X(a,b,c){this.a=a;this.c=b;this.d=c;this.m=[]}
37
+ X.prototype.v=function(a,b){var c=this,d=c.d.projectId,e=c.d.version;if(d){var f=c.c.u,g=c.c.createElement("script");g.id="__MonotypeAPIScript__"+d;var h=p;g.onload=g.onreadystatechange=function(){if(!h&&(!this.readyState||"loaded"===this.readyState||"complete"===this.readyState)){h=k;if(f["__mti_fntLst"+d]){var e=f["__mti_fntLst"+d]();if(e)for(var m=0;m<e.length;m++)c.m.push(new H(e[m].fontfamily))}b(a.k.w);g.onload=g.onreadystatechange=l}};g.src=c.D(d,e);t(this.c,"head",g)}else b(k)};
38
+ X.prototype.D=function(a,b){var c=x(this.c),d=(this.d.api||"fast.fonts.com/jsapi").replace(/^.*http(s?):(\/\/)?/,"");return c+"//"+d+"/"+a+".js"+(b?"?v="+b:"")};X.prototype.load=function(a){a(this.m)};T("monotype",function(a,b){var c=(new C(navigator.userAgent,document)).parse();return new X(c,b,a)});function Y(a,b){this.c=a;this.d=b;this.m=[]}Y.prototype.D=function(a){var b=x(this.c);return(this.d.api||b+"//use.typekit.net")+"/"+a+".js"};
39
+ Y.prototype.v=function(a,b){var c=this.d.id,d=this.d,e=this.c.u,f=this;c?(e.__webfonttypekitmodule__||(e.__webfonttypekitmodule__={}),e.__webfonttypekitmodule__[c]=function(c){c(a,d,function(a,c,d){for(var e=0;e<c.length;e+=1){var g=d[c[e]];if(g)for(var Q=0;Q<g.length;Q+=1)f.m.push(new H(c[e],g[Q]));else f.m.push(new H(c[e]))}b(a)})},c=ha(this.c,this.D(c)),t(this.c,"head",c)):b(k)};Y.prototype.load=function(a){a(this.m)};T("typekit",function(a,b){return new Y(b,a)});function za(a,b,c){this.L=a?a:b+Aa;this.p=[];this.Q=[];this.da=c||""}var Aa="//fonts.bunny.net/css";za.prototype.f=function(){if(0==this.p.length)throw Error("No fonts to load !");if(-1!=this.L.indexOf("kit="))return this.L;for(var a=this.p.length,b=[],c=0;c<a;c++)b.push(this.p[c].replace(/ /g,"+"));a=this.L+"?family="+b.join("%7C");0<this.Q.length&&(a+="&subset="+this.Q.join(","));0<this.da.length&&(a+="&text="+encodeURIComponent(this.da));return a};function Ba(a){this.p=a;this.aa=[];this.I={}}
40
+ var Ca={latin:"BESbswy",cyrillic:"&#1081;&#1103;&#1046;",greek:"&#945;&#946;&#931;",khmer:"&#x1780;&#x1781;&#x1782;",Hanuman:"&#x1780;&#x1781;&#x1782;"},Da={thin:"1",extralight:"2","extra-light":"2",ultralight:"2","ultra-light":"2",light:"3",regular:"4",book:"4",medium:"5","semi-bold":"6",semibold:"6","demi-bold":"6",demibold:"6",bold:"7","extra-bold":"8",extrabold:"8","ultra-bold":"8",ultrabold:"8",black:"9",heavy:"9",l:"3",r:"4",b:"7"},Ea={i:"i",italic:"i",n:"n",normal:"n"},Fa=RegExp("^(thin|(?:(?:extra|ultra)-?)?light|regular|book|medium|(?:(?:semi|demi|extra|ultra)-?)?bold|black|heavy|l|r|b|[1-9]00)?(n|i|normal|italic)?$");
41
+ Ba.prototype.parse=function(){for(var a=this.p.length,b=0;b<a;b++){var c=this.p[b].split(":"),d=c[0].replace(/\+/g," "),e=["n4"];if(2<=c.length){var f;var g=c[1];f=[];if(g)for(var g=g.split(","),h=g.length,n=0;n<h;n++){var m;m=g[n];if(m.match(/^[\w]+$/)){m=Fa.exec(m.toLowerCase());var r=j;if(m==l)r="";else{r=j;r=m[1];if(r==l||""==r)r="4";else var oa=Da[r],r=oa?oa:isNaN(r)?"4":r.substr(0,1);r=[m[2]==l||""==m[2]?"n":Ea[m[2]],r].join("")}m=r}else m="";m&&f.push(m)}0<f.length&&(e=f);3==c.length&&(c=c[2],
42
+ f=[],c=!c?f:c.split(","),0<c.length&&(c=Ca[c[0]])&&(this.I[d]=c))}this.I[d]||(c=Ca[d])&&(this.I[d]=c);for(c=0;c<e.length;c+=1)this.aa.push(new H(d,e[c]))}};function Z(a,b,c){this.a=a;this.c=b;this.d=c}var Ga={Arimo:k,Cousine:k,Tinos:k};Z.prototype.v=function(a,b){b(a.k.w)};Z.prototype.load=function(a){var b=this.c;if("MSIE"==this.a.getName()&&this.d.blocking!=k){var c=s(this.X,this,a),d=function(){b.z.body?c():setTimeout(d,0)};d()}else this.X(a)};
43
+ Z.prototype.X=function(a){for(var b=this.c,c=new za(this.d.api,x(b),this.d.text),d=this.d.families,e=d.length,f=0;f<e;f++){var g=d[f].split(":");3==g.length&&c.Q.push(g.pop());var h="";2==g.length&&""!=g[1]&&(h=":");c.p.push(g.join(h))}d=new Ba(d);d.parse();t(b,"head",u(b,c.f()));a(d.aa,d.I,Ga)};T("bunny",function(a,b){var c=(new C(navigator.userAgent,document)).parse();return new Z(c,b,a)});function $(a,b){this.c=a;this.d=b;this.m=[]}$.prototype.D=function(a){return x(this.c)+(this.d.api||"//f.fontdeck.com/s/css/js/")+(this.c.u.location.hostname||this.c.G.location.hostname)+"/"+a+".js"};
44
+ $.prototype.v=function(a,b){var c=this.d.id,d=this.c.u,e=this;c?(d.__webfontfontdeckmodule__||(d.__webfontfontdeckmodule__={}),d.__webfontfontdeckmodule__[c]=function(a,c){for(var d=0,n=c.fonts.length;d<n;++d){var m=c.fonts[d];e.m.push(new H(m.name,ma("font-weight:"+m.weight+";font-style:"+m.style)))}b(a)},c=ha(this.c,this.D(c)),t(this.c,"head",c)):b(k)};$.prototype.load=function(a){a(this.m)};T("fontdeck",function(a,b){return new $(b,a)});window.WebFontConfig&&U.load(window.WebFontConfig);
45
+ })(this,document);
framework/admin/settings.php CHANGED
@@ -18,7 +18,7 @@ function csmm_admin_settings() {
18
 
19
 
20
 
21
- // List of Google fonts
22
  require_once 'include/fonts.php';
23
 
24
  if (!empty($_POST['save-license']) && 'save-license' == sanitize_text_field($_POST['save-license']) && isset($_POST['csmm_save_nonce']) && wp_verify_nonce($_POST['csmm_save_nonce'], 'csmm_save_settings')) {
@@ -256,7 +256,7 @@ function csmm_ajax_support() {
256
  // We are going to store the response in the $response() array
257
  $response = array(
258
  'code' => 'error',
259
- 'response' => __( 'Please fill in both the fields to create your support ticket.', 'signals' )
260
  );
261
 
262
 
18
 
19
 
20
 
21
+ // List of Bunny fonts
22
  require_once 'include/fonts.php';
23
 
24
  if (!empty($_POST['save-license']) && 'save-license' == sanitize_text_field($_POST['save-license']) && isset($_POST['csmm_save_nonce']) && wp_verify_nonce($_POST['csmm_save_nonce'], 'csmm_save_settings')) {
256
  // We are going to store the response in the $response() array
257
  $response = array(
258
  'code' => 'error',
259
+ 'response' => __( 'Please fill in both the fields to create your support ticket.', 'minimal-coming-soon-maintenance-mode' )
260
  );
261
 
262
 
framework/admin/views/header.php CHANGED
@@ -15,10 +15,10 @@ if (!defined('WPINC')) {
15
  <div class="signals-cnt-fix">
16
  <div class="signals-fix-wp38">
17
  <div class="signals-header signals-clearfix">
18
- <img src="<?php echo CSMM_URL; ?>/framework/admin/img/mm-icon-dark.png" class="signals-logo">
19
  <p>
20
- <strong><?php _e( 'Minimal Coming Soon &amp; Maintenance Mode', 'signals' ); ?></strong>
21
- <span><?php _e( 'by', 'signals' ); ?> <a href="http://www.webfactoryltd.com/" target="_blank"><?php _e( 'WebFactory Ltd', 'signals' ); ?></a></span>
22
  </p>
23
 
24
  <?php
15
  <div class="signals-cnt-fix">
16
  <div class="signals-fix-wp38">
17
  <div class="signals-header signals-clearfix">
18
+ <img src="<?php echo esc_url(CSMM_URL); ?>/framework/admin/img/mm-icon-dark.png" class="signals-logo">
19
  <p>
20
+ <strong><?php esc_attr_e( 'Minimal Coming Soon &amp; Maintenance Mode', 'minimal-coming-soon-maintenance-mode' ); ?></strong>
21
+ <span><?php esc_attr_e( 'by', 'minimal-coming-soon-maintenance-mode' ); ?> <a href="http://www.webfactoryltd.com/" target="_blank"><?php esc_attr_e( 'WebFactory Ltd', 'minimal-coming-soon-maintenance-mode' ); ?></a></span>
22
  </p>
23
 
24
  <?php
framework/admin/views/settings-advanced.php CHANGED
@@ -15,18 +15,18 @@ if (!defined('WPINC')) {
15
 
16
  <div class="signals-tile" id="advanced">
17
  <div class="signals-tile-body">
18
- <div class="signals-tile-title"><?php _e( 'ADVANCED', 'signals' ); ?></div>
19
- <p><?php _e( 'Please double-check any custom code you enter in the settings below. Any typos or mistakes will affect the appearance of the page.', 'signals' ); ?></p>
20
 
21
 
22
  <div class="signals-section-content">
23
  <div class="signals-double-group signals-clearfix">
24
  <div class="signals-form-group">
25
- <label for="signals_csmm_disable" class="signals-strong"><?php _e( 'Use Custom HTML only', 'signals' ); ?></label>
26
  <input type="checkbox" class="signals-form-ios" id="signals_csmm_disable" name="signals_csmm_disable" value="1"<?php checked( '1', $signals_csmm_options['disable_settings'] ); ?>>
27
 
28
- <p class="signals-form-help-block"><?php _e( 'If you enable this option, the plugin will ignore everything except the HTML you provide.', 'signals' ); ?></p>
29
- <p class="signals-form-help-block"><?php _e( 'Basically, you will have a blank template which you can fill with your provided HTML content. Only basic CSS gets added by the plugin which does the task of browser styling reset. You should style your HTML content either inline or by inserting styling in the custom CSS section. In short, use this option only if you know what you are doing.', 'signals' ); ?></p>
30
  </div>
31
 
32
  <div class="signals-form-group">
@@ -47,29 +47,29 @@ if (!defined('WPINC')) {
47
  </div>
48
 
49
  <div class="signals-form-group">
50
- <label for="signals_csmm_disable_adminbar" class="signals-strong"><?php _e( 'Disable Maintenance Mode Toolbar Menu', 'signals' ); ?></label>
51
  <input type="checkbox" class="signals-form-ios" id="signals_csmm_disable_adminbar" name="signals_csmm_disable_adminbar" value="1"<?php checked( '1', $signals_csmm_options['disable_adminbar'] ); ?>>
52
 
53
- <p class="signals-form-help-block"><?php _e( 'By default, a helpfull Maintenance Mode menu and status are added to the admin and front-end toolbar. If your toolbar is too crowded, disable the menu.', 'signals' ); ?></p>
54
  </div>
55
 
56
  </div>
57
 
58
  <div class="signals-form-group">
59
- <label for="signals_csmm_html" class="signals-strong"><?php _e( 'Custom HTML', 'signals' ); ?></label>
60
  <div id="signals_csmm_html_editor"></div>
61
- <textarea name="signals_csmm_html" id="signals_csmm_html" rows="8" placeholder="<?php _e( 'Custom HTML for the plugin', 'signals' ); ?>"><?php echo htmlentities(stripslashes( $signals_csmm_options['custom_html'] )); ?></textarea>
62
 
63
- <p class="signals-form-help-block"><?php echo __( 'Custom HTML for the plugin goes over here. Please note that ', 'signals' ) . '<i style="color: #f96773">' . __( '[html], [head], [title], [meta], [body], and similar tags', 'signals' ) . '</i>' . __( ' are not required. Only provide content HTML for the page.', 'signals' ); ?></p>
64
- <p class="signals-form-help-block"><?php _e( 'To insert subscription form anywhere in the HTML, simply use the placeholder <strong>{{form}}</strong> and you are done. This should only be used if you have enabled the above option to use custom HTML only.', 'signals' ); ?></p>
65
  </div>
66
 
67
  <div class="signals-form-group">
68
- <label for="signals_csmm_css" class="signals-strong"><?php _e( 'Custom CSS', 'signals' ); ?></label>
69
  <div id="signals_csmm_css_editor"></div>
70
- <textarea name="signals_csmm_css" id="signals_csmm_css" class="Signals_csmm_Block" rows="8" placeholder="<?php _e( 'Custom CSS for the plugin', 'signals' ); ?>"><?php echo htmlentities(stripslashes( $signals_csmm_options['custom_css'] )); ?></textarea>
71
 
72
- <p class="signals-form-help-block"><?php _e( 'Custom CSS for the plugin goes over here.', 'signals' ); ?></p>
73
  </div>
74
 
75
  </div>
15
 
16
  <div class="signals-tile" id="advanced">
17
  <div class="signals-tile-body">
18
+ <div class="signals-tile-title"><?php esc_attr_e( 'ADVANCED', 'minimal-coming-soon-maintenance-mode' ); ?></div>
19
+ <p><?php esc_attr_e( 'Please double-check any custom code you enter in the settings below. Any typos or mistakes will affect the appearance of the page.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
20
 
21
 
22
  <div class="signals-section-content">
23
  <div class="signals-double-group signals-clearfix">
24
  <div class="signals-form-group">
25
+ <label for="signals_csmm_disable" class="signals-strong"><?php esc_attr_e( 'Use Custom HTML only', 'minimal-coming-soon-maintenance-mode' ); ?></label>
26
  <input type="checkbox" class="signals-form-ios" id="signals_csmm_disable" name="signals_csmm_disable" value="1"<?php checked( '1', $signals_csmm_options['disable_settings'] ); ?>>
27
 
28
+ <p class="signals-form-help-block"><?php esc_attr_e( 'If you enable this option, the plugin will ignore everything except the HTML you provide.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
29
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Basically, you will have a blank template which you can fill with your provided HTML content. Only basic CSS gets added by the plugin which does the task of browser styling reset. You should style your HTML content either inline or by inserting styling in the custom CSS section. In short, use this option only if you know what you are doing.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
30
  </div>
31
 
32
  <div class="signals-form-group">
47
  </div>
48
 
49
  <div class="signals-form-group">
50
+ <label for="signals_csmm_disable_adminbar" class="signals-strong"><?php esc_attr_e( 'Disable Maintenance Mode Toolbar Menu', 'minimal-coming-soon-maintenance-mode' ); ?></label>
51
  <input type="checkbox" class="signals-form-ios" id="signals_csmm_disable_adminbar" name="signals_csmm_disable_adminbar" value="1"<?php checked( '1', $signals_csmm_options['disable_adminbar'] ); ?>>
52
 
53
+ <p class="signals-form-help-block"><?php esc_attr_e( 'By default, a helpfull Maintenance Mode menu and status are added to the admin and front-end toolbar. If your toolbar is too crowded, disable the menu.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
54
  </div>
55
 
56
  </div>
57
 
58
  <div class="signals-form-group">
59
+ <label for="signals_csmm_html" class="signals-strong"><?php esc_attr_e( 'Custom HTML', 'minimal-coming-soon-maintenance-mode' ); ?></label>
60
  <div id="signals_csmm_html_editor"></div>
61
+ <textarea name="signals_csmm_html" id="signals_csmm_html" rows="8" placeholder="<?php esc_attr_e( 'Custom HTML for the plugin', 'minimal-coming-soon-maintenance-mode' ); ?>"><?php echo esc_textarea(stripslashes( $signals_csmm_options['custom_html'] )); ?></textarea>
62
 
63
+ <p class="signals-form-help-block"><?php echo __( 'Custom HTML for the plugin goes over here. Please note that ', 'minimal-coming-soon-maintenance-mode' ) . '<i style="color: #f96773">' . __( '[html], [head], [title], [meta], [body], and similar tags', 'minimal-coming-soon-maintenance-mode' ) . '</i>' . __( ' are not required. Only provide content HTML for the page.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
64
+ <p class="signals-form-help-block"><?php esc_attr_e( 'To insert subscription form anywhere in the HTML, simply use the placeholder <strong>{{form}}</strong> and you are done. This should only be used if you have enabled the above option to use custom HTML only.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
65
  </div>
66
 
67
  <div class="signals-form-group">
68
+ <label for="signals_csmm_css" class="signals-strong"><?php esc_attr_e( 'Custom CSS', 'minimal-coming-soon-maintenance-mode' ); ?></label>
69
  <div id="signals_csmm_css_editor"></div>
70
+ <textarea name="signals_csmm_css" id="signals_csmm_css" class="Signals_csmm_Block" rows="8" placeholder="<?php esc_attr_e( 'Custom CSS for the plugin', 'minimal-coming-soon-maintenance-mode' ); ?>"><?php echo esc_textarea(stripslashes( $signals_csmm_options['custom_css'] )); ?></textarea>
71
 
72
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Custom CSS for the plugin goes over here.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
73
  </div>
74
 
75
  </div>
framework/admin/views/settings-basic.php CHANGED
@@ -15,87 +15,87 @@ if (!defined('WPINC')) {
15
 
16
  <div class="signals-tile" id="basic">
17
  <div class="signals-tile-body">
18
- <div class="signals-tile-title"><?php _e( 'BASIC', 'signals' ); ?></div>
19
- <p><?php _e( 'Make sure you configure these options carefully as they are important for the proper functioning of the plugin.', 'signals' ); ?></p>
20
 
21
  <div class="signals-section-content">
22
  <div class="signals-double-group signals-clearfix">
23
  <div id="main-status" class="signals-form-group">
24
- <label for="signals_csmm_status" class="signals-strong"><?php _e( 'Enable Maintenance Mode?', 'signals' ); ?></label>
25
  <input type="checkbox" class="signals-form-ios" name="signals_csmm_status" id="signals_csmm_status" value="1"<?php checked( '1', $signals_csmm_options['status'] ); ?>>
26
 
27
- <p class="signals-form-help-block"><?php _e( 'Set the plugin status. Do you want to enable <strong>Maintenance Mode</strong> for your website?', 'signals' ); ?></p>
28
  </div>
29
 
30
  <div id="love-status" class="signals-form-group">
31
- <label for="signals_csmm_love" class="signals-strong"><?php _e( 'Show Some Love', 'signals' ); ?></label>
32
  <input type="checkbox" class="signals-form-ios" name="signals_csmm_love" id="signals_csmm_love" value="1"<?php checked( '1', $signals_csmm_options['love'] ); ?>>
33
 
34
- <p class="signals-form-help-block"><?php _e( 'Please help others learn about this free plugin by placing a small link in the footer. Thank you very much!', 'signals' ); ?></p>
35
  </div>
36
  </div>
37
 
38
  <div class="signals-double-group signals-clearfix">
39
  <div class="signals-form-group">
40
- <label for="signals_csmm_showlogged" class="signals-strong"><?php _e( 'Show Normal Website to Logged in Users?', 'signals' ); ?></label>
41
  <input id="signals_csmm_showlogged" type="checkbox" class="signals-form-ios" name="signals_csmm_showlogged" value="1"<?php checked( '1', $signals_csmm_options['show_logged_in'] ); ?>>
42
 
43
- <p class="signals-form-help-block"><?php _e( 'Enable this option if you want logged in users to view the website normally while visitors see the maintenance page.', 'signals' ); ?></p>
44
  </div>
45
 
46
  <div class="signals-form-group">
47
  <label for="signals_ip_whitelist" class="signals-strong pro-option">IP Whitelisting <sup>PRO</sup></label>
48
 
49
- <textarea rows="2" class="skip-save pro-option" disabled="disabled" name="signals_ip_whitelist" id="signals_ip_whitelist" ><?php echo esc_attr_e( $signals_csmm_options['signals_ip_whitelist'] ); ?></textarea>
50
- <p class="signals-form-help-block">Listed IPs will not be affected by the coming soon mode and their users will see the "normal" site. Write one IP per line. If the user's IP changes he will no longer be whitelisted. Your IP address is: <?php echo $_SERVER['REMOTE_ADDR']; ?> This is a <a href="#pro" class="csmm-change-tab">PRO feature</a>.</p>
51
  </div>
52
  </div>
53
 
54
  <div class="signals-double-group signals-clearfix">
55
  <div class="signals-form-group">
56
- <label for="signals_csmm_header" class="signals-strong"><?php _e( 'Header Text', 'signals' ); ?></label>
57
- <textarea name="signals_csmm_header" id="signals_csmm_header" rows="3" placeholder="<?php esc_attr_e( 'Header text for the maintenance page', 'signals' ); ?>"><?php echo esc_textarea( stripslashes( $signals_csmm_options['header_text'] ) ); ?></textarea>
58
 
59
- <p class="signals-form-help-block"><?php _e( 'Provide header text for the maintenance page. It is not recommended to leave this blank.', 'signals' ); ?></p>
60
  </div>
61
 
62
  <div class="signals-form-group">
63
- <label for="signals_csmm_secondary" class="signals-strong"><?php _e( 'Content', 'signals' ); ?></label>
64
- <textarea name="signals_csmm_secondary" id="signals_csmm_secondary" rows="3" placeholder="<?php esc_attr_e( 'Secondary text for the maintenance page', 'signals' ); ?>"><?php echo esc_textarea( stripslashes( $signals_csmm_options['secondary_text'] ) ); ?></textarea>
65
 
66
- <p class="signals-form-help-block"><?php _e( 'Main content. Allowed tags: &lt;P&gt;, &lt;A&gt;, &lt;B&gt;, &lt;I&gt;, &lt;BR&gt;. If you need more complex content and an WYSIWYG editor - check out the <a class="csmm-change-tab" href="#pro">PRO version</a>.', 'signals' ); ?></p>
67
  </div>
68
  </div>
69
 
70
  <div class="signals-double-group signals-clearfix">
71
  <div class="signals-form-group">
72
- <label for="signals_csmm_antispam" class="signals-strong"><?php _e( 'Anti Spam Text', 'signals' ); ?></label>
73
- <input type="text" name="signals_csmm_antispam" id="signals_csmm_antispam" value="<?php echo esc_attr_e( stripslashes( $signals_csmm_options['antispam_text'] ) ); ?>" placeholder="<?php esc_attr_e( 'Please provide a Anti-spam Text', 'signals' ); ?>" class="signals-form-control">
74
 
75
- <p class="signals-form-help-block"><?php _e( 'Provide anti-spam text for the maintenance page.', 'signals' ); ?></p>
76
  </div>
77
 
78
  <div class="signals-form-group">
79
- <label for="signals_csmm_custom_login" class="signals-strong"><?php _e( 'Custom login URL', 'signals' ); ?></label>
80
- <input type="text" name="signals_csmm_custom_login" id="signals_csmm_custom_login" value="<?php echo esc_attr_e( $signals_csmm_options['custom_login_url'] ); ?>" placeholder="<?php esc_attr_e( 'Custom login URL', 'signals' ); ?>" class="signals-form-control">
81
 
82
- <p class="signals-form-help-block"><?php _e( 'In case you\'re using a plugin that customizes the default WP login URL, enter that URL above.', 'signals' ); ?></p>
83
  </div>
84
 
85
  </div>
86
 
87
  <div class="signals-double-group signals-clearfix">
88
  <div class="signals-form-group">
89
- <label for="signals_csmm_showloginbutton" class="signals-strong"><?php _e( 'Show Login Button', 'signals' ); ?></label>
90
  <input id="signals_csmm_showloginbutton" type="checkbox" class="signals-form-ios" name="signals_csmm_showloginbutton" value="1"<?php checked( '1', $signals_csmm_options['show_login_button'] ); ?>>
91
 
92
- <p class="signals-form-help-block"><?php _e( 'Show a discrete link to the login form, or WP admin if you\'re logged in, in the lower right corner of the page.', 'signals' ); ?></p>
93
  </div>
94
  </div>
95
 
96
  <div class="signals-form-group signals-clearfix">
97
- <label class="signals-strong"><?php _e( 'Arrange Elements', 'signals' ); ?></label>
98
- <p class="signals-form-help-block"><?php _e( 'Select the order in which you would like to display the sections on the maintenance page. To change the order, simply drag the items and arrange as per your preference.', 'signals' ); ?></p>
99
  <?php
100
  $modules = array();
101
  $modules['logo'] = array('name' => 'Logo', 'link' => 'design');
@@ -126,7 +126,7 @@ if (!defined('WPINC')) {
126
  echo '<ul id="arrange-items" class="csmm-layout-builder">';
127
  // active elements
128
  foreach ($active_modules as $module ) {
129
- echo '<li data-id="' . $module . '"><img src="' . CSMM_URL . '/framework/admin/img/sections/' . $module . '.png" title="Drag to rearrange the module on coming soon page"><div class="actions-center"><span class="module-name">' . $modules[$module]['name'] . '</span><a title="Edit module" href="#' . $modules[$module]['link'] . '" class="js-action csmm-change-tab" title="Edit module"><span class="dashicons dashicons-edit"></span></a></div></li>';
130
  }
131
  echo '</ul></div>';
132
 
@@ -134,7 +134,7 @@ if (!defined('WPINC')) {
134
  echo '<ul id="arrange-items2" class="csmm-layout-builder">';
135
  // available elements
136
  foreach ($available_modules as $module ) {
137
- echo '<li data-id="' . $module . '"><img src="' . CSMM_URL . '/framework/admin/img/sections/' . $module . '.png" title="Get PRO to activate additional modules"><div class="actions-center"><span class="module-name">' . $modules[$module]['name'] . '</span></div></li>';
138
  }
139
  echo '</ul></div>';
140
  ?>
15
 
16
  <div class="signals-tile" id="basic">
17
  <div class="signals-tile-body">
18
+ <div class="signals-tile-title"><?php esc_attr_e( 'BASIC', 'minimal-coming-soon-maintenance-mode' ); ?></div>
19
+ <p><?php esc_attr_e( 'Make sure you configure these options carefully as they are important for the proper functioning of the plugin.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
20
 
21
  <div class="signals-section-content">
22
  <div class="signals-double-group signals-clearfix">
23
  <div id="main-status" class="signals-form-group">
24
+ <label for="signals_csmm_status" class="signals-strong"><?php esc_attr_e( 'Enable Maintenance Mode?', 'minimal-coming-soon-maintenance-mode' ); ?></label>
25
  <input type="checkbox" class="signals-form-ios" name="signals_csmm_status" id="signals_csmm_status" value="1"<?php checked( '1', $signals_csmm_options['status'] ); ?>>
26
 
27
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Set the plugin status. Do you want to enable <strong>Maintenance Mode</strong> for your website?', 'minimal-coming-soon-maintenance-mode' ); ?></p>
28
  </div>
29
 
30
  <div id="love-status" class="signals-form-group">
31
+ <label for="signals_csmm_love" class="signals-strong"><?php esc_attr_e( 'Show Some Love', 'minimal-coming-soon-maintenance-mode' ); ?></label>
32
  <input type="checkbox" class="signals-form-ios" name="signals_csmm_love" id="signals_csmm_love" value="1"<?php checked( '1', $signals_csmm_options['love'] ); ?>>
33
 
34
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Please help others learn about this free plugin by placing a small link in the footer. Thank you very much!', 'minimal-coming-soon-maintenance-mode' ); ?></p>
35
  </div>
36
  </div>
37
 
38
  <div class="signals-double-group signals-clearfix">
39
  <div class="signals-form-group">
40
+ <label for="signals_csmm_showlogged" class="signals-strong"><?php esc_attr_e( 'Show Normal Website to Logged in Users?', 'minimal-coming-soon-maintenance-mode' ); ?></label>
41
  <input id="signals_csmm_showlogged" type="checkbox" class="signals-form-ios" name="signals_csmm_showlogged" value="1"<?php checked( '1', $signals_csmm_options['show_logged_in'] ); ?>>
42
 
43
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Enable this option if you want logged in users to view the website normally while visitors see the maintenance page.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
44
  </div>
45
 
46
  <div class="signals-form-group">
47
  <label for="signals_ip_whitelist" class="signals-strong pro-option">IP Whitelisting <sup>PRO</sup></label>
48
 
49
+ <textarea rows="2" class="skip-save pro-option" disabled="disabled" name="signals_ip_whitelist" id="signals_ip_whitelist" ><?php esc_attr_e( $signals_csmm_options['signals_ip_whitelist'] ); ?></textarea>
50
+ <p class="signals-form-help-block">Listed IPs will not be affected by the coming soon mode and their users will see the "normal" site. Write one IP per line. If the user's IP changes he will no longer be whitelisted. Your IP address is: <?php esc_attr_e($_SERVER['REMOTE_ADDR']); ?> This is a <a href="#pro" class="csmm-change-tab">PRO feature</a>.</p>
51
  </div>
52
  </div>
53
 
54
  <div class="signals-double-group signals-clearfix">
55
  <div class="signals-form-group">
56
+ <label for="signals_csmm_header" class="signals-strong"><?php esc_attr_e( 'Header Text', 'minimal-coming-soon-maintenance-mode' ); ?></label>
57
+ <textarea name="signals_csmm_header" id="signals_csmm_header" rows="3" placeholder="<?php esc_attr_e( 'Header text for the maintenance page', 'minimal-coming-soon-maintenance-mode' ); ?>"><?php echo esc_textarea( stripslashes( $signals_csmm_options['header_text'] ) ); ?></textarea>
58
 
59
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Provide header text for the maintenance page. It is not recommended to leave this blank.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
60
  </div>
61
 
62
  <div class="signals-form-group">
63
+ <label for="signals_csmm_secondary" class="signals-strong"><?php esc_attr_e( 'Content', 'minimal-coming-soon-maintenance-mode' ); ?></label>
64
+ <textarea name="signals_csmm_secondary" id="signals_csmm_secondary" rows="3" placeholder="<?php esc_attr_e( 'Secondary text for the maintenance page', 'minimal-coming-soon-maintenance-mode' ); ?>"><?php echo esc_textarea( stripslashes( $signals_csmm_options['secondary_text'] ) ); ?></textarea>
65
 
66
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Main content. Allowed tags: &lt;P&gt;, &lt;A&gt;, &lt;B&gt;, &lt;I&gt;, &lt;BR&gt;. If you need more complex content and an WYSIWYG editor - check out the <a class="csmm-change-tab" href="#pro">PRO version</a>.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
67
  </div>
68
  </div>
69
 
70
  <div class="signals-double-group signals-clearfix">
71
  <div class="signals-form-group">
72
+ <label for="signals_csmm_antispam" class="signals-strong"><?php esc_attr_e( 'Anti Spam Text', 'minimal-coming-soon-maintenance-mode' ); ?></label>
73
+ <input type="text" name="signals_csmm_antispam" id="signals_csmm_antispam" value="<?php echo esc_attr_e( stripslashes( $signals_csmm_options['antispam_text'] ) ); ?>" placeholder="<?php esc_attr_e( 'Please provide a Anti-spam Text', 'minimal-coming-soon-maintenance-mode' ); ?>" class="signals-form-control">
74
 
75
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Provide anti-spam text for the maintenance page.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
76
  </div>
77
 
78
  <div class="signals-form-group">
79
+ <label for="signals_csmm_custom_login" class="signals-strong"><?php esc_attr_e( 'Custom login URL', 'minimal-coming-soon-maintenance-mode' ); ?></label>
80
+ <input type="text" name="signals_csmm_custom_login" id="signals_csmm_custom_login" value="<?php echo esc_attr_e( $signals_csmm_options['custom_login_url'] ); ?>" placeholder="<?php esc_attr_e( 'Custom login URL', 'minimal-coming-soon-maintenance-mode' ); ?>" class="signals-form-control">
81
 
82
+ <p class="signals-form-help-block"><?php esc_attr_e( 'In case you\'re using a plugin that customizes the default WP login URL, enter that URL above.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
83
  </div>
84
 
85
  </div>
86
 
87
  <div class="signals-double-group signals-clearfix">
88
  <div class="signals-form-group">
89
+ <label for="signals_csmm_showloginbutton" class="signals-strong"><?php esc_attr_e( 'Show Login Button', 'minimal-coming-soon-maintenance-mode' ); ?></label>
90
  <input id="signals_csmm_showloginbutton" type="checkbox" class="signals-form-ios" name="signals_csmm_showloginbutton" value="1"<?php checked( '1', $signals_csmm_options['show_login_button'] ); ?>>
91
 
92
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Show a discrete link to the login form, or WP admin if you\'re logged in, in the lower right corner of the page.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
93
  </div>
94
  </div>
95
 
96
  <div class="signals-form-group signals-clearfix">
97
+ <label class="signals-strong"><?php esc_attr_e( 'Arrange Elements', 'minimal-coming-soon-maintenance-mode' ); ?></label>
98
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Select the order in which you would like to display the sections on the maintenance page. To change the order, simply drag the items and arrange as per your preference.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
99
  <?php
100
  $modules = array();
101
  $modules['logo'] = array('name' => 'Logo', 'link' => 'design');
126
  echo '<ul id="arrange-items" class="csmm-layout-builder">';
127
  // active elements
128
  foreach ($active_modules as $module ) {
129
+ echo '<li data-id="' . esc_attr($module) . '"><img src="' . esc_url(CSMM_URL) . '/framework/admin/img/sections/' . esc_attr($module) . '.png" title="Drag to rearrange the module on coming soon page"><div class="actions-center"><span class="module-name">' . esc_attr($modules[$module]['name']) . '</span><a title="Edit module" href="#' . esc_attr($modules[$module]['link']) . '" class="js-action csmm-change-tab" title="Edit module"><span class="dashicons dashicons-edit"></span></a></div></li>';
130
  }
131
  echo '</ul></div>';
132
 
134
  echo '<ul id="arrange-items2" class="csmm-layout-builder">';
135
  // available elements
136
  foreach ($available_modules as $module ) {
137
+ echo '<li data-id="' . esc_attr($module) . '"><img src="' . esc_url(CSMM_URL) . '/framework/admin/img/sections/' . esc_attr($module) . '.png" title="Get PRO to activate additional modules"><div class="actions-center"><span class="module-name">' . esc_attr($modules[$module]['name']) . '</span></div></li>';
138
  }
139
  echo '</ul></div>';
140
  ?>
framework/admin/views/settings-design.php CHANGED
@@ -15,30 +15,30 @@ if (!defined('WPINC')) {
15
 
16
  <div class="signals-tile" id="design">
17
  <div class="signals-tile-body">
18
- <div class="signals-tile-title"><?php _e( 'DESIGN', 'signals' ); ?></div>
19
  <p>
20
- <?php _e( 'Design settings for the plugin. You have the option to modify every aspect of the maintenance page design as per your requirements.', 'signals' ); ?>
21
  </p>
22
 
23
  <div class="signals-section-content">
24
  <div class="signals-upload-group signals-clearfix">
25
  <div class="signals-form-group border-fix">
26
  <div class="signals-upload-element">
27
- <label class="signals-strong"><?php _e( 'Logo', 'signals' ); ?></label>
28
 
29
  <?php if ( ! empty( $signals_csmm_options['logo'] ) ) : // If the image url is present, show the image. Else, show the default upload text ?>
30
  <span class="signals-preview-area"><img src="<?php echo esc_attr( $signals_csmm_options['logo'] ); ?>" /></span>
31
  <?php else : ?>
32
- <span class="signals-preview-area"><?php _e( 'Select an image or upload a new one', 'signals' ); ?></span>
33
  <?php endif; ?>
34
 
35
  <input type="hidden" name="signals_csmm_logo" id="signals_csmm_logo" value="<?php esc_attr_e( $signals_csmm_options['logo'] ); ?>">
36
  <button type="button" name="signals_logo_upload" id="signals_logo_upload" class="signals-btn signals-upload"
37
- style="margin-top: 4px"><?php _e( 'Select', 'signals' ); ?></button>
38
 
39
  <span class="signals-upload-append">
40
  <?php if ( ! empty( $signals_csmm_options['logo'] ) ) : ?>
41
- &nbsp;<a href="javascript: void(0);" class="signals-remove-image"><?php _e( 'Remove', 'signals' ); ?></a>
42
  <?php endif; ?>
43
  </span>
44
  </div>
@@ -46,22 +46,22 @@ if (!defined('WPINC')) {
46
 
47
  <div class="signals-form-group border-fix">
48
  <div class="signals-upload-element">
49
- <label class="signals-strong"><?php _e( 'Favicon', 'signals' ); ?></label>
50
 
51
  <?php if ( ! empty( $signals_csmm_options['favicon'] ) ) : // If the image url is present, show the image. Else, show the default upload text ?>
52
  <span class="signals-preview-area"><img src="<?php echo esc_attr( $signals_csmm_options['favicon'] ); ?>" /></span>
53
  <?php else : ?>
54
- <span class="signals-preview-area"><?php _e( 'Select an image or upload a new one', 'signals' ); ?></span>
55
  <?php endif; ?>
56
 
57
  <input type="hidden" name="signals_csmm_favicon" id="signals_csmm_favicon"
58
  value="<?php esc_attr_e( $signals_csmm_options['favicon'] ); ?>">
59
  <button type="button" name="signals_favicon_upload" id="signals_favicon_upload" class="signals-btn signals-upload"
60
- style="margin-top: 4px"><?php _e( 'Select', 'signals' ); ?></button>
61
 
62
  <span class="signals-upload-append">
63
  <?php if ( ! empty( $signals_csmm_options['favicon'] ) ) : ?>
64
- &nbsp;<a href="javascript: void(0);" class="signals-remove-image"><?php _e( 'Remove', 'signals' ); ?></a>
65
  <?php endif; ?>
66
  </span>
67
  </div>
@@ -69,12 +69,12 @@ if (!defined('WPINC')) {
69
 
70
  <div class="signals-form-group border-fix" id="background-preview">
71
  <div class="signals-upload-element">
72
- <label class="signals-strong"><?php _e( 'Background Cover Image', 'signals' ); ?></label>
73
 
74
  <?php if ( ! empty( $signals_csmm_options['bg_cover'] ) ) : // If the image url is present, show the image. Else, show the default upload text ?>
75
  <span class="signals-preview-area"><img src="<?php echo esc_attr( $signals_csmm_options['bg_cover'] ); ?>" /></span>
76
  <?php else : ?>
77
- <span class="signals-preview-area"><?php _e( 'Select an image', 'signals' ); ?></span>
78
  <?php endif; ?>
79
 
80
  <?php
@@ -88,11 +88,11 @@ if (!defined('WPINC')) {
88
  <input type="hidden" name="signals_csmm_bg" id="signals_csmm_bg" value="<?php esc_attr_e( $signals_csmm_options['bg_cover'] ); ?>">
89
  <button type="button" name="signals_bg_upload" id="signals_bg_upload"
90
  class="signals-btn signals-upload <?php echo $bgupload?'':'signals-upload-bg'; ?>"
91
- style="margin-top: 4px"><?php _e( 'Select', 'signals' ); ?></button>
92
 
93
  <span class="signals-upload-append">
94
  <?php if ( ! empty( $signals_csmm_options['bg_cover'] ) ) : ?>
95
- &nbsp;<a href="javascript: void(0);" class="signals-remove-image"><?php _e( 'Remove', 'signals' ); ?></a>
96
  <?php endif; ?>
97
  </span>
98
  </div>
@@ -101,11 +101,11 @@ if (!defined('WPINC')) {
101
 
102
  <div class="signals-double-group signals-clearfix">
103
  <div class="signals-form-group">
104
- <label for="signals_csmm_overlay" class="signals-strong"><?php _e( 'Content Overlay', 'signals' ); ?></label>
105
  <input type="checkbox" class="signals-form-ios" name="signals_csmm_overlay" value="1"
106
  <?php checked( '1', $signals_csmm_options['content_overlay'] ); ?>>
107
  <p class="signals-form-help-block">
108
- <?php _e( 'If enabled, applies transparent background to the content section of the maintenance page.', 'signals' ); ?></p>
109
  </div>
110
 
111
  <div class="signals-form-group">
@@ -145,7 +145,7 @@ if (!defined('WPINC')) {
145
  csmm_create_select_options( $filters, '' ); ?>
146
  </select>
147
  <p class="signals-form-help-block">Filters are instantly applied on the background image above for preview. Check out <a target="_blank"
148
- href="<?php echo csmm_generate_web_link('design-filters', 'image-filters'); ?>">the previews</a>. This is a <a href="#pro"
149
  class="csmm-change-tab">PRO feature</a>.</p>
150
  </div>
151
 
@@ -153,53 +153,53 @@ if (!defined('WPINC')) {
153
 
154
  <div class="signals-double-group signals-clearfix">
155
  <div class="signals-form-group">
156
- <label for="signals_csmm_width" class="signals-strong"><?php _e( 'Content Width (in px)', 'signals' ); ?></label>
157
  <input style="width: 80px;" type="number" name="signals_csmm_width" id="signals_csmm_width"
158
  value="<?php esc_attr_e( $signals_csmm_options['content_width'] ); ?>"
159
- placeholder="<?php _e( 'Set content width for the page', 'signals' ); ?>" class="signals-form-control">
160
 
161
  <p class="signals-form-help-block">
162
- <?php _e( 'Set maximum width of the content (in pixels) for the maintenance page. Provide only numeric value. Example: Entering 400 will set the width of the content to 400px. Defaults to 440px.', 'signals' ); ?>
163
  </p>
164
  </div>
165
 
166
  <div class="signals-form-group">
167
- <label for="signals_csmm_color" class="signals-strong"><?php _e( 'Background Color', 'signals' ); ?></label>
168
  <input type="text" name="signals_csmm_color" id="signals_csmm_color" value="<?php esc_attr_e( $signals_csmm_options['bg_color'] ); ?>"
169
- placeholder="<?php _e( 'Background color for the page', 'signals' ); ?>" class="jscolor signals-form-control color {required:false}">
170
 
171
  <p class="signals-form-help-block">
172
- <?php _e( 'Select background color for the page. If the background cover image is set, this option will be ignored.', 'signals' ); ?></p>
173
  </div>
174
  </div>
175
 
176
  <div class="signals-double-group signals-clearfix">
177
  <div class="signals-form-group">
178
- <label for="signals_csmm_position" class="signals-strong"><?php _e( 'Content Position', 'signals' ); ?></label>
179
  <select name="signals_csmm_position" id="signals_csmm_position">
180
- <option value="left" <?php selected( 'left', $signals_csmm_options['content_position'] ); ?>><?php _e( 'Left', 'signals' ); ?></option>
181
- <option value="center" <?php selected( 'center', $signals_csmm_options['content_position'] ); ?>><?php _e( 'Center', 'signals' ); ?>
182
  </option>
183
- <option value="right" <?php selected( 'right', $signals_csmm_options['content_position'] ); ?>><?php _e( 'Right', 'signals' ); ?></option>
184
  </select>
185
 
186
  <p class="signals-form-help-block">
187
- <?php _e( 'For the position of the content on the maintenance page. Does not work if the width is set to maximum which is 1170px.', 'signals' ); ?>
188
  </p>
189
  </div>
190
 
191
  <div class="signals-form-group">
192
- <label for="signals_csmm_alignment" class="signals-strong"><?php _e( 'Content Alignment', 'signals' ); ?></label>
193
  <select name="signals_csmm_alignment" id="signals_csmm_alignment">
194
- <option value="left" <?php selected( 'left', $signals_csmm_options['content_alignment'] ); ?>><?php _e( 'Left', 'signals' ); ?></option>
195
- <option value="center" <?php selected( 'center', $signals_csmm_options['content_alignment'] ); ?>><?php _e( 'Center', 'signals' ); ?>
196
  </option>
197
- <option value="right" <?php selected( 'right', $signals_csmm_options['content_alignment'] ); ?>><?php _e( 'Right', 'signals' ); ?>
198
  </option>
199
  </select>
200
 
201
  <p class="signals-form-help-block">
202
- <?php _e( 'For the alignment of the text on the maintenance page. Make it left, center, or right.', 'signals' ); ?></p>
203
  </div>
204
  </div>
205
 
@@ -263,7 +263,7 @@ array('val' => '-1', 'label' => '&nbsp;rollIn'));
263
  <div class="signals-form-group">
264
  <label for="animation" class="signals-strong">Content Intro Animation<sup>PRO</sup></label>
265
  <select name="animation" id="animation" class="skip-save pro-option">
266
- <?php echo csmm_create_select_options($animations, @$signals_csmm_options['animation']); ?>
267
  </select>
268
  <p class="signals-form-help-block">When the page loads, the content will be animated on to the page with the selected animation. Use the <a
269
  href="https://comingsoonwp.com/content-animations/" target="_blank">animation previews</a> for easier picking. This is a <a href="#pro"
@@ -273,9 +273,10 @@ array('val' => '-1', 'label' => '&nbsp;rollIn'));
273
 
274
  <div class="signals-double-group signals-clearfix">
275
  <div class="signals-form-group">
276
- <label for="signals_csmm_header_font" class="signals-strong"><?php _e( 'Header Font', 'signals' ); ?></label>
277
 
278
- <select name="signals_csmm_header_font" id="signals_csmm_header_font" class="signals-google-fonts">
 
279
  <option value="Arial" <?php selected( 'Arial', $signals_csmm_options['header_font'] ); ?>>Arial</option>
280
  <option value="Helvetica" <?php selected( 'Helvetica', $signals_csmm_options['header_font'] ); ?>>Helvetica</option>
281
  <option value="Georgia" <?php selected( 'Georgia', $signals_csmm_options['header_font'] ); ?>>Georgia</option>
@@ -283,25 +284,26 @@ array('val' => '-1', 'label' => '&nbsp;rollIn'));
283
  <option value="Tahoma" <?php selected( 'Tahoma', $signals_csmm_options['header_font'] ); ?>>Tahoma</option>
284
  <option value="Verdana" <?php selected( 'Verdana', $signals_csmm_options['header_font'] ); ?>>Verdana</option>
285
  <option value="Geneva" <?php selected( 'Geneva', $signals_csmm_options['header_font'] ); ?>>Geneva</option>
286
- <option disabled>-- via google --</option>
287
  <?php
288
 
289
  // Listing fonts from the array
290
- foreach ( $signals_google_fonts as $signals_font ) {
291
- echo '<option value="' . $signals_font . '"' . selected( $signals_font, $signals_csmm_options['header_font'] ) . '>' . $signals_font . '</option>' . "\n";
292
  }
293
 
294
  ?>
295
  </select>
296
 
297
- <h3><?php _e( 'This is how the header font is going to look!', 'signals' ); ?></h3>
298
- <p class="signals-form-help-block"><?php _e( 'Font for the header text. Listing a total of 668 Google web fonts.', 'signals' ); ?></p>
299
  </div>
300
 
301
  <div class="signals-form-group">
302
- <label for="signals_csmm_secondary_font" class="signals-strong"><?php _e( 'Content Font', 'signals' ); ?></label>
303
 
304
- <select name="signals_csmm_secondary_font" id="signals_csmm_secondary_font" class="signals-google-fonts">
 
305
  <option value="Arial" <?php selected( 'Arial', $signals_csmm_options['secondary_font'] ); ?>>Arial</option>
306
  <option value="Helvetica" <?php selected( 'Helvetica', $signals_csmm_options['secondary_font'] ); ?>>Helvetica</option>
307
  <option value="Georgia" <?php selected( 'Georgia', $signals_csmm_options['secondary_font'] ); ?>>Georgia</option>
@@ -309,103 +311,103 @@ array('val' => '-1', 'label' => '&nbsp;rollIn'));
309
  <option value="Tahoma" <?php selected( 'Tahoma', $signals_csmm_options['secondary_font'] ); ?>>Tahoma</option>
310
  <option value="Verdana" <?php selected( 'Verdana', $signals_csmm_options['secondary_font'] ); ?>>Verdana</option>
311
  <option value="Geneva" <?php selected( 'Geneva', $signals_csmm_options['secondary_font'] ); ?>>Geneva</option>
312
- <option disabled>-- via google --</option>
313
  <?php
314
 
315
  // Listing fonts from the array
316
- foreach ( $signals_google_fonts as $signals_font ) {
317
- echo '<option value="' . $signals_font . '"' . selected( $signals_font, $signals_csmm_options['secondary_font'] ) . '>' . $signals_font . '</option>' . "\n";
318
  }
319
 
320
  ?>
321
  </select>
322
 
323
- <h3><?php _e( 'This is how the content font is going to look!', 'signals' ); ?></h3>
324
- <p class="signals-form-help-block"><?php _e( 'Font for the content text. Listing a total of 668 Google web fonts.', 'signals' ); ?></p>
325
  </div>
326
  </div>
327
 
328
  <div class="signals-double-group signals-clearfix">
329
  <div class="signals-form-group">
330
- <label for="signals_csmm_header_size" class="signals-strong"><?php _e( 'Header Text Size', 'signals' ); ?></label>
331
 
332
  <select name="signals_csmm_header_size" id="signals_csmm_header_size">
333
  <?php
334
 
335
  // Loading font sizes with the help of a loop
336
  for ( $i = 11; $i < 41; $i++ ) {
337
- echo '<option value="' . $i . '"' . selected( $signals_csmm_options['header_font_size'], $i ) . '>' . $i . __( 'px', 'signals' ) . '</option>';
338
  }
339
 
340
  ?>
341
  </select>
342
 
343
- <p class="signals-form-help-block"><?php _e( 'Font size for the header text.', 'signals' ); ?></p>
344
  </div>
345
 
346
  <div class="signals-form-group">
347
- <label for="signals_csmm_secondary_size" class="signals-strong"><?php _e( 'Content Text Size', 'signals' ); ?></label>
348
 
349
  <select name="signals_csmm_secondary_size" id="signals_csmm_secondary_size">
350
  <?php
351
 
352
  // Loading font sizes with the help of a loop
353
  for ( $i = 11; $i < 41; $i++ ) {
354
- echo '<option value="' . $i . '"' . selected( $signals_csmm_options['secondary_font_size'], $i ) . '>' . $i . __( 'px', 'signals' ) . '</option>';
355
  }
356
 
357
  ?>
358
  </select>
359
 
360
- <p class="signals-form-help-block"><?php _e( 'Font size for the content text.', 'signals' ); ?></p>
361
  </div>
362
  </div>
363
 
364
  <div class="signals-double-group signals-clearfix">
365
  <div class="signals-form-group">
366
- <label for="signals_csmm_header_color" class="signals-strong"><?php _e( 'Header Text Color', 'signals' ); ?></label>
367
  <input type="text" name="signals_csmm_header_color" id="signals_csmm_header_color"
368
  value="<?php esc_attr_e( $signals_csmm_options['header_font_color'] ); ?>"
369
- placeholder="<?php _e( 'Font color for the Header text', 'signals' ); ?>" class="jscolor signals-form-control color {required:false}">
370
 
371
- <p class="signals-form-help-block"><?php _e( 'Select font color for the header text.', 'signals' ); ?></p>
372
  </div>
373
 
374
  <div class="signals-form-group">
375
- <label for="signals_csmm_secondary_color" class="signals-strong"><?php _e( 'Content Text Color', 'signals' ); ?></label>
376
  <input type="text" name="signals_csmm_secondary_color" id="signals_csmm_secondary_color"
377
  value="<?php esc_attr_e( $signals_csmm_options['secondary_font_color'] ); ?>"
378
- placeholder="<?php _e( 'Font color for the content text', 'signals' ); ?>" class="jscolor signals-form-control color {required:false}">
379
 
380
- <p class="signals-form-help-block"><?php _e( 'Select font color for the content text.', 'signals' ); ?></p>
381
  </div>
382
  </div>
383
 
384
  <div class="signals-double-group signals-clearfix">
385
  <div class="signals-form-group">
386
- <label for="signals_csmm_antispam_size" class="signals-strong"><?php _e( 'Antispam Text Size', 'signals' ); ?></label>
387
 
388
  <select name="signals_csmm_antispam_size" id="signals_csmm_antispam_size">
389
  <?php
390
 
391
  // Loading font sizes with the help of a loop
392
  for ( $i = 10; $i < 21; $i++ ) {
393
- echo '<option value="' . $i . '"' . selected( $signals_csmm_options['antispam_font_size'], $i ) . '>' . $i . __( 'px', 'signals' ) . '</option>';
394
  }
395
 
396
  ?>
397
  </select>
398
 
399
- <p class="signals-form-help-block"><?php _e( 'Font size for the antispam text.', 'signals' ); ?></p>
400
  </div>
401
 
402
  <div class="signals-form-group">
403
- <label for="signals_csmm_antispam_color" class="signals-strong"><?php _e( 'Antispam Text Color', 'signals' ); ?></label>
404
  <input type="text" name="signals_csmm_antispam_color" id="signals_csmm_antispam_color"
405
  value="<?php esc_attr_e( $signals_csmm_options['antispam_font_color'] ); ?>"
406
- placeholder="<?php _e( 'Font color for the Antispam text', 'signals' ); ?>" class="jscolor signals-form-control color {required:false}">
407
 
408
- <p class="signals-form-help-block"><?php _e( 'Select font color for the antispam text.', 'signals' ); ?></p>
409
  </div>
410
  </div>
411
  </div>
15
 
16
  <div class="signals-tile" id="design">
17
  <div class="signals-tile-body">
18
+ <div class="signals-tile-title"><?php esc_attr_e( 'DESIGN', 'minimal-coming-soon-maintenance-mode' ); ?></div>
19
  <p>
20
+ <?php esc_attr_e( 'Design settings for the plugin. You have the option to modify every aspect of the maintenance page design as per your requirements.', 'minimal-coming-soon-maintenance-mode' ); ?>
21
  </p>
22
 
23
  <div class="signals-section-content">
24
  <div class="signals-upload-group signals-clearfix">
25
  <div class="signals-form-group border-fix">
26
  <div class="signals-upload-element">
27
+ <label class="signals-strong"><?php esc_attr_e( 'Logo', 'minimal-coming-soon-maintenance-mode' ); ?></label>
28
 
29
  <?php if ( ! empty( $signals_csmm_options['logo'] ) ) : // If the image url is present, show the image. Else, show the default upload text ?>
30
  <span class="signals-preview-area"><img src="<?php echo esc_attr( $signals_csmm_options['logo'] ); ?>" /></span>
31
  <?php else : ?>
32
+ <span class="signals-preview-area"><?php esc_attr_e( 'Select an image or upload a new one', 'minimal-coming-soon-maintenance-mode' ); ?></span>
33
  <?php endif; ?>
34
 
35
  <input type="hidden" name="signals_csmm_logo" id="signals_csmm_logo" value="<?php esc_attr_e( $signals_csmm_options['logo'] ); ?>">
36
  <button type="button" name="signals_logo_upload" id="signals_logo_upload" class="signals-btn signals-upload"
37
+ style="margin-top: 4px"><?php esc_attr_e( 'Select', 'minimal-coming-soon-maintenance-mode' ); ?></button>
38
 
39
  <span class="signals-upload-append">
40
  <?php if ( ! empty( $signals_csmm_options['logo'] ) ) : ?>
41
+ &nbsp;<a href="javascript: void(0);" class="signals-remove-image"><?php esc_attr_e( 'Remove', 'minimal-coming-soon-maintenance-mode' ); ?></a>
42
  <?php endif; ?>
43
  </span>
44
  </div>
46
 
47
  <div class="signals-form-group border-fix">
48
  <div class="signals-upload-element">
49
+ <label class="signals-strong"><?php esc_attr_e( 'Favicon', 'minimal-coming-soon-maintenance-mode' ); ?></label>
50
 
51
  <?php if ( ! empty( $signals_csmm_options['favicon'] ) ) : // If the image url is present, show the image. Else, show the default upload text ?>
52
  <span class="signals-preview-area"><img src="<?php echo esc_attr( $signals_csmm_options['favicon'] ); ?>" /></span>
53
  <?php else : ?>
54
+ <span class="signals-preview-area"><?php esc_attr_e( 'Select an image or upload a new one', 'minimal-coming-soon-maintenance-mode' ); ?></span>
55
  <?php endif; ?>
56
 
57
  <input type="hidden" name="signals_csmm_favicon" id="signals_csmm_favicon"
58
  value="<?php esc_attr_e( $signals_csmm_options['favicon'] ); ?>">
59
  <button type="button" name="signals_favicon_upload" id="signals_favicon_upload" class="signals-btn signals-upload"
60
+ style="margin-top: 4px"><?php esc_attr_e( 'Select', 'minimal-coming-soon-maintenance-mode' ); ?></button>
61
 
62
  <span class="signals-upload-append">
63
  <?php if ( ! empty( $signals_csmm_options['favicon'] ) ) : ?>
64
+ &nbsp;<a href="javascript: void(0);" class="signals-remove-image"><?php esc_attr_e( 'Remove', 'minimal-coming-soon-maintenance-mode' ); ?></a>
65
  <?php endif; ?>
66
  </span>
67
  </div>
69
 
70
  <div class="signals-form-group border-fix" id="background-preview">
71
  <div class="signals-upload-element">
72
+ <label class="signals-strong"><?php esc_attr_e( 'Background Cover Image', 'minimal-coming-soon-maintenance-mode' ); ?></label>
73
 
74
  <?php if ( ! empty( $signals_csmm_options['bg_cover'] ) ) : // If the image url is present, show the image. Else, show the default upload text ?>
75
  <span class="signals-preview-area"><img src="<?php echo esc_attr( $signals_csmm_options['bg_cover'] ); ?>" /></span>
76
  <?php else : ?>
77
+ <span class="signals-preview-area"><?php esc_attr_e( 'Select an image', 'minimal-coming-soon-maintenance-mode' ); ?></span>
78
  <?php endif; ?>
79
 
80
  <?php
88
  <input type="hidden" name="signals_csmm_bg" id="signals_csmm_bg" value="<?php esc_attr_e( $signals_csmm_options['bg_cover'] ); ?>">
89
  <button type="button" name="signals_bg_upload" id="signals_bg_upload"
90
  class="signals-btn signals-upload <?php echo $bgupload?'':'signals-upload-bg'; ?>"
91
+ style="margin-top: 4px"><?php esc_attr_e( 'Select', 'minimal-coming-soon-maintenance-mode' ); ?></button>
92
 
93
  <span class="signals-upload-append">
94
  <?php if ( ! empty( $signals_csmm_options['bg_cover'] ) ) : ?>
95
+ &nbsp;<a href="javascript: void(0);" class="signals-remove-image"><?php esc_attr_e( 'Remove', 'minimal-coming-soon-maintenance-mode' ); ?></a>
96
  <?php endif; ?>
97
  </span>
98
  </div>
101
 
102
  <div class="signals-double-group signals-clearfix">
103
  <div class="signals-form-group">
104
+ <label for="signals_csmm_overlay" class="signals-strong"><?php esc_attr_e( 'Content Overlay', 'minimal-coming-soon-maintenance-mode' ); ?></label>
105
  <input type="checkbox" class="signals-form-ios" name="signals_csmm_overlay" value="1"
106
  <?php checked( '1', $signals_csmm_options['content_overlay'] ); ?>>
107
  <p class="signals-form-help-block">
108
+ <?php esc_attr_e( 'If enabled, applies transparent background to the content section of the maintenance page.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
109
  </div>
110
 
111
  <div class="signals-form-group">
145
  csmm_create_select_options( $filters, '' ); ?>
146
  </select>
147
  <p class="signals-form-help-block">Filters are instantly applied on the background image above for preview. Check out <a target="_blank"
148
+ href="<?php echo esc_url(csmm_generate_web_link('design-filters', 'image-filters')); ?>">the previews</a>. This is a <a href="#pro"
149
  class="csmm-change-tab">PRO feature</a>.</p>
150
  </div>
151
 
153
 
154
  <div class="signals-double-group signals-clearfix">
155
  <div class="signals-form-group">
156
+ <label for="signals_csmm_width" class="signals-strong"><?php esc_attr_e( 'Content Width (in px)', 'minimal-coming-soon-maintenance-mode' ); ?></label>
157
  <input style="width: 80px;" type="number" name="signals_csmm_width" id="signals_csmm_width"
158
  value="<?php esc_attr_e( $signals_csmm_options['content_width'] ); ?>"
159
+ placeholder="<?php esc_attr_e( 'Set content width for the page', 'minimal-coming-soon-maintenance-mode' ); ?>" class="signals-form-control">
160
 
161
  <p class="signals-form-help-block">
162
+ <?php esc_attr_e( 'Set maximum width of the content (in pixels) for the maintenance page. Provide only numeric value. Example: Entering 400 will set the width of the content to 400px. Defaults to 440px.', 'minimal-coming-soon-maintenance-mode' ); ?>
163
  </p>
164
  </div>
165
 
166
  <div class="signals-form-group">
167
+ <label for="signals_csmm_color" class="signals-strong"><?php esc_attr_e( 'Background Color', 'minimal-coming-soon-maintenance-mode' ); ?></label>
168
  <input type="text" name="signals_csmm_color" id="signals_csmm_color" value="<?php esc_attr_e( $signals_csmm_options['bg_color'] ); ?>"
169
+ placeholder="<?php esc_attr_e( 'Background color for the page', 'minimal-coming-soon-maintenance-mode' ); ?>" class="jscolor signals-form-control color {required:false}">
170
 
171
  <p class="signals-form-help-block">
172
+ <?php esc_attr_e( 'Select background color for the page. If the background cover image is set, this option will be ignored.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
173
  </div>
174
  </div>
175
 
176
  <div class="signals-double-group signals-clearfix">
177
  <div class="signals-form-group">
178
+ <label for="signals_csmm_position" class="signals-strong"><?php esc_attr_e( 'Content Position', 'minimal-coming-soon-maintenance-mode' ); ?></label>
179
  <select name="signals_csmm_position" id="signals_csmm_position">
180
+ <option value="left" <?php selected( 'left', $signals_csmm_options['content_position'] ); ?>><?php esc_attr_e( 'Left', 'minimal-coming-soon-maintenance-mode' ); ?></option>
181
+ <option value="center" <?php selected( 'center', $signals_csmm_options['content_position'] ); ?>><?php esc_attr_e( 'Center', 'minimal-coming-soon-maintenance-mode' ); ?>
182
  </option>
183
+ <option value="right" <?php selected( 'right', $signals_csmm_options['content_position'] ); ?>><?php esc_attr_e( 'Right', 'minimal-coming-soon-maintenance-mode' ); ?></option>
184
  </select>
185
 
186
  <p class="signals-form-help-block">
187
+ <?php esc_attr_e( 'For the position of the content on the maintenance page. Does not work if the width is set to maximum which is 1170px.', 'minimal-coming-soon-maintenance-mode' ); ?>
188
  </p>
189
  </div>
190
 
191
  <div class="signals-form-group">
192
+ <label for="signals_csmm_alignment" class="signals-strong"><?php esc_attr_e( 'Content Alignment', 'minimal-coming-soon-maintenance-mode' ); ?></label>
193
  <select name="signals_csmm_alignment" id="signals_csmm_alignment">
194
+ <option value="left" <?php selected( 'left', $signals_csmm_options['content_alignment'] ); ?>><?php esc_attr_e( 'Left', 'minimal-coming-soon-maintenance-mode' ); ?></option>
195
+ <option value="center" <?php selected( 'center', $signals_csmm_options['content_alignment'] ); ?>><?php esc_attr_e( 'Center', 'minimal-coming-soon-maintenance-mode' ); ?>
196
  </option>
197
+ <option value="right" <?php selected( 'right', $signals_csmm_options['content_alignment'] ); ?>><?php esc_attr_e( 'Right', 'minimal-coming-soon-maintenance-mode' ); ?>
198
  </option>
199
  </select>
200
 
201
  <p class="signals-form-help-block">
202
+ <?php esc_attr_e( 'For the alignment of the text on the maintenance page. Make it left, center, or right.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
203
  </div>
204
  </div>
205
 
263
  <div class="signals-form-group">
264
  <label for="animation" class="signals-strong">Content Intro Animation<sup>PRO</sup></label>
265
  <select name="animation" id="animation" class="skip-save pro-option">
266
+ <?php CSMM::wp_kses_wf(csmm_create_select_options($animations, @$signals_csmm_options['animation'])); ?>
267
  </select>
268
  <p class="signals-form-help-block">When the page loads, the content will be animated on to the page with the selected animation. Use the <a
269
  href="https://comingsoonwp.com/content-animations/" target="_blank">animation previews</a> for easier picking. This is a <a href="#pro"
273
 
274
  <div class="signals-double-group signals-clearfix">
275
  <div class="signals-form-group">
276
+ <label for="signals_csmm_header_font" class="signals-strong"><?php esc_attr_e( 'Header Font', 'minimal-coming-soon-maintenance-mode' ); ?></label>
277
 
278
+ <select name="signals_csmm_header_font" id="signals_csmm_header_font" class="signals-bunny-fonts">
279
+ <option disabled>-- local, built-in fonts --</option>
280
  <option value="Arial" <?php selected( 'Arial', $signals_csmm_options['header_font'] ); ?>>Arial</option>
281
  <option value="Helvetica" <?php selected( 'Helvetica', $signals_csmm_options['header_font'] ); ?>>Helvetica</option>
282
  <option value="Georgia" <?php selected( 'Georgia', $signals_csmm_options['header_font'] ); ?>>Georgia</option>
284
  <option value="Tahoma" <?php selected( 'Tahoma', $signals_csmm_options['header_font'] ); ?>>Tahoma</option>
285
  <option value="Verdana" <?php selected( 'Verdana', $signals_csmm_options['header_font'] ); ?>>Verdana</option>
286
  <option value="Geneva" <?php selected( 'Geneva', $signals_csmm_options['header_font'] ); ?>>Geneva</option>
287
+ <option disabled>-- externally loaded Bunny fonts --</option>
288
  <?php
289
 
290
  // Listing fonts from the array
291
+ foreach ( $signals_bunny_fonts as $signals_font ) {
292
+ CSMM::wp_kses_wf('<option value="' . $signals_font . '"' . selected( $signals_font, $signals_csmm_options['header_font'] ) . '>' . $signals_font . '</option>' . "\n");
293
  }
294
 
295
  ?>
296
  </select>
297
 
298
+ <h3><?php esc_attr_e( 'This is how the header font is going to look!', 'minimal-coming-soon-maintenance-mode' ); ?></h3>
299
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Font for the header text. Listing a total of 668 Bunny web fonts.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
300
  </div>
301
 
302
  <div class="signals-form-group">
303
+ <label for="signals_csmm_secondary_font" class="signals-strong"><?php esc_attr_e( 'Content Font', 'minimal-coming-soon-maintenance-mode' ); ?></label>
304
 
305
+ <select name="signals_csmm_secondary_font" id="signals_csmm_secondary_font" class="signals-bunny-fonts">
306
+ <option disabled>-- local, built-in fonts --</option>
307
  <option value="Arial" <?php selected( 'Arial', $signals_csmm_options['secondary_font'] ); ?>>Arial</option>
308
  <option value="Helvetica" <?php selected( 'Helvetica', $signals_csmm_options['secondary_font'] ); ?>>Helvetica</option>
309
  <option value="Georgia" <?php selected( 'Georgia', $signals_csmm_options['secondary_font'] ); ?>>Georgia</option>
311
  <option value="Tahoma" <?php selected( 'Tahoma', $signals_csmm_options['secondary_font'] ); ?>>Tahoma</option>
312
  <option value="Verdana" <?php selected( 'Verdana', $signals_csmm_options['secondary_font'] ); ?>>Verdana</option>
313
  <option value="Geneva" <?php selected( 'Geneva', $signals_csmm_options['secondary_font'] ); ?>>Geneva</option>
314
+ <option disabled>-- externally loaded Bunny fonts --</option>
315
  <?php
316
 
317
  // Listing fonts from the array
318
+ foreach ( $signals_bunny_fonts as $signals_font ) {
319
+ CSMM::wp_kses_wf('<option value="' . $signals_font . '"' . selected( $signals_font, $signals_csmm_options['secondary_font'] ) . '>' . $signals_font . '</option>' . "\n");
320
  }
321
 
322
  ?>
323
  </select>
324
 
325
+ <h3><?php esc_attr_e( 'This is how the content font is going to look!', 'minimal-coming-soon-maintenance-mode' ); ?></h3>
326
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Font for the content text. Listing a total of 668 Bunny web fonts.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
327
  </div>
328
  </div>
329
 
330
  <div class="signals-double-group signals-clearfix">
331
  <div class="signals-form-group">
332
+ <label for="signals_csmm_header_size" class="signals-strong"><?php esc_attr_e( 'Header Text Size', 'minimal-coming-soon-maintenance-mode' ); ?></label>
333
 
334
  <select name="signals_csmm_header_size" id="signals_csmm_header_size">
335
  <?php
336
 
337
  // Loading font sizes with the help of a loop
338
  for ( $i = 11; $i < 41; $i++ ) {
339
+ CSMM::wp_kses_wf('<option value="' . $i . '"' . selected( $signals_csmm_options['header_font_size'], $i ) . '>' . $i . __( 'px', 'minimal-coming-soon-maintenance-mode' ) . '</option>');
340
  }
341
 
342
  ?>
343
  </select>
344
 
345
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Font size for the header text.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
346
  </div>
347
 
348
  <div class="signals-form-group">
349
+ <label for="signals_csmm_secondary_size" class="signals-strong"><?php esc_attr_e( 'Content Text Size', 'minimal-coming-soon-maintenance-mode' ); ?></label>
350
 
351
  <select name="signals_csmm_secondary_size" id="signals_csmm_secondary_size">
352
  <?php
353
 
354
  // Loading font sizes with the help of a loop
355
  for ( $i = 11; $i < 41; $i++ ) {
356
+ CSMM::wp_kses_wf('<option value="' . $i . '"' . selected( $signals_csmm_options['secondary_font_size'], $i ) . '>' . $i . __( 'px', 'minimal-coming-soon-maintenance-mode' ) . '</option>');
357
  }
358
 
359
  ?>
360
  </select>
361
 
362
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Font size for the content text.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
363
  </div>
364
  </div>
365
 
366
  <div class="signals-double-group signals-clearfix">
367
  <div class="signals-form-group">
368
+ <label for="signals_csmm_header_color" class="signals-strong"><?php esc_attr_e( 'Header Text Color', 'minimal-coming-soon-maintenance-mode' ); ?></label>
369
  <input type="text" name="signals_csmm_header_color" id="signals_csmm_header_color"
370
  value="<?php esc_attr_e( $signals_csmm_options['header_font_color'] ); ?>"
371
+ placeholder="<?php esc_attr_e( 'Font color for the Header text', 'minimal-coming-soon-maintenance-mode' ); ?>" class="jscolor signals-form-control color {required:false}">
372
 
373
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Select font color for the header text.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
374
  </div>
375
 
376
  <div class="signals-form-group">
377
+ <label for="signals_csmm_secondary_color" class="signals-strong"><?php esc_attr_e( 'Content Text Color', 'minimal-coming-soon-maintenance-mode' ); ?></label>
378
  <input type="text" name="signals_csmm_secondary_color" id="signals_csmm_secondary_color"
379
  value="<?php esc_attr_e( $signals_csmm_options['secondary_font_color'] ); ?>"
380
+ placeholder="<?php esc_attr_e( 'Font color for the content text', 'minimal-coming-soon-maintenance-mode' ); ?>" class="jscolor signals-form-control color {required:false}">
381
 
382
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Select font color for the content text.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
383
  </div>
384
  </div>
385
 
386
  <div class="signals-double-group signals-clearfix">
387
  <div class="signals-form-group">
388
+ <label for="signals_csmm_antispam_size" class="signals-strong"><?php esc_attr_e( 'Antispam Text Size', 'minimal-coming-soon-maintenance-mode' ); ?></label>
389
 
390
  <select name="signals_csmm_antispam_size" id="signals_csmm_antispam_size">
391
  <?php
392
 
393
  // Loading font sizes with the help of a loop
394
  for ( $i = 10; $i < 21; $i++ ) {
395
+ CSMM::wp_kses_wf('<option value="' . $i . '"' . selected( $signals_csmm_options['antispam_font_size'], $i ) . '>' . $i . __( 'px', 'minimal-coming-soon-maintenance-mode' ) . '</option>');
396
  }
397
 
398
  ?>
399
  </select>
400
 
401
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Font size for the antispam text.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
402
  </div>
403
 
404
  <div class="signals-form-group">
405
+ <label for="signals_csmm_antispam_color" class="signals-strong"><?php esc_attr_e( 'Antispam Text Color', 'minimal-coming-soon-maintenance-mode' ); ?></label>
406
  <input type="text" name="signals_csmm_antispam_color" id="signals_csmm_antispam_color"
407
  value="<?php esc_attr_e( $signals_csmm_options['antispam_font_color'] ); ?>"
408
+ placeholder="<?php esc_attr_e( 'Font color for the Antispam text', 'minimal-coming-soon-maintenance-mode' ); ?>" class="jscolor signals-form-control color {required:false}">
409
 
410
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Select font color for the antispam text.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
411
  </div>
412
  </div>
413
  </div>
framework/admin/views/settings-email.php CHANGED
@@ -20,8 +20,8 @@ if (!isset($signals_csmm_options['mail_system_to_use'])) {
20
 
21
  <div class="signals-tile" id="email">
22
  <div class="signals-tile-body">
23
- <div class="signals-tile-title"><?php _e( 'EMAIL', 'signals' ); ?></div>
24
- <p><?php _e( 'Optin settings for the plugin. You can configure various services to store collected emails.', 'signals' ); ?></p>
25
 
26
  <div class="signals-section-content">
27
 
@@ -29,8 +29,8 @@ if (!isset($signals_csmm_options['mail_system_to_use'])) {
29
  <div class="signals-form-group">
30
  <label for="mail_system_to_use" class="signals-strong">Select Emailing / Integration System</label>
31
  <select id="mail_system_to_use" name="mail_system_to_use" class="signals-form-control pro-option">
32
- <option value="mc" <?php echo $signals_csmm_options['mail_system_to_use']=='mc'?'selected':''; ?>><?php _e( 'MailChimp', 'signals' ); ?></option>
33
- <option value="-1"><?php _e( 'Zapier - PRO option', 'signals' ); ?></option>
34
  </select>
35
  <p class="signals-form-help-block">If you use any other autoresponder services apart from Mailchimp such as Aweber or Constant Contact, or if you need Zapier get the <a href="#pro" class="csmm-change-tab">PRO version</a>.</p>
36
  </div>
@@ -40,17 +40,17 @@ if (!isset($signals_csmm_options['mail_system_to_use'])) {
40
 
41
  <div class="signals-double-group signals-clearfix">
42
  <div class="signals-form-group">
43
- <label for="signals_csmm_api" class="signals-strong"><?php _e( 'MailChimp API', 'signals' ); ?></label>
44
- <input type="text" name="signals_csmm_api" id="signals_csmm_api" value="<?php esc_attr_e( $signals_csmm_options['mailchimp_api'] ); ?>" placeholder="<?php esc_attr_e( 'MailChimp API key', 'signals' ); ?>" class="signals-form-control">
45
 
46
- <p class="signals-form-help-block"><?php _e( 'Enter your MailChimp API key.', 'signals' ); ?> Open your <a href="https://us2.admin.mailchimp.com/account/api/" target="_blank"><?php _e( 'MailChimp profile', 'signals' ); ?></a> <?php _e( 'to get the API key. If you don\'t want to enable the subscription option, leave this field blank.', 'signals' ); ?></p>
47
- <p><button type="submit" name="signals_csmm_submit" class="signals-btn"><?php _e( 'Save API key &amp; refresh mailing lists', 'signals' ); ?></button></p>
48
  </div>
49
  </div>
50
 
51
  <div class="signals-double-group signals-clearfix">
52
  <div class="signals-form-group">
53
- <label for="signals_csmm_list" class="signals-strong"><?php _e( 'MailChimp List', 'signals' ); ?></label>
54
 
55
  <?php
56
 
@@ -72,63 +72,63 @@ if (!isset($signals_csmm_options['mail_system_to_use'])) {
72
  } // if success
73
 
74
  if ( ! $signals_lists ) {
75
- echo '<p class="signals-form-help-block">' . __( '<b>Error</b> fetching mailing lists. Please make sure that the API key you entered is correct and try again.', 'signals' ) . '</p>';
76
  } else if ( count($signals_lists) == 0 ) {
77
- echo '<p class="signals-form-help-block">' . __( 'It seems that there is no list created for this account. Create one on the MailChimp website and then try again.', 'signals' ) . '</p>';
78
  } else {
79
  echo '<select name="signals_csmm_list" id="signals_csmm_list">';
80
  echo '<option value="">- select a mailing list -</option>';
81
  foreach ( $signals_lists as $signals_single_list ) {
82
- echo '<option value="' . $signals_single_list['val'] . '"' . selected( $signals_single_list['val'], $signals_csmm_options['mailchimp_list'] ) . '>' . $signals_single_list['label'].'</option>';
83
  }
84
 
85
  echo '</select>';
86
- echo '<p class="signals-form-help-block">' . __( 'Select the MailChimp list in which you want to store the subscriber data.', 'signals' ) . '</p>';
87
  }
88
  } else {
89
- echo '<p class="signals-form-help-block">' . __( 'Enter your MailChimp API key in the field above and click "Save API key". Your lists will refresh and appear here.', 'signals' ) . '</p>';
90
  }
91
 
92
  ?>
93
  </div>
94
 
95
  <div class="signals-form-group">
96
- <label for="signals_csmm_double_optin" class="signals-strong pro-option"><?php _e( 'Double Opt-In', 'signals' ); ?><sup>PRO</sup></label>
97
  <input type="checkbox" disabled="disabled" class="signals-form-ios pro-option skip-save" name="signals_csmm_double_optin" id="signals_csmm_double_optin" value="1" checked="checked">
98
- <p class="signals-form-help-block"><?php _e( 'The double opt-in process includes two steps. First the potential subscriber fills out and submits your signup form. Then, they\'ll receive a confirmation email and click a link to verify their email, which is then added to your MailChimp list. To add subscribers to the list without requiring a confirmation email - disable the option. This is a <a href="#pro" class="csmm-change-tab">PRO feature</a>.', 'signals' ); ?></p>
99
  </div>
100
 
101
  </div>
102
 
103
  <div class="signals-double-group signals-clearfix">
104
  <div class="signals-form-group">
105
- <label for="signals_csmm_message_noemail" class="signals-strong"><?php _e( 'Message: No Email', 'signals' ); ?></label>
106
- <input type="text" name="signals_csmm_message_noemail" id="signals_csmm_message_noemail" value="<?php echo esc_attr_e( $signals_csmm_options['message_noemail'] ); ?>" placeholder="<?php esc_attr_e( 'Message when email is not provided', 'signals' ); ?>" class="signals-form-control">
107
 
108
- <p class="signals-form-help-block"><?php _e( 'Provide error message to show if the user forgets to provide email address.', 'signals' ); ?></p>
109
  </div>
110
 
111
  <div class="signals-form-group">
112
- <label for="signals_csmm_message_subscribed" class="signals-strong"><?php _e( 'Message: Already Subscribed', 'signals' ); ?></label>
113
- <input type="text" name="signals_csmm_message_subscribed" id="signals_csmm_message_subscribed" value="<?php echo esc_attr_e( $signals_csmm_options['message_subscribed'] ); ?>" placeholder="<?php esc_attr_e( 'Message when user is already subscribed', 'signals' ); ?>" class="signals-form-control">
114
 
115
- <p class="signals-form-help-block"><?php _e( 'Provide message to show if the user is already subscribed to the mailing list.', 'signals' ); ?></p>
116
  </div>
117
  </div>
118
 
119
  <div class="signals-double-group signals-clearfix">
120
  <div class="signals-form-group">
121
- <label for="signals_csmm_message_wrong" class="signals-strong"><?php _e( 'Message: General Error', 'signals' ); ?></label>
122
- <input type="text" name="signals_csmm_message_wrong" id="signals_csmm_message_wrong" value="<?php echo esc_attr( $signals_csmm_options['message_wrong'] ); ?>" placeholder="<?php esc_attr_e( 'Message when anything goes wrong while subscribing', 'signals' ); ?>" class="signals-form-control">
123
 
124
- <p class="signals-form-help-block"><?php _e( 'Provide general error message to show if anything goes wrong while subscribing.', 'signals' ); ?></p>
125
  </div>
126
 
127
  <div class="signals-form-group">
128
- <label for="signals_csmm_message_done" class="signals-strong"><?php _e( 'Message: Successfully Subscribed', 'signals' ); ?></label>
129
- <input type="text" name="signals_csmm_message_done" id="signals_csmm_message_done" value="<?php echo esc_attr( $signals_csmm_options['message_done'] ); ?>" placeholder="<?php esc_attr_e( 'Success message when the user gets subscribed', 'signals' ); ?>" class="signals-form-control">
130
 
131
- <p class="signals-form-help-block"><?php _e( 'Provide message to show when the user gets subscribed successfully.', 'signals' ); ?></p>
132
  </div>
133
  </div>
134
  </div>
20
 
21
  <div class="signals-tile" id="email">
22
  <div class="signals-tile-body">
23
+ <div class="signals-tile-title"><?php esc_attr_e( 'EMAIL', 'minimal-coming-soon-maintenance-mode' ); ?></div>
24
+ <p><?php esc_attr_e( 'Optin settings for the plugin. You can configure various services to store collected emails.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
25
 
26
  <div class="signals-section-content">
27
 
29
  <div class="signals-form-group">
30
  <label for="mail_system_to_use" class="signals-strong">Select Emailing / Integration System</label>
31
  <select id="mail_system_to_use" name="mail_system_to_use" class="signals-form-control pro-option">
32
+ <option value="mc" <?php echo $signals_csmm_options['mail_system_to_use']=='mc'?'selected':''; ?>><?php esc_attr_e( 'MailChimp', 'minimal-coming-soon-maintenance-mode' ); ?></option>
33
+ <option value="-1"><?php esc_attr_e( 'Zapier - PRO option', 'minimal-coming-soon-maintenance-mode' ); ?></option>
34
  </select>
35
  <p class="signals-form-help-block">If you use any other autoresponder services apart from Mailchimp such as Aweber or Constant Contact, or if you need Zapier get the <a href="#pro" class="csmm-change-tab">PRO version</a>.</p>
36
  </div>
40
 
41
  <div class="signals-double-group signals-clearfix">
42
  <div class="signals-form-group">
43
+ <label for="signals_csmm_api" class="signals-strong"><?php esc_attr_e( 'MailChimp API', 'minimal-coming-soon-maintenance-mode' ); ?></label>
44
+ <input type="text" name="signals_csmm_api" id="signals_csmm_api" value="<?php esc_attr_e( $signals_csmm_options['mailchimp_api'] ); ?>" placeholder="<?php esc_attr_e( 'MailChimp API key', 'minimal-coming-soon-maintenance-mode' ); ?>" class="signals-form-control">
45
 
46
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Enter your MailChimp API key.', 'minimal-coming-soon-maintenance-mode' ); ?> Open your <a href="https://us2.admin.mailchimp.com/account/api/" target="_blank"><?php esc_attr_e( 'MailChimp profile', 'minimal-coming-soon-maintenance-mode' ); ?></a> <?php esc_attr_e( 'to get the API key. If you don\'t want to enable the subscription option, leave this field blank.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
47
+ <p><button type="submit" name="signals_csmm_submit" class="signals-btn"><?php esc_attr_e( 'Save API key &amp; refresh mailing lists', 'minimal-coming-soon-maintenance-mode' ); ?></button></p>
48
  </div>
49
  </div>
50
 
51
  <div class="signals-double-group signals-clearfix">
52
  <div class="signals-form-group">
53
+ <label for="signals_csmm_list" class="signals-strong"><?php esc_attr_e( 'MailChimp List', 'minimal-coming-soon-maintenance-mode' ); ?></label>
54
 
55
  <?php
56
 
72
  } // if success
73
 
74
  if ( ! $signals_lists ) {
75
+ echo '<p class="signals-form-help-block">' . __( '<b>Error</b> fetching mailing lists. Please make sure that the API key you entered is correct and try again.', 'minimal-coming-soon-maintenance-mode' ) . '</p>';
76
  } else if ( count($signals_lists) == 0 ) {
77
+ echo '<p class="signals-form-help-block">' . __( 'It seems that there is no list created for this account. Create one on the MailChimp website and then try again.', 'minimal-coming-soon-maintenance-mode' ) . '</p>';
78
  } else {
79
  echo '<select name="signals_csmm_list" id="signals_csmm_list">';
80
  echo '<option value="">- select a mailing list -</option>';
81
  foreach ( $signals_lists as $signals_single_list ) {
82
+ echo '<option value="' . esc_attr($signals_single_list['val']) . '"' . selected( $signals_single_list['val'], $signals_csmm_options['mailchimp_list'] ) . '>' . esc_html($signals_single_list['label']) .'</option>';
83
  }
84
 
85
  echo '</select>';
86
+ echo '<p class="signals-form-help-block">' . __( 'Select the MailChimp list in which you want to store the subscriber data.', 'minimal-coming-soon-maintenance-mode' ) . '</p>';
87
  }
88
  } else {
89
+ echo '<p class="signals-form-help-block">' . __( 'Enter your MailChimp API key in the field above and click "Save API key". Your lists will refresh and appear here.', 'minimal-coming-soon-maintenance-mode' ) . '</p>';
90
  }
91
 
92
  ?>
93
  </div>
94
 
95
  <div class="signals-form-group">
96
+ <label for="signals_csmm_double_optin" class="signals-strong pro-option"><?php esc_attr_e( 'Double Opt-In', 'minimal-coming-soon-maintenance-mode' ); ?><sup>PRO</sup></label>
97
  <input type="checkbox" disabled="disabled" class="signals-form-ios pro-option skip-save" name="signals_csmm_double_optin" id="signals_csmm_double_optin" value="1" checked="checked">
98
+ <p class="signals-form-help-block"><?php esc_attr_e( 'The double opt-in process includes two steps. First the potential subscriber fills out and submits your signup form. Then, they\'ll receive a confirmation email and click a link to verify their email, which is then added to your MailChimp list. To add subscribers to the list without requiring a confirmation email - disable the option. This is a <a href="#pro" class="csmm-change-tab">PRO feature</a>.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
99
  </div>
100
 
101
  </div>
102
 
103
  <div class="signals-double-group signals-clearfix">
104
  <div class="signals-form-group">
105
+ <label for="signals_csmm_message_noemail" class="signals-strong"><?php esc_attr_e( 'Message: No Email', 'minimal-coming-soon-maintenance-mode' ); ?></label>
106
+ <input type="text" name="signals_csmm_message_noemail" id="signals_csmm_message_noemail" value="<?php echo esc_attr_e( $signals_csmm_options['message_noemail'] ); ?>" placeholder="<?php esc_attr_e( 'Message when email is not provided', 'minimal-coming-soon-maintenance-mode' ); ?>" class="signals-form-control">
107
 
108
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Provide error message to show if the user forgets to provide email address.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
109
  </div>
110
 
111
  <div class="signals-form-group">
112
+ <label for="signals_csmm_message_subscribed" class="signals-strong"><?php esc_attr_e( 'Message: Already Subscribed', 'minimal-coming-soon-maintenance-mode' ); ?></label>
113
+ <input type="text" name="signals_csmm_message_subscribed" id="signals_csmm_message_subscribed" value="<?php echo esc_attr_e( $signals_csmm_options['message_subscribed'] ); ?>" placeholder="<?php esc_attr_e( 'Message when user is already subscribed', 'minimal-coming-soon-maintenance-mode' ); ?>" class="signals-form-control">
114
 
115
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Provide message to show if the user is already subscribed to the mailing list.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
116
  </div>
117
  </div>
118
 
119
  <div class="signals-double-group signals-clearfix">
120
  <div class="signals-form-group">
121
+ <label for="signals_csmm_message_wrong" class="signals-strong"><?php esc_attr_e( 'Message: General Error', 'minimal-coming-soon-maintenance-mode' ); ?></label>
122
+ <input type="text" name="signals_csmm_message_wrong" id="signals_csmm_message_wrong" value="<?php echo esc_attr( $signals_csmm_options['message_wrong'] ); ?>" placeholder="<?php esc_attr_e( 'Message when anything goes wrong while subscribing', 'minimal-coming-soon-maintenance-mode' ); ?>" class="signals-form-control">
123
 
124
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Provide general error message to show if anything goes wrong while subscribing.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
125
  </div>
126
 
127
  <div class="signals-form-group">
128
+ <label for="signals_csmm_message_done" class="signals-strong"><?php esc_attr_e( 'Message: Successfully Subscribed', 'minimal-coming-soon-maintenance-mode' ); ?></label>
129
+ <input type="text" name="signals_csmm_message_done" id="signals_csmm_message_done" value="<?php echo esc_attr( $signals_csmm_options['message_done'] ); ?>" placeholder="<?php esc_attr_e( 'Success message when the user gets subscribed', 'minimal-coming-soon-maintenance-mode' ); ?>" class="signals-form-control">
130
 
131
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Provide message to show when the user gets subscribed successfully.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
132
  </div>
133
  </div>
134
  </div>
framework/admin/views/settings-form.php CHANGED
@@ -15,51 +15,51 @@ if (!defined('WPINC')) {
15
 
16
  <div class="signals-tile" id="form">
17
  <div class="signals-tile-body">
18
- <div class="signals-tile-title"><?php _e( 'FORM', 'signals' ); ?></div>
19
- <p><?php _e( 'Leads are the lifeline of any business. Make sure your form looks trustworthy. Configure technical details on the <a href="#email" class="csmm-change-tab">email tab</a>.', 'signals' ); ?></p>
20
 
21
 
22
  <div id="csmm-setting-form-mc" style="<?php if ($signals_csmm_options['mail_system_to_use'] != 'mc') echo 'display: none;' ?>">
23
  <div class="signals-section-content">
24
  <div class="signals-double-group signals-clearfix">
25
  <div class="signals-form-group">
26
- <label for="signals_csmm_input_text" class="signals-strong"><?php _e( 'Input Text', 'signals' ); ?></label>
27
- <input type="text" name="signals_csmm_input_text" id="signals_csmm_input_text" value="<?php esc_attr_e( stripslashes( $signals_csmm_options['input_text'] ) ); ?>" placeholder="<?php _e( 'Text for the Input field', 'signals' ); ?>" class="signals-form-control">
28
 
29
- <p class="signals-form-help-block"><?php _e( 'Enter the text which you would like to use as a placeholder text for the text input field.', 'signals' ); ?></p>
30
  </div>
31
 
32
  <div class="signals-form-group">
33
- <label for="signals_csmm_button_text" class="signals-strong"><?php _e( 'Button Text', 'signals' ); ?></label>
34
- <input type="text" name="signals_csmm_button_text" id="signals_csmm_button_text" value="<?php esc_attr_e( stripslashes( $signals_csmm_options['button_text'] ) ); ?>" placeholder="<?php _e( 'Text for the Button', 'signals' ); ?>" class="signals-form-control">
35
 
36
- <p class="signals-form-help-block"><?php _e( 'Enter the text for the button. Usually, it will be "Subscribe" or something like that.', 'signals' ); ?></p>
37
  </div>
38
  </div>
39
 
40
  <div class="signals-double-group signals-clearfix">
41
  <div class="signals-form-group">
42
- <label for="signals_csmm_gdpr_text" class="signals-strong"><?php _e( 'GDPR Consent Checkbox Text', 'signals' ); ?></label>
43
- <textarea name="signals_csmm_gdpr_text" id="signals_csmm_gdpr_text" placeholder="<?php _e( '', 'signals' ); ?>" class="signals-form-control" rows="3"><?php echo esc_textarea( stripslashes( $signals_csmm_options['gdpr_text'] ) ); ?></textarea>
44
 
45
- <p class="signals-form-help-block"><?php _e( 'Checkbox and the text above are displayed below the form email field. User has to check the checkbox in order to subscribe. Leave the field empty if you don\'t want to display the checkbox.', 'signals' ); ?></p>
46
  </div>
47
 
48
  <div class="signals-form-group">
49
- <label for="signals_csmm_gdpr_fail" class="signals-strong"><?php _e( 'GDPR Consent Fail Notice', 'signals' ); ?></label>
50
- <textarea name="signals_csmm_gdpr_fail" id="signals_csmm_gdpr_fail" placeholder="<?php _e( '', 'signals' ); ?>" class="signals-form-control" rows="3"><?php echo esc_textarea( stripslashes( $signals_csmm_options['gdpr_fail'] ) ); ?></textarea>
51
 
52
- <p class="signals-form-help-block"><?php _e( 'Alert text shown when user does not comply with the GPDR consent checkbox.', 'signals' ); ?></p>
53
  </div>
54
 
55
  </div>
56
 
57
  <div class="signals-double-group signals-clearfix">
58
  <div class="signals-form-group">
59
- <label for="signals_csmm_ignore_styles" class="signals-strong"><?php _e( 'Ignore Default Form Styles?', 'signals' ); ?></label>
60
  <input type="checkbox" class="signals-form-ios" name="signals_csmm_ignore_styles" id="signals_csmm_ignore_styles" value="1"<?php checked( '1', $signals_csmm_options['ignore_form_styles'] ); ?>>
61
 
62
- <p class="signals-form-help-block"><?php _e( 'Enable this option if you would like to use your custom form styles. The settings below will only be applicable when this option is turned on.', 'signals' ); ?></p>
63
  </div>
64
 
65
  <div class="signals-form-group">
@@ -71,117 +71,117 @@ if (!defined('WPINC')) {
71
 
72
  <div class="signals-double-group signals-clearfix">
73
  <div class="signals-form-group">
74
- <label for="signals_csmm_input_size" class="signals-strong"><?php _e( 'Input Text Size', 'signals' ); ?></label>
75
 
76
  <select name="signals_csmm_input_size" id="signals_csmm_input_size">
77
  <?php
78
 
79
  // Loading font sizes with the help of a loop
80
  for ( $i = 11; $i < 41; $i++ ) {
81
- echo '<option value="' . $i . '"' . selected( $signals_csmm_options['input_font_size'], $i ) . '>' . $i . __( 'px', 'signals' ) . '</option>';
82
  }
83
 
84
  ?>
85
  </select>
86
 
87
- <p class="signals-form-help-block"><?php _e( 'Font size for the text input field.', 'signals' ); ?></p>
88
  </div>
89
 
90
  <div class="signals-form-group">
91
- <label for="signals_csmm_button_size" class="signals-strong"><?php _e( 'Button Text Size', 'signals' ); ?></label>
92
 
93
  <select name="signals_csmm_button_size" id="signals_csmm_button_size">
94
  <?php
95
 
96
  // Loading font sizes with the help of a loop
97
  for ( $i = 11; $i < 41; $i++ ) {
98
- echo '<option value="' . $i . '"' . selected( $signals_csmm_options['button_font_size'], $i ) . '>' . $i . __( 'px', 'signals' ) . '</option>';
99
  }
100
 
101
  ?>
102
  </select>
103
 
104
- <p class="signals-form-help-block"><?php _e( 'Font size for the button text.', 'signals' ); ?></p>
105
  </div>
106
  </div>
107
 
108
  <div class="signals-double-group signals-clearfix">
109
  <div class="signals-form-group">
110
- <label for="signals_csmm_input_color" class="signals-strong"><?php _e( 'Input Text Color', 'signals' ); ?></label>
111
- <input type="text" name="signals_csmm_input_color" id="signals_csmm_input_color" value="<?php esc_attr_e( $signals_csmm_options['input_font_color'] ); ?>" placeholder="<?php _e( 'Font color for the Input text', 'signals' ); ?>" class="signals-form-control color jscolor {required:false}">
112
 
113
- <p class="signals-form-help-block"><?php _e( 'Select font color for the input text field.', 'signals' ); ?></p>
114
  </div>
115
 
116
  <div class="signals-form-group">
117
- <label for="signals_csmm_button_color" class="signals-strong"><?php _e( 'Button Text Color', 'signals' ); ?></label>
118
- <input type="text" name="signals_csmm_button_color" id="signals_csmm_button_color" value="<?php esc_attr_e( $signals_csmm_options['button_font_color'] ); ?>" placeholder="<?php _e( 'Font color for the Button text', 'signals' ); ?>" class="signals-form-control color jscolor {required:false}">
119
 
120
- <p class="signals-form-help-block"><?php _e( 'Select font color for the button text.', 'signals' ); ?></p>
121
  </div>
122
  </div>
123
 
124
  <div class="signals-double-group signals-clearfix">
125
  <div class="signals-form-group">
126
- <label for="signals_csmm_input_bg" class="signals-strong"><?php _e( 'Input Background Color', 'signals' ); ?></label>
127
- <input type="text" name="signals_csmm_input_bg" id="signals_csmm_input_bg" value="<?php esc_attr_e( $signals_csmm_options['input_bg'] ); ?>" placeholder="<?php _e( 'Background color for the Input field', 'signals' ); ?>" class="signals-form-control color jscolor {required:false}">
128
 
129
- <p class="signals-form-help-block"><?php _e( 'Select background color for the input text field.', 'signals' ); ?></p>
130
  </div>
131
 
132
  <div class="signals-form-group">
133
- <label for="signals_csmm_button_bg" class="signals-strong"><?php _e( 'Button Background Color', 'signals' ); ?></label>
134
- <input type="text" name="signals_csmm_button_bg" id="signals_csmm_button_bg" value="<?php esc_attr_e( $signals_csmm_options['button_bg'] ); ?>" placeholder="<?php _e( 'Background color for the Button', 'signals' ); ?>" class="signals-form-control color jscolor {required:false}">
135
 
136
- <p class="signals-form-help-block"><?php _e( 'Select background color for the button.', 'signals' ); ?></p>
137
  </div>
138
  </div>
139
 
140
  <div class="signals-double-group signals-clearfix">
141
  <div class="signals-form-group">
142
- <label for="signals_csmm_input_bg_hover" class="signals-strong"><?php _e( 'Input Focus Background Color', 'signals' ); ?></label>
143
- <input type="text" name="signals_csmm_input_bg_hover" id="signals_csmm_input_bg_hover" value="<?php esc_attr_e( $signals_csmm_options['input_bg_hover'] ); ?>" placeholder="<?php _e( 'Background color for the Input field when it gets clicked', 'signals' ); ?>" class="signals-form-control color jscolor {required:false}">
144
 
145
- <p class="signals-form-help-block"><?php _e( 'Select background color for the input text field when it gets clicked.', 'signals' ); ?></p>
146
  </div>
147
 
148
  <div class="signals-form-group">
149
- <label for="signals_csmm_button_bg_hover" class="signals-strong"><?php _e( 'Button Hover Background Color', 'signals' ); ?></label>
150
- <input type="text" name="signals_csmm_button_bg_hover" id="signals_csmm_button_bg_hover" value="<?php esc_attr_e( $signals_csmm_options['button_bg_hover'] ); ?>" placeholder="<?php _e( 'Background color for the Button on hover', 'signals' ); ?>" class="signals-form-control color jscolor {required:false}">
151
 
152
- <p class="signals-form-help-block"><?php _e( 'Select background color for the button on mouse hover.', 'signals' ); ?></p>
153
  </div>
154
  </div>
155
 
156
  <div class="signals-double-group signals-clearfix">
157
  <div class="signals-form-group">
158
- <label for="signals_csmm_input_border" class="signals-strong"><?php _e( 'Input Border Color', 'signals' ); ?></label>
159
- <input type="text" name="signals_csmm_input_border" id="signals_csmm_input_border" value="<?php esc_attr_e( $signals_csmm_options['input_border'] ); ?>" placeholder="<?php _e( 'Border color for the Input field', 'signals' ); ?>" class="signals-form-control color jscolor {required:false}">
160
 
161
- <p class="signals-form-help-block"><?php _e( 'Select border color for the input field.', 'signals' ); ?></p>
162
  </div>
163
 
164
  <div class="signals-form-group">
165
- <label for="signals_csmm_button_border" class="signals-strong"><?php _e( 'Button Border Color', 'signals' ); ?></label>
166
- <input type="text" name="signals_csmm_button_border" id="signals_csmm_button_border" value="<?php esc_attr_e( $signals_csmm_options['button_border'] ); ?>" placeholder="<?php _e( 'Border color for the Button', 'signals' ); ?>" class="signals-form-control color jscolor {required:false}">
167
 
168
- <p class="signals-form-help-block"><?php _e( 'Select border color for the button.', 'signals' ); ?></p>
169
  </div>
170
  </div>
171
 
172
  <div class="signals-double-group signals-clearfix">
173
  <div class="signals-form-group">
174
- <label for="signals_csmm_input_border_hover" class="signals-strong"><?php _e( 'Input Focus Border Color', 'signals' ); ?> </label>
175
- <input type="text" name="signals_csmm_input_border_hover" id="signals_csmm_input_border_hover" value="<?php esc_attr_e( $signals_csmm_options['input_border_hover'] ); ?>" placeholder="<?php _e( 'Border color for the Input field when it gets clicked', 'signals' ); ?>" class="signals-form-control color jscolor {required:false}">
176
 
177
- <p class="signals-form-help-block"><?php _e( 'Select border color for the input field when it gets clicked.', 'signals' ); ?></p>
178
  </div>
179
 
180
  <div class="signals-form-group">
181
- <label for="signals_csmm_button_border_hover" class="signals-strong"><?php _e( 'Button Hover Border Color', 'signals' ); ?> </label>
182
- <input type="text" name="signals_csmm_button_border_hover" id="signals_csmm_button_border_hover" value="<?php esc_attr_e( $signals_csmm_options['button_border_hover'] ); ?>" placeholder="<?php _e( 'Border color for the Button on hover', 'signals' ); ?>" class="signals-form-control color jscolor {required:false}">
183
 
184
- <p class="signals-form-help-block"><?php _e( 'Select border color for the button on mouse hover.', 'signals' ); ?></p>
185
  </div>
186
  </div>
187
 
@@ -189,39 +189,39 @@ if (!defined('WPINC')) {
189
  <div class="signals-form-group">
190
  <label for="form_placeholder_color" class="signals-strong">Input Fields Placeholder Color</label>
191
  <input type="text" name="form_placeholder_color" id="form_placeholder_color" value="<?php esc_attr_e( $signals_csmm_options['form_placeholder_color'] ); ?>" class="signals-form-control color jscolor {required:false}">
192
- <p class="signals-form-help-block"><?php _e( 'Placeholder (default text) color in input fields.', 'signals' ); ?></p>
193
  </div>
194
  </div>
195
 
196
  <div class="signals-double-group signals-clearfix">
197
  <div class="signals-form-group">
198
- <label for="signals_csmm_success_bg" class="signals-strong"><?php _e( 'Success Message Background Color', 'signals' ); ?></span></label>
199
- <input type="text" name="signals_csmm_success_bg" id="signals_csmm_success_bg" value="<?php esc_attr_e( $signals_csmm_options['success_background'] ); ?>" placeholder="<?php _e( 'Background color for the success message', 'signals' ); ?>" class="signals-form-control color jscolor {required:false}">
200
 
201
- <p class="signals-form-help-block"><?php _e( 'Select background color for the success message.', 'signals' ); ?></p>
202
  </div>
203
 
204
  <div class="signals-form-group">
205
- <label for="signals_csmm_success_color" class="signals-strong"><?php _e( 'Success Message Text Color', 'signals' ); ?> </label>
206
- <input type="text" name="signals_csmm_success_color" id="signals_csmm_success_color" value="<?php esc_attr_e( $signals_csmm_options['success_color'] ); ?>" placeholder="<?php _e( 'Text color for the success message', 'signals' ); ?>" class="signals-form-control color jscolor {required:false}">
207
 
208
- <p class="signals-form-help-block"><?php _e( 'Select text color for the success message.', 'signals' ); ?></p>
209
  </div>
210
  </div>
211
 
212
  <div class="signals-double-group signals-clearfix">
213
  <div class="signals-form-group">
214
- <label for="signals_csmm_error_bg" class="signals-strong"><?php _e( 'Error Message Background Color', 'signals' ); ?></span></label>
215
- <input type="text" name="signals_csmm_error_bg" id="signals_csmm_error_bg" value="<?php esc_attr_e( $signals_csmm_options['error_background'] ); ?>" placeholder="<?php _e( 'Background color for the error message', 'signals' ); ?>" class="signals-form-control color jscolor {required:false}">
216
 
217
- <p class="signals-form-help-block"><?php _e( 'Select background color for the error message.', 'signals' ); ?></p>
218
  </div>
219
 
220
  <div class="signals-form-group">
221
- <label for="signals_csmm_error_color" class="signals-strong"><?php _e( 'Error Message Text Color', 'signals' ); ?></label>
222
- <input type="text" name="signals_csmm_error_color" id="signals_csmm_error_color" value="<?php esc_attr_e( $signals_csmm_options['error_color'] ); ?>" placeholder="<?php _e( 'Text color for the error message', 'signals' ); ?>" class="signals-form-control color jscolor {required:false}">
223
 
224
- <p class="signals-form-help-block"><?php _e( 'Select text color for the error message.', 'signals' ); ?></p>
225
  </div>
226
  </div>
227
  </div>
15
 
16
  <div class="signals-tile" id="form">
17
  <div class="signals-tile-body">
18
+ <div class="signals-tile-title"><?php esc_attr_e( 'FORM', 'minimal-coming-soon-maintenance-mode' ); ?></div>
19
+ <p><?php esc_attr_e( 'Leads are the lifeline of any business. Make sure your form looks trustworthy. Configure technical details on the <a href="#email" class="csmm-change-tab">email tab</a>.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
20
 
21
 
22
  <div id="csmm-setting-form-mc" style="<?php if ($signals_csmm_options['mail_system_to_use'] != 'mc') echo 'display: none;' ?>">
23
  <div class="signals-section-content">
24
  <div class="signals-double-group signals-clearfix">
25
  <div class="signals-form-group">
26
+ <label for="signals_csmm_input_text" class="signals-strong"><?php esc_attr_e( 'Input Text', 'minimal-coming-soon-maintenance-mode' ); ?></label>
27
+ <input type="text" name="signals_csmm_input_text" id="signals_csmm_input_text" value="<?php esc_attr_e( stripslashes( $signals_csmm_options['input_text'] ) ); ?>" placeholder="<?php esc_attr_e( 'Text for the Input field', 'minimal-coming-soon-maintenance-mode' ); ?>" class="signals-form-control">
28
 
29
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Enter the text which you would like to use as a placeholder text for the text input field.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
30
  </div>
31
 
32
  <div class="signals-form-group">
33
+ <label for="signals_csmm_button_text" class="signals-strong"><?php esc_attr_e( 'Button Text', 'minimal-coming-soon-maintenance-mode' ); ?></label>
34
+ <input type="text" name="signals_csmm_button_text" id="signals_csmm_button_text" value="<?php esc_attr_e( stripslashes( $signals_csmm_options['button_text'] ) ); ?>" placeholder="<?php esc_attr_e( 'Text for the Button', 'minimal-coming-soon-maintenance-mode' ); ?>" class="signals-form-control">
35
 
36
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Enter the text for the button. Usually, it will be "Subscribe" or something like that.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
37
  </div>
38
  </div>
39
 
40
  <div class="signals-double-group signals-clearfix">
41
  <div class="signals-form-group">
42
+ <label for="signals_csmm_gdpr_text" class="signals-strong"><?php esc_attr_e( 'GDPR Consent Checkbox Text', 'minimal-coming-soon-maintenance-mode' ); ?></label>
43
+ <textarea name="signals_csmm_gdpr_text" id="signals_csmm_gdpr_text" placeholder="" class="signals-form-control" rows="3"><?php echo esc_textarea( stripslashes( $signals_csmm_options['gdpr_text'] ) ); ?></textarea>
44
 
45
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Checkbox and the text above are displayed below the form email field. User has to check the checkbox in order to subscribe. Leave the field empty if you don\'t want to display the checkbox.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
46
  </div>
47
 
48
  <div class="signals-form-group">
49
+ <label for="signals_csmm_gdpr_fail" class="signals-strong"><?php esc_attr_e( 'GDPR Consent Fail Notice', 'minimal-coming-soon-maintenance-mode' ); ?></label>
50
+ <textarea name="signals_csmm_gdpr_fail" id="signals_csmm_gdpr_fail" placeholder="" class="signals-form-control" rows="3"><?php echo esc_textarea( stripslashes( $signals_csmm_options['gdpr_fail'] ) ); ?></textarea>
51
 
52
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Alert text shown when user does not comply with the GPDR consent checkbox.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
53
  </div>
54
 
55
  </div>
56
 
57
  <div class="signals-double-group signals-clearfix">
58
  <div class="signals-form-group">
59
+ <label for="signals_csmm_ignore_styles" class="signals-strong"><?php esc_attr_e( 'Ignore Default Form Styles?', 'minimal-coming-soon-maintenance-mode' ); ?></label>
60
  <input type="checkbox" class="signals-form-ios" name="signals_csmm_ignore_styles" id="signals_csmm_ignore_styles" value="1"<?php checked( '1', $signals_csmm_options['ignore_form_styles'] ); ?>>
61
 
62
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Enable this option if you would like to use your custom form styles. The settings below will only be applicable when this option is turned on.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
63
  </div>
64
 
65
  <div class="signals-form-group">
71
 
72
  <div class="signals-double-group signals-clearfix">
73
  <div class="signals-form-group">
74
+ <label for="signals_csmm_input_size" class="signals-strong"><?php esc_attr_e( 'Input Text Size', 'minimal-coming-soon-maintenance-mode' ); ?></label>
75
 
76
  <select name="signals_csmm_input_size" id="signals_csmm_input_size">
77
  <?php
78
 
79
  // Loading font sizes with the help of a loop
80
  for ( $i = 11; $i < 41; $i++ ) {
81
+ echo '<option value="' . esc_attr($i) . '"' . selected( $signals_csmm_options['input_font_size'], $i ) . '>' . esc_attr($i) . __( 'px', 'minimal-coming-soon-maintenance-mode' ) . '</option>';
82
  }
83
 
84
  ?>
85
  </select>
86
 
87
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Font size for the text input field.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
88
  </div>
89
 
90
  <div class="signals-form-group">
91
+ <label for="signals_csmm_button_size" class="signals-strong"><?php esc_attr_e( 'Button Text Size', 'minimal-coming-soon-maintenance-mode' ); ?></label>
92
 
93
  <select name="signals_csmm_button_size" id="signals_csmm_button_size">
94
  <?php
95
 
96
  // Loading font sizes with the help of a loop
97
  for ( $i = 11; $i < 41; $i++ ) {
98
+ echo '<option value="' . esc_attr($i) . '"' . selected( $signals_csmm_options['button_font_size'], $i ) . '>' . esc_attr($i) . __( 'px', 'minimal-coming-soon-maintenance-mode' ) . '</option>';
99
  }
100
 
101
  ?>
102
  </select>
103
 
104
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Font size for the button text.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
105
  </div>
106
  </div>
107
 
108
  <div class="signals-double-group signals-clearfix">
109
  <div class="signals-form-group">
110
+ <label for="signals_csmm_input_color" class="signals-strong"><?php esc_attr_e( 'Input Text Color', 'minimal-coming-soon-maintenance-mode' ); ?></label>
111
+ <input type="text" name="signals_csmm_input_color" id="signals_csmm_input_color" value="<?php esc_attr_e( $signals_csmm_options['input_font_color'] ); ?>" placeholder="<?php esc_attr_e( 'Font color for the Input text', 'minimal-coming-soon-maintenance-mode' ); ?>" class="signals-form-control color jscolor {required:false}">
112
 
113
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Select font color for the input text field.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
114
  </div>
115
 
116
  <div class="signals-form-group">
117
+ <label for="signals_csmm_button_color" class="signals-strong"><?php esc_attr_e( 'Button Text Color', 'minimal-coming-soon-maintenance-mode' ); ?></label>
118
+ <input type="text" name="signals_csmm_button_color" id="signals_csmm_button_color" value="<?php esc_attr_e( $signals_csmm_options['button_font_color'] ); ?>" placeholder="<?php esc_attr_e( 'Font color for the Button text', 'minimal-coming-soon-maintenance-mode' ); ?>" class="signals-form-control color jscolor {required:false}">
119
 
120
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Select font color for the button text.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
121
  </div>
122
  </div>
123
 
124
  <div class="signals-double-group signals-clearfix">
125
  <div class="signals-form-group">
126
+ <label for="signals_csmm_input_bg" class="signals-strong"><?php esc_attr_e( 'Input Background Color', 'minimal-coming-soon-maintenance-mode' ); ?></label>
127
+ <input type="text" name="signals_csmm_input_bg" id="signals_csmm_input_bg" value="<?php esc_attr_e( $signals_csmm_options['input_bg'] ); ?>" placeholder="<?php esc_attr_e( 'Background color for the Input field', 'minimal-coming-soon-maintenance-mode' ); ?>" class="signals-form-control color jscolor {required:false}">
128
 
129
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Select background color for the input text field.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
130
  </div>
131
 
132
  <div class="signals-form-group">
133
+ <label for="signals_csmm_button_bg" class="signals-strong"><?php esc_attr_e( 'Button Background Color', 'minimal-coming-soon-maintenance-mode' ); ?></label>
134
+ <input type="text" name="signals_csmm_button_bg" id="signals_csmm_button_bg" value="<?php esc_attr_e( $signals_csmm_options['button_bg'] ); ?>" placeholder="<?php esc_attr_e( 'Background color for the Button', 'minimal-coming-soon-maintenance-mode' ); ?>" class="signals-form-control color jscolor {required:false}">
135
 
136
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Select background color for the button.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
137
  </div>
138
  </div>
139
 
140
  <div class="signals-double-group signals-clearfix">
141
  <div class="signals-form-group">
142
+ <label for="signals_csmm_input_bg_hover" class="signals-strong"><?php esc_attr_e( 'Input Focus Background Color', 'minimal-coming-soon-maintenance-mode' ); ?></label>
143
+ <input type="text" name="signals_csmm_input_bg_hover" id="signals_csmm_input_bg_hover" value="<?php esc_attr_e( $signals_csmm_options['input_bg_hover'] ); ?>" placeholder="<?php esc_attr_e( 'Background color for the Input field when it gets clicked', 'minimal-coming-soon-maintenance-mode' ); ?>" class="signals-form-control color jscolor {required:false}">
144
 
145
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Select background color for the input text field when it gets clicked.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
146
  </div>
147
 
148
  <div class="signals-form-group">
149
+ <label for="signals_csmm_button_bg_hover" class="signals-strong"><?php esc_attr_e( 'Button Hover Background Color', 'minimal-coming-soon-maintenance-mode' ); ?></label>
150
+ <input type="text" name="signals_csmm_button_bg_hover" id="signals_csmm_button_bg_hover" value="<?php esc_attr_e( $signals_csmm_options['button_bg_hover'] ); ?>" placeholder="<?php esc_attr_e( 'Background color for the Button on hover', 'minimal-coming-soon-maintenance-mode' ); ?>" class="signals-form-control color jscolor {required:false}">
151
 
152
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Select background color for the button on mouse hover.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
153
  </div>
154
  </div>
155
 
156
  <div class="signals-double-group signals-clearfix">
157
  <div class="signals-form-group">
158
+ <label for="signals_csmm_input_border" class="signals-strong"><?php esc_attr_e( 'Input Border Color', 'minimal-coming-soon-maintenance-mode' ); ?></label>
159
+ <input type="text" name="signals_csmm_input_border" id="signals_csmm_input_border" value="<?php esc_attr_e( $signals_csmm_options['input_border'] ); ?>" placeholder="<?php esc_attr_e( 'Border color for the Input field', 'minimal-coming-soon-maintenance-mode' ); ?>" class="signals-form-control color jscolor {required:false}">
160
 
161
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Select border color for the input field.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
162
  </div>
163
 
164
  <div class="signals-form-group">
165
+ <label for="signals_csmm_button_border" class="signals-strong"><?php esc_attr_e( 'Button Border Color', 'minimal-coming-soon-maintenance-mode' ); ?></label>
166
+ <input type="text" name="signals_csmm_button_border" id="signals_csmm_button_border" value="<?php esc_attr_e( $signals_csmm_options['button_border'] ); ?>" placeholder="<?php esc_attr_e( 'Border color for the Button', 'minimal-coming-soon-maintenance-mode' ); ?>" class="signals-form-control color jscolor {required:false}">
167
 
168
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Select border color for the button.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
169
  </div>
170
  </div>
171
 
172
  <div class="signals-double-group signals-clearfix">
173
  <div class="signals-form-group">
174
+ <label for="signals_csmm_input_border_hover" class="signals-strong"><?php esc_attr_e( 'Input Focus Border Color', 'minimal-coming-soon-maintenance-mode' ); ?> </label>
175
+ <input type="text" name="signals_csmm_input_border_hover" id="signals_csmm_input_border_hover" value="<?php esc_attr_e( $signals_csmm_options['input_border_hover'] ); ?>" placeholder="<?php esc_attr_e( 'Border color for the Input field when it gets clicked', 'minimal-coming-soon-maintenance-mode' ); ?>" class="signals-form-control color jscolor {required:false}">
176
 
177
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Select border color for the input field when it gets clicked.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
178
  </div>
179
 
180
  <div class="signals-form-group">
181
+ <label for="signals_csmm_button_border_hover" class="signals-strong"><?php esc_attr_e( 'Button Hover Border Color', 'minimal-coming-soon-maintenance-mode' ); ?> </label>
182
+ <input type="text" name="signals_csmm_button_border_hover" id="signals_csmm_button_border_hover" value="<?php esc_attr_e( $signals_csmm_options['button_border_hover'] ); ?>" placeholder="<?php esc_attr_e( 'Border color for the Button on hover', 'minimal-coming-soon-maintenance-mode' ); ?>" class="signals-form-control color jscolor {required:false}">
183
 
184
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Select border color for the button on mouse hover.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
185
  </div>
186
  </div>
187
 
189
  <div class="signals-form-group">
190
  <label for="form_placeholder_color" class="signals-strong">Input Fields Placeholder Color</label>
191
  <input type="text" name="form_placeholder_color" id="form_placeholder_color" value="<?php esc_attr_e( $signals_csmm_options['form_placeholder_color'] ); ?>" class="signals-form-control color jscolor {required:false}">
192
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Placeholder (default text) color in input fields.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
193
  </div>
194
  </div>
195
 
196
  <div class="signals-double-group signals-clearfix">
197
  <div class="signals-form-group">
198
+ <label for="signals_csmm_success_bg" class="signals-strong"><?php esc_attr_e( 'Success Message Background Color', 'minimal-coming-soon-maintenance-mode' ); ?></span></label>
199
+ <input type="text" name="signals_csmm_success_bg" id="signals_csmm_success_bg" value="<?php esc_attr_e( $signals_csmm_options['success_background'] ); ?>" placeholder="<?php esc_attr_e( 'Background color for the success message', 'minimal-coming-soon-maintenance-mode' ); ?>" class="signals-form-control color jscolor {required:false}">
200
 
201
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Select background color for the success message.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
202
  </div>
203
 
204
  <div class="signals-form-group">
205
+ <label for="signals_csmm_success_color" class="signals-strong"><?php esc_attr_e( 'Success Message Text Color', 'minimal-coming-soon-maintenance-mode' ); ?> </label>
206
+ <input type="text" name="signals_csmm_success_color" id="signals_csmm_success_color" value="<?php esc_attr_e( $signals_csmm_options['success_color'] ); ?>" placeholder="<?php esc_attr_e( 'Text color for the success message', 'minimal-coming-soon-maintenance-mode' ); ?>" class="signals-form-control color jscolor {required:false}">
207
 
208
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Select text color for the success message.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
209
  </div>
210
  </div>
211
 
212
  <div class="signals-double-group signals-clearfix">
213
  <div class="signals-form-group">
214
+ <label for="signals_csmm_error_bg" class="signals-strong"><?php esc_attr_e( 'Error Message Background Color', 'minimal-coming-soon-maintenance-mode' ); ?></span></label>
215
+ <input type="text" name="signals_csmm_error_bg" id="signals_csmm_error_bg" value="<?php esc_attr_e( $signals_csmm_options['error_background'] ); ?>" placeholder="<?php esc_attr_e( 'Background color for the error message', 'minimal-coming-soon-maintenance-mode' ); ?>" class="signals-form-control color jscolor {required:false}">
216
 
217
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Select background color for the error message.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
218
  </div>
219
 
220
  <div class="signals-form-group">
221
+ <label for="signals_csmm_error_color" class="signals-strong"><?php esc_attr_e( 'Error Message Text Color', 'minimal-coming-soon-maintenance-mode' ); ?></label>
222
+ <input type="text" name="signals_csmm_error_color" id="signals_csmm_error_color" value="<?php esc_attr_e( $signals_csmm_options['error_color'] ); ?>" placeholder="<?php esc_attr_e( 'Text color for the error message', 'minimal-coming-soon-maintenance-mode' ); ?>" class="signals-form-control color jscolor {required:false}">
223
 
224
+ <p class="signals-form-help-block"><?php esc_attr_e( 'Select text color for the error message.', 'minimal-coming-soon-maintenance-mode' ); ?></p>
225
  </div>
226
  </div>
227
  </div>
framework/admin/views/settings-pro.php CHANGED
@@ -9,7 +9,7 @@ if (!defined('WPINC')) {
9
  <div class="signals-tile" id="pro">
10
  <div class="signals-tile-body">
11
  <div class="signals-tile-title">Coming Soon &amp; Maintenance Mode PRO - Save time &amp; money when building pages</div>
12
- <p>PRO version of the plugin gives you access to numerous <a href="<?php echo csmm_generate_web_link('pro-header', '/features/'); ?>" target="_blank">advanced features</a> including best-in-class SEO options, gallery of over a million images, 100+ themes, 10+ page modules, and refined access control options.</p>
13
 
14
  <div class="signals-section-content">
15
  <table id="pricing-table">
@@ -99,74 +99,74 @@ if (!defined('WPINC')) {
99
  if ($new_prices) {
100
  ?>
101
  <td>
102
- <a data-gumroad-single-product="true" class="promo-button go-to-license-key" href="https://gum.co/csmm-pro-yearly/olduser/?monthly=true&plugin_info=CSMM+v<?php echo csmm_get_plugin_version(); ?>" target="_blank">BUY NOW &RightArrow; 25% OFF<br><del>$7.99</del> $5.99<small> /month</small></a>
103
- <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span>
104
  100% No-Risk 7 Days Money Back Guarantee</span>
105
  </td>
106
  <td>
107
- <a data-gumroad-single-product="true" class="promo-button go-to-license-key" href="https://gum.co/csmm-pro-lifetime/newprice/?wanted=true&plugin_info=CSMM+v<?php echo csmm_get_plugin_version(); ?>" target="_blank">BUY NOW &RightArrow; 50% OFF<br><del>$79</del> $39</a>
108
- <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span>
109
  100% No-Risk 7 Days Money Back Guarantee</span>
110
  </td>
111
  <td>
112
- <a data-gumroad-single-product="true" class="promo-button go-to-license-key" href="https://gum.co/csmm-agency-lifetime/newprices/?wanted=true&plugin_info=CSMM+v<?php echo csmm_get_plugin_version(); ?>" target="_blank">BUY NOW &RightArrow; 50% OFF<br><del>$199</del> $99</a>
113
- <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span>
114
  100% No-Risk 7 Days Money Back Guarantee</span>
115
  </td>
116
  <?php
117
  } elseif ((time() - $meta['first_install_gmt']) < $promo_delta) {
118
  ?>
119
  <td>
120
- <a data-gumroad-single-product="true" class="promo-button go-to-license-key" href="https://gum.co/csmm-agency-lifetime/welcome/?wanted=true&plugin_info=CSMM+v<?php echo csmm_get_plugin_version(); ?>" target="_blank">BUY NOW - $60 OFF<br><del>$199</del> $139<br><span style="font-weight: normal;">Discount ends in <span class="mm-countdown" data-endtime="<?php echo $meta['first_install_gmt'] + $promo_delta; ?>" style="">59 min</span></span></a>
121
- <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span>
122
  100% No-Risk 7 Days Money Back Guarantee</span>
123
  </td>
124
  <td>
125
- <a data-gumroad-single-product="true" class="promo-button go-to-license-key" href="https://gum.co/csmm-pro-lifetime/welcome/?wanted=true&plugin_info=CSMM+v<?php echo csmm_get_plugin_version(); ?>" target="_blank">BUY NOW - 25% OFF<br><del>$79</del> $59<br><span style="font-weight: normal;">Discount ends in <span class="mm-countdown" data-endtime="<?php echo $meta['first_install_gmt'] + $promo_delta; ?>" style="">59 min</span></span></a>
126
- <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span>
127
  100% No-Risk 7 Days Money Back Guarantee</span>
128
  </td>
129
  <td>
130
- <a data-gumroad-single-product="true" class="promo-button go-to-license-key" href="https://gum.co/csmm-pro-yearly/welcome/?monthly=true&plugin_info=CSMM+v<?php echo csmm_get_plugin_version(); ?>" target="_blank">BUY NOW - 25% OFF<br><del>$7.99</del> $5.99<small> /month</small><br><span style="font-weight: normal;">Discount ends in <span class="mm-countdown" data-endtime="<?php echo $meta['first_install_gmt'] + $promo_delta; ?>" style="">59 min</span></span></a>
131
- <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span>
132
  100% No-Risk 7 Days Money Back Guarantee</span>
133
  </td>
134
  <?php
135
  } elseif ((time() - $meta['first_install_gmt']) > $promo_delta2) {
136
  ?>
137
  <td>
138
- <a data-gumroad-single-product="true" class="promo-button go-to-license-key" href="https://gum.co/csmm-agency-lifetime/olduser/?wanted=true&plugin_info=CSMM+v<?php echo csmm_get_plugin_version(); ?>" target="_blank">BUY NOW - $60 OFF<br><del>$199</del> $139</a>
139
- <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span>
140
  100% No-Risk 7 Days Money Back Guarantee</span>
141
  </td>
142
  <td>
143
- <a data-gumroad-single-product="true" class="promo-button go-to-license-key" href="https://gum.co/csmm-pro-lifetime/olduser/?wanted=true&plugin_info=CSMM+v<?php echo csmm_get_plugin_version(); ?>" target="_blank">BUY NOW - 25% OFF<br><del>$79</del> $59</a>
144
- <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span>
145
  100% No-Risk 7 Days Money Back Guarantee</span>
146
  </td>
147
  <td>
148
- <a data-gumroad-single-product="true" class="promo-button go-to-license-key" href="https://gum.co/csmm-pro-yearly/olduser/?monthly=true&plugin_info=CSMM+v<?php echo csmm_get_plugin_version(); ?>" target="_blank">BUY NOW - 25% OFF<br><del>$7.99</del> $5.99<small> /month</small></a>
149
- <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span>
150
  100% No-Risk 7 Days Money Back Guarantee</span>
151
  </td>
152
  <?php
153
  } else {
154
  ?>
155
  <td>
156
- <a data-gumroad-single-product="true" class="promo-button go-to-license-key" href="https://gum.co/csmm-agency-lifetime/?wanted=true&plugin_info=CSMM+v<?php echo csmm_get_plugin_version(); ?>" target="_blank">BUY
157
  NOW<br>$199</a>
158
- <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span>
159
  100% No-Risk 7 Days Money Back Guarantee</span>
160
  </td>
161
  <td>
162
- <a data-gumroad-single-product="true" class="promo-button go-to-license-key" href="https://gum.co/csmm-pro-lifetime/?wanted=true&plugin_info=CSMM+v<?php echo csmm_get_plugin_version(); ?>" target="_blank">BUY
163
  NOW<br>$79</a>
164
- <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span>
165
  100% No-Risk 7 Days Money Back Guarantee</span>
166
  </td>
167
  <td>
168
- <a data-gumroad-single-product="true" class="promo-button go-to-license-key" href="https://gum.co/csmm-pro-yearly/olduser/?monthly=true&plugin_info=CSMM+v<?php echo csmm_get_plugin_version(); ?>" target="_blank">BUY NOW - 25% OFF<br><del>$7.99</del> $5.99<small> /month</small></a>
169
- <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span>
170
  100% No-Risk 7 Days Money Back Guarantee</span>
171
  </td>
172
  <?php
@@ -221,7 +221,7 @@ if (!defined('WPINC')) {
221
  </tr>
222
  </table>
223
 
224
- <p class="below-pricing">Find out more about the <b>PRO features</b> on the plugin's site - <a href="<?php echo csmm_generate_web_link('find-out-more'); ?>" target="_blank">comingsoonwp.com</a></p>
225
 
226
  <hr id="pricing-table-above">
227
 
@@ -229,7 +229,7 @@ if (!defined('WPINC')) {
229
  <?php
230
  global $csmm_lc;
231
  echo '<p>The License key is visible on the confirmation screen, right after purchasing. You can also find it in the confirmation email sent to the email address provided on purchase. Or use keys created with the <a href="https://dashboard.comingsoonwp.com/licenses/" target="_blank">license manager</a>.</p>
232
- <p>If you don\'t have a license - <a class="scrollto" href="#pricing-table">purchase one now</a>. In case of problems with the license please <a href="' . csmm_generate_web_link('pro-tab-license', '/contact/') . '" target="_blank">contact support</a>.</p>';
233
 
234
  echo '<hr>';
235
  echo '<p><label for="csmm-license-key">License Key: </label><input class="regular-text" type="text" id="signals_csmm_license_key" value="' . ($csmm_lc->get_license('license_key') != 'keyless' ? esc_attr($csmm_lc->get_license('license_key')) : '') . '" placeholder="12345678-12345678-12345678-12345678">';
@@ -238,8 +238,8 @@ if (!defined('WPINC')) {
238
  if ($csmm_lc->is_active()) {
239
  $license_formatted = $csmm_lc->get_license_formatted();
240
  echo '<b style="color: #66b317;">Active</b><br>
241
- <label>Type: </label>' . $license_formatted['name_long'];
242
- echo '<br><label>Valid: </label>' . $license_formatted['valid_until'];
243
 
244
  echo '<p class="center">Thank you for purchasing Coming Soon &amp; Maintenance Mode PRO! <b>Your license has been verified and activated.</b> ';
245
  echo '<br>To start using the PRO version, please follow these steps:</p>';
@@ -253,7 +253,7 @@ if (!defined('WPINC')) {
253
  } else { // not active
254
  echo '<strong style="color: #ea1919;">Inactive</strong>';
255
  if (!empty($csmm_lc->get_license('error'))) {
256
- echo '<br><label>Error: </label>' . $csmm_lc->get_license('error');
257
  }
258
  }
259
  echo '</p>';
@@ -267,7 +267,7 @@ if (!defined('WPINC')) {
267
  echo '&nbsp; &nbsp;<a href="#" data-text-wait="Activating. Please wait." class="signals-btn signals-btn-secondary" id="csmm_keyless_activation">Keyless Activation</a>';
268
  }
269
  echo '</p>';
270
- echo '<p class="mb0"><small><i>By attempting to activate a license you agree to share the following data with <a target="_blank" href="https://www.webfactoryltd.com/">WebFactory Ltd</a>: license key, site URL, site title, site WP version, and Coming Soon &amp; Maintenance Mode (free) version.</i></small>';
271
  echo '</p>';
272
  ?>
273
  </div>
9
  <div class="signals-tile" id="pro">
10
  <div class="signals-tile-body">
11
  <div class="signals-tile-title">Coming Soon &amp; Maintenance Mode PRO - Save time &amp; money when building pages</div>
12
+ <p>PRO version of the plugin gives you access to numerous <a href="<?php echo esc_url(csmm_generate_web_link('pro-header', '/features/')); ?>" target="_blank">advanced features</a> including best-in-class SEO options, gallery of over a million images, 100+ themes, 10+ page modules, and refined access control options.</p>
13
 
14
  <div class="signals-section-content">
15
  <table id="pricing-table">
99
  if ($new_prices) {
100
  ?>
101
  <td>
102
+ <a data-gumroad-single-product="true" class="promo-button go-to-license-key" href="https://gum.co/csmm-pro-yearly/olduser/?monthly=true&plugin_info=CSMM+free" target="_blank">BUY NOW &RightArrow; 25% OFF<br><del>$7.99</del> $5.99<small> /month</small></a>
103
+ <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment via Gumroad<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span>
104
  100% No-Risk 7 Days Money Back Guarantee</span>
105
  </td>
106
  <td>
107
+ <a data-gumroad-single-product="true" class="promo-button go-to-license-key" href="https://gum.co/csmm-pro-lifetime/newprice/?wanted=0&plugin_info=CSMM+free" target="_blank">BUY NOW &RightArrow; 50% OFF<br><del>$79</del> $39</a>
108
+ <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment via Gumroad<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span>
109
  100% No-Risk 7 Days Money Back Guarantee</span>
110
  </td>
111
  <td>
112
+ <a data-gumroad-single-product="true" class="promo-button go-to-license-key" href="https://gum.co/csmm-agency-lifetime/newprices/?wanted=0&plugin_info=CSMM+free" target="_blank">BUY NOW &RightArrow; 50% OFF<br><del>$199</del> $99</a>
113
+ <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment via Gumroad<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span>
114
  100% No-Risk 7 Days Money Back Guarantee</span>
115
  </td>
116
  <?php
117
  } elseif ((time() - $meta['first_install_gmt']) < $promo_delta) {
118
  ?>
119
  <td>
120
+ <a data-gumroad-single-product="true" class="promo-button go-to-license-key" href="https://gum.co/csmm-agency-lifetime/welcome/?wanted=0&plugin_info=CSMM+free" target="_blank">BUY NOW - $60 OFF<br><del>$199</del> $139<br><span style="font-weight: normal;">Discount ends in <span class="mm-countdown" data-endtime="<?php echo esc_attr($meta['first_install_gmt'] + $promo_delta); ?>" style="">59 min</span></span></a>
121
+ <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment via Gumroad<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span>
122
  100% No-Risk 7 Days Money Back Guarantee</span>
123
  </td>
124
  <td>
125
+ <a data-gumroad-single-product="true" class="promo-button go-to-license-key" href="https://gum.co/csmm-pro-lifetime/welcome/?wanted=0&plugin_info=CSMM+free" target="_blank">BUY NOW - 25% OFF<br><del>$79</del> $59<br><span style="font-weight: normal;">Discount ends in <span class="mm-countdown" data-endtime="<?php echo esc_attr($meta['first_install_gmt'] + $promo_delta); ?>" style="">59 min</span></span></a>
126
+ <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment via Gumroad<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span>
127
  100% No-Risk 7 Days Money Back Guarantee</span>
128
  </td>
129
  <td>
130
+ <a data-gumroad-single-product="true" class="promo-button go-to-license-key" href="https://gum.co/csmm-pro-yearly/welcome/?monthly=true&plugin_info=CSMM+free" target="_blank">BUY NOW - 25% OFF<br><del>$7.99</del> $5.99<small> /month</small><br><span style="font-weight: normal;">Discount ends in <span class="mm-countdown" data-endtime="<?php echo esc_attr($meta['first_install_gmt'] + $promo_delta); ?>" style="">59 min</span></span></a>
131
+ <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment via Gumroad<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span>
132
  100% No-Risk 7 Days Money Back Guarantee</span>
133
  </td>
134
  <?php
135
  } elseif ((time() - $meta['first_install_gmt']) > $promo_delta2) {
136
  ?>
137
  <td>
138
+ <a data-gumroad-single-product="true" class="promo-button go-to-license-key" href="https://gum.co/csmm-agency-lifetime/olduser/?wanted=0&plugin_info=CSMM+free" target="_blank">BUY NOW - $60 OFF<br><del>$199</del> $139</a>
139
+ <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment via Gumroad<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span>
140
  100% No-Risk 7 Days Money Back Guarantee</span>
141
  </td>
142
  <td>
143
+ <a data-gumroad-single-product="true" class="promo-button go-to-license-key" href="https://gum.co/csmm-pro-lifetime/olduser/?wanted=0&plugin_info=CSMM+free" target="_blank">BUY NOW - 25% OFF<br><del>$79</del> $59</a>
144
+ <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment via Gumroad<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span>
145
  100% No-Risk 7 Days Money Back Guarantee</span>
146
  </td>
147
  <td>
148
+ <a data-gumroad-single-product="true" class="promo-button go-to-license-key" href="https://gum.co/csmm-pro-yearly/olduser/?monthly=true&plugin_info=CSMM+free" target="_blank">BUY NOW - 25% OFF<br><del>$7.99</del> $5.99<small> /month</small></a>
149
+ <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment via Gumroad<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span>
150
  100% No-Risk 7 Days Money Back Guarantee</span>
151
  </td>
152
  <?php
153
  } else {
154
  ?>
155
  <td>
156
+ <a data-gumroad-single-product="true" class="promo-button go-to-license-key" href="https://gum.co/csmm-agency-lifetime/?wanted=0&plugin_info=CSMM+free" target="_blank">BUY
157
  NOW<br>$199</a>
158
+ <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment via Gumroad<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span>
159
  100% No-Risk 7 Days Money Back Guarantee</span>
160
  </td>
161
  <td>
162
+ <a data-gumroad-single-product="true" class="promo-button go-to-license-key" href="https://gum.co/csmm-pro-lifetime/?wanted=0&plugin_info=CSMM+free" target="_blank">BUY
163
  NOW<br>$79</a>
164
+ <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment via Gumroad<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span>
165
  100% No-Risk 7 Days Money Back Guarantee</span>
166
  </td>
167
  <td>
168
+ <a data-gumroad-single-product="true" class="promo-button go-to-license-key" href="https://gum.co/csmm-pro-yearly/olduser/?monthly=true&plugin_info=CSMM+free" target="_blank">BUY NOW - 25% OFF<br><del>$7.99</del> $5.99<small> /month</small></a>
169
+ <span class="instant-download"><span class="dashicons dashicons-yes"></span> Secure payment via Gumroad<br><span class="dashicons dashicons-yes"></span> Instant activation from WordPress admin<br><span class="dashicons dashicons-yes"></span>
170
  100% No-Risk 7 Days Money Back Guarantee</span>
171
  </td>
172
  <?php
221
  </tr>
222
  </table>
223
 
224
+ <p class="below-pricing">Find out more about the <b>PRO features</b> on the plugin's site - <a href="<?php echo esc_url(csmm_generate_web_link('find-out-more')); ?>" target="_blank">comingsoonwp.com</a></p>
225
 
226
  <hr id="pricing-table-above">
227
 
229
  <?php
230
  global $csmm_lc;
231
  echo '<p>The License key is visible on the confirmation screen, right after purchasing. You can also find it in the confirmation email sent to the email address provided on purchase. Or use keys created with the <a href="https://dashboard.comingsoonwp.com/licenses/" target="_blank">license manager</a>.</p>
232
+ <p>If you don\'t have a license - <a class="scrollto" href="#pricing-table">purchase one now</a>. In case of problems with the license please <a href="' . esc_url(csmm_generate_web_link('pro-tab-license', '/contact/')) . '" target="_blank">contact support</a>.</p>';
233
 
234
  echo '<hr>';
235
  echo '<p><label for="csmm-license-key">License Key: </label><input class="regular-text" type="text" id="signals_csmm_license_key" value="' . ($csmm_lc->get_license('license_key') != 'keyless' ? esc_attr($csmm_lc->get_license('license_key')) : '') . '" placeholder="12345678-12345678-12345678-12345678">';
238
  if ($csmm_lc->is_active()) {
239
  $license_formatted = $csmm_lc->get_license_formatted();
240
  echo '<b style="color: #66b317;">Active</b><br>
241
+ <label>Type: </label>' . esc_html($license_formatted['name_long']);
242
+ echo '<br><label>Valid: </label>' . esc_html($license_formatted['valid_until']);
243
 
244
  echo '<p class="center">Thank you for purchasing Coming Soon &amp; Maintenance Mode PRO! <b>Your license has been verified and activated.</b> ';
245
  echo '<br>To start using the PRO version, please follow these steps:</p>';
253
  } else { // not active
254
  echo '<strong style="color: #ea1919;">Inactive</strong>';
255
  if (!empty($csmm_lc->get_license('error'))) {
256
+ echo '<br><label>Error: </label>' . esc_html($csmm_lc->get_license('error'));
257
  }
258
  }
259
  echo '</p>';
267
  echo '&nbsp; &nbsp;<a href="#" data-text-wait="Activating. Please wait." class="signals-btn signals-btn-secondary" id="csmm_keyless_activation">Keyless Activation</a>';
268
  }
269
  echo '</p>';
270
+ echo '<p class="mb0"><i>By attempting to activate the license you agree to share the following data with <a target="_blank" href="https://www.webfactoryltd.com/">WebFactory Ltd</a>: license key, site URL, site title, site WP version, and Coming Soon &amp; Maintenance Mode (free) version.</i>';
271
  echo '</p>';
272
  ?>
273
  </div>
framework/admin/views/settings-support.php CHANGED
@@ -15,7 +15,7 @@ if (!defined('WPINC')) {
15
 
16
  <div class="signals-tile" id="support">
17
  <div class="signals-tile-body">
18
- <div class="signals-tile-title"><?php _e( 'SUPPORT', 'signals' ); ?></div>
19
  <p>Report issues to our support system and we will get back to you ASAP. If our support did a great job please <a target="_blank" href="https://wordpress.org/support/plugin/minimal-coming-soon-maintenance-mode/reviews/#new-post" title="Let others know how you like the plugin">rate the plugin ★★★★★</a>. Thank you!</p>
20
 
21
  <div class="signals-section-content signals-support-form">
@@ -29,12 +29,12 @@ If something is not working, don't think twice;</p><p><a class="button" href="ht
29
  <label for="" class="signals-strong">Site Information</label>
30
  <?php
31
  $theme = wp_get_theme();
32
- echo '<p>WordPress version: <code>' . get_bloginfo('version') . '</code><br>';
33
- echo 'MM Version: <code>' . csmm_get_plugin_version() . '</code><br>';
34
- echo 'PHP Version: <code>' . PHP_VERSION . '</code><br>';
35
- echo 'Site URL: <code>' . get_bloginfo('url') . '</code><br>';
36
- echo 'WordPress URL: <code>' . get_bloginfo('wpurl') . '</code><br>';
37
- echo 'Theme: <code>' . $theme->get('Name') . ' v' . $theme->get('Version') . '</code><br>';
38
  echo '</p>';
39
  ?>
40
  <p class="signals-form-help-block">Please include the info above when opening a support ticket. Our support agents need it to provide faster &amp; better help.</p>
15
 
16
  <div class="signals-tile" id="support">
17
  <div class="signals-tile-body">
18
+ <div class="signals-tile-title"><?php esc_attr_e( 'SUPPORT', 'minimal-coming-soon-maintenance-mode' ); ?></div>
19
  <p>Report issues to our support system and we will get back to you ASAP. If our support did a great job please <a target="_blank" href="https://wordpress.org/support/plugin/minimal-coming-soon-maintenance-mode/reviews/#new-post" title="Let others know how you like the plugin">rate the plugin ★★★★★</a>. Thank you!</p>
20
 
21
  <div class="signals-section-content signals-support-form">
29
  <label for="" class="signals-strong">Site Information</label>
30
  <?php
31
  $theme = wp_get_theme();
32
+ echo '<p>WordPress version: <code>' . esc_attr(get_bloginfo('version')) . '</code><br>';
33
+ echo 'MM Version: <code>' . esc_attr(csmm_get_plugin_version()) . '</code><br>';
34
+ echo 'PHP Version: <code>' . esc_attr(PHP_VERSION) . '</code><br>';
35
+ echo 'Site URL: <code>' . esc_url(get_bloginfo('url')) . '</code><br>';
36
+ echo 'WordPress URL: <code>' . esc_url(get_bloginfo('wpurl')) . '</code><br>';
37
+ echo 'Theme: <code>' . esc_html($theme->get('Name')) . ' v' . esc_attr($theme->get('Version')) . '</code><br>';
38
  echo '</p>';
39
  ?>
40
  <p class="signals-form-help-block">Please include the info above when opening a support ticket. Our support agents need it to provide faster &amp; better help.</p>
framework/admin/views/settings-themes.php CHANGED
@@ -2333,23 +2333,23 @@ array_unshift($themes, array('name' => 'Default', 'name_clean' => 'default', 'st
2333
  <div id="csmm-themes-wrapper" class="signals-section-content">
2334
  <?php
2335
  foreach ($themes as $theme) {
2336
- echo '<div class="theme-thumb" data-theme="' . $theme['name_clean'] . '" data-theme-name="' . $theme['name'] . '">';
2337
  if ($theme['status'] != 'free') {
2338
- echo '<a href="' . csmm_generate_web_link('preview-theme-thumb-' . $theme['name_clean'], 'theme-preview', array('theme' => $theme['name_clean'])) . '" target="_blank"><img src="' . CSMM_URL . '/framework/admin/img/themes/pro/' . $theme['name_clean'] . '.jpg" alt="Preview ' . $theme['name'] . '" title="Preview ' . $theme['name'] . '"></a>';
2339
  } else {
2340
- echo '<img src="' . CSMM_URL . '/framework/admin/img/themes/' . $theme['name_clean'] . '.jpg" alt="' . $theme['name'] . '" title="' . $theme['name'] . '">';
2341
  }
2342
- echo '<span class="name">' . $theme['name'] . ' <small>' . $theme['status'] . ' theme</small></span>';
2343
  echo '<span name="actions">';
2344
  if ($theme['status'] != 'free') {
2345
  echo '<a href="#pro" class="signals-btn csmm-change-tab">Get this theme</a>&nbsp; &nbsp;';
2346
- echo '<a target="_blank" class="signals-btn signals-btn-secondary" href="' . csmm_generate_web_link('preview-theme-' . $theme['name_clean'], 'theme-preview', array('theme' => $theme['name_clean'])) . '">Preview</a>';
2347
  } else {
2348
- echo '<a href="' . add_query_arg(array('action' => 'csmm_activate_theme', 'theme' => $theme['name_clean'], 'redirect' => urlencode($_SERVER['REQUEST_URI']), '_wpnonce' => wp_create_nonce('csmm_activate_theme')), admin_url('admin.php')) . '" class="signals-btn confirm-action" data-confirm="Are you sure you want to activate the selected theme? Customizations you made on the current design will be lost.">Activate</a>&nbsp; &nbsp;';
2349
  }
2350
  echo '</span>';
2351
  if ($theme['status'] != 'free') {
2352
- echo '<div class="ribbon" title="' . ucfirst($theme['status']) . ' theme. Click \'Get this theme\' for more info."><i><span class="dashicons dashicons-star-filled"></span></i></div>';
2353
  }
2354
  echo '</div>';
2355
  } // foreach theme
2333
  <div id="csmm-themes-wrapper" class="signals-section-content">
2334
  <?php
2335
  foreach ($themes as $theme) {
2336
+ echo '<div class="theme-thumb" data-theme="' . esc_attr($theme['name_clean']) . '" data-theme-name="' . esc_attr($theme['name']) . '">';
2337
  if ($theme['status'] != 'free') {
2338
+ echo '<a href="' . esc_url(csmm_generate_web_link('preview-theme-thumb-' . $theme['name_clean'], 'theme-preview', array('theme' => $theme['name_clean']))) . '" target="_blank"><img src="' . esc_url(CSMM_URL) . '/framework/admin/img/themes/pro/' . esc_attr($theme['name_clean']) . '.jpg" alt="Preview ' . esc_attr($theme['name']) . '" title="Preview ' . esc_attr($theme['name']) . '"></a>';
2339
  } else {
2340
+ echo '<img src="' . esc_url(CSMM_URL) . '/framework/admin/img/themes/' . esc_attr($theme['name_clean']) . '.jpg" alt="' . esc_attr($theme['name']) . '" title="' . esc_attr($theme['name']) . '">';
2341
  }
2342
+ echo '<span class="name">' . esc_attr($theme['name']) . ' <small>' . esc_attr($theme['status']) . ' theme</small></span>';
2343
  echo '<span name="actions">';
2344
  if ($theme['status'] != 'free') {
2345
  echo '<a href="#pro" class="signals-btn csmm-change-tab">Get this theme</a>&nbsp; &nbsp;';
2346
+ echo '<a target="_blank" class="signals-btn signals-btn-secondary" href="' . esc_url(csmm_generate_web_link('preview-theme-' . $theme['name_clean'], 'theme-preview', array('theme' => $theme['name_clean']))) . '">Preview</a>';
2347
  } else {
2348
+ echo '<a href="' . esc_url(add_query_arg(array('action' => 'csmm_activate_theme', 'theme' => $theme['name_clean'], 'redirect' => urlencode($_SERVER['REQUEST_URI']), '_wpnonce' => wp_create_nonce('csmm_activate_theme')), admin_url('admin.php'))) . '" class="signals-btn confirm-action" data-confirm="Are you sure you want to activate the selected theme? Customizations you made on the current design will be lost.">Activate</a>&nbsp; &nbsp;';
2349
  }
2350
  echo '</span>';
2351
  if ($theme['status'] != 'free') {
2352
+ echo '<div class="ribbon" title="' . esc_attr(ucfirst($theme['status'])) . ' theme. Click \'Get this theme\' for more info."><i><span class="dashicons dashicons-star-filled"></span></i></div>';
2353
  }
2354
  echo '</div>';
2355
  } // foreach theme
framework/admin/views/settings.php CHANGED
@@ -21,11 +21,11 @@ require_once 'header.php';
21
 
22
  // Display the message if $signals_csmm_err is set
23
  if (!empty($signals_csmm_err)) {
24
- echo $signals_csmm_err;
25
  }
26
 
27
  if (get_transient('csmm_error_msg')) {
28
- echo get_transient('csmm_error_msg');
29
  }
30
 
31
  $current_user = wp_get_current_user();
@@ -44,7 +44,7 @@ require_once 'header.php';
44
  && (time() - $meta['first_install_gmt']) > (DAY_IN_SECONDS / 2)
45
  ) {
46
  echo '<div id="rating-notice"><p>';
47
- echo '<b>Hi' . $name . '!</b><br>We saw you\'ve been using the <b>Minimal Maintenance Mode</b> plugin for some time (that\'s awesome!) and wanted to ask for your help to <b>make the plugin better</b>.<br>It just takes a minute of your time to rate the plugin. It helps us out a lot! Thank you!</p>';
48
  echo '<p><a href="https://wordpress.org/support/plugin/minimal-coming-soon-maintenance-mode/reviews/#new-post" target="_blank" class="button button-flat">Rate the plugin</a>';
49
  echo '<a href="#" id="mm_rate_cancel">I\'ve already rated the plugin</a>';
50
  echo '</p></div>';
@@ -79,20 +79,20 @@ require_once 'header.php';
79
  <div class="signals-float-left">
80
  <div class="signals-mobile-menu">
81
  <a href="#">
82
- <img src="<?php echo CSMM_URL; ?>/framework/admin/img/toggle.png" />
83
  </a>
84
  </div>
85
 
86
  <ul class="signals-main-menu">
87
- <li><a href="#basic"><?php _e('Basic', 'signals'); ?></a></li>
88
- <li><a href="#seo"><?php _e('SEO', 'signals'); ?></a></li>
89
- <li><a href="#themes"><?php _e('Themes', 'signals'); ?></a></li>
90
- <li><a href="#design"><?php _e('Design', 'signals'); ?></a></li>
91
- <li><a href="#email"><?php _e('Email', 'signals'); ?></a></li>
92
- <li><a href="#form"><?php _e('Form', 'signals'); ?></a></li>
93
- <li><a href="#advanced"><?php _e('Advanced', 'signals'); ?></a></li>
94
- <li><a href="#support"><?php _e('Support', 'signals'); ?></a></li>
95
- <li><a style="color: white; background-color: #fe2929;;" href="#pro"><span style="height: auto; font-size: 19px;" class="dashicons dashicons-star-filled"></span> <b><?php _e('PRO', 'signals'); ?></b> <span style="height: auto; font-size: 19px;" class="dashicons dashicons-star-filled"></span></a></li>
96
  </ul>
97
  </div><!-- .signals-float-left -->
98
 
@@ -116,12 +116,12 @@ require_once 'header.php';
116
  <div>
117
  <p class="footer-buttons-left">
118
  <?php wp_nonce_field('csmm_save_settings', 'csmm_save_nonce'); ?>
119
- <button type="submit" name="signals_csmm_submit" class="signals-btn signals-btn-red"><strong><?php _e('Save Changes', 'signals'); ?></strong></button>
120
- <a id="csmm-preview" style="margin: 0 0 0 15px;" href="<?php echo home_url(); ?>/?preview_coming_soon" class="signals-btn" target="_blank"><strong><?php _e('Preview Maintenance Page', 'signals'); ?></strong></a>
121
- <a title="Check out 70+ pixel perfect themes and other great PRO features" style="margin: 0 0 0 15px;" href="#pro" class="signals-btn csmm-change-tab" target="_blank"><span style="font-size: 19px;" class="dashicons dashicons-star-filled"></span> <strong><?php _e('Go PRO', 'signals'); ?></strong> <span style="font-size: 19px;" class="dashicons dashicons-star-filled"></span></a>
122
  </p>
123
  <p class="footer-buttons-right">
124
- <a href="<?php echo csmm_generate_web_link('thank-you-for-creating'); ?>" target="_blank">Minimal Coming Soon & Maintenance Mode</a> v<?php echo csmm_get_plugin_version(); ?>. Please <a target="_blank" href="https://wordpress.org/support/plugin/minimal-coming-soon-maintenance-mode/reviews/#new-post" title="Let others know how you like the plugin">rate the plugin ★★★★★</a> Thank you!
125
  </p>
126
  </div><!-- .signals-tile-body -->
127
  </div><!-- .signals-fixed-save-btn -->
21
 
22
  // Display the message if $signals_csmm_err is set
23
  if (!empty($signals_csmm_err)) {
24
+ CSMM::wp_kses_wf($signals_csmm_err);
25
  }
26
 
27
  if (get_transient('csmm_error_msg')) {
28
+ CSMM::wp_kses_wf(get_transient('csmm_error_msg'));
29
  }
30
 
31
  $current_user = wp_get_current_user();
44
  && (time() - $meta['first_install_gmt']) > (DAY_IN_SECONDS / 2)
45
  ) {
46
  echo '<div id="rating-notice"><p>';
47
+ echo '<b>Hi' . esc_attr($name) . '!</b><br>We saw you\'ve been using the <b>Minimal Maintenance Mode</b> plugin for some time (that\'s awesome!) and wanted to ask for your help to <b>make the plugin better</b>.<br>It just takes a minute of your time to rate the plugin. It helps us out a lot! Thank you!</p>';
48
  echo '<p><a href="https://wordpress.org/support/plugin/minimal-coming-soon-maintenance-mode/reviews/#new-post" target="_blank" class="button button-flat">Rate the plugin</a>';
49
  echo '<a href="#" id="mm_rate_cancel">I\'ve already rated the plugin</a>';
50
  echo '</p></div>';
79
  <div class="signals-float-left">
80
  <div class="signals-mobile-menu">
81
  <a href="#">
82
+ <img src="<?php echo esc_url(CSMM_URL); ?>/framework/admin/img/toggle.png" />
83
  </a>
84
  </div>
85
 
86
  <ul class="signals-main-menu">
87
+ <li><a href="#basic"><?php esc_attr_e('Basic', 'minimal-coming-soon-maintenance-mode'); ?></a></li>
88
+ <li><a href="#seo"><?php esc_attr_e('SEO', 'minimal-coming-soon-maintenance-mode'); ?></a></li>
89
+ <li><a href="#themes"><?php esc_attr_e('Themes', 'minimal-coming-soon-maintenance-mode'); ?></a></li>
90
+ <li><a href="#design"><?php esc_attr_e('Design', 'minimal-coming-soon-maintenance-mode'); ?></a></li>
91
+ <li><a href="#email"><?php esc_attr_e('Email', 'minimal-coming-soon-maintenance-mode'); ?></a></li>
92
+ <li><a href="#form"><?php esc_attr_e('Form', 'minimal-coming-soon-maintenance-mode'); ?></a></li>
93
+ <li><a href="#advanced"><?php esc_attr_e('Advanced', 'minimal-coming-soon-maintenance-mode'); ?></a></li>
94
+ <li><a href="#support"><?php esc_attr_e('Support', 'minimal-coming-soon-maintenance-mode'); ?></a></li>
95
+ <li><a style="color: white; background-color: #fe2929;;" href="#pro"><span style="height: auto; font-size: 19px;" class="dashicons dashicons-star-filled"></span> <b><?php esc_attr_e('PRO', 'minimal-coming-soon-maintenance-mode'); ?></b> <span style="height: auto; font-size: 19px;" class="dashicons dashicons-star-filled"></span></a></li>
96
  </ul>
97
  </div><!-- .signals-float-left -->
98
 
116
  <div>
117
  <p class="footer-buttons-left">
118
  <?php wp_nonce_field('csmm_save_settings', 'csmm_save_nonce'); ?>
119
+ <button type="submit" name="signals_csmm_submit" class="signals-btn signals-btn-red"><strong><?php esc_attr_e('Save Changes', 'minimal-coming-soon-maintenance-mode'); ?></strong></button>
120
+ <a id="csmm-preview" style="margin: 0 0 0 15px;" href="<?php echo esc_url(home_url()); ?>/?preview_coming_soon" class="signals-btn" target="_blank"><strong><?php esc_attr_e('Preview Maintenance Page', 'minimal-coming-soon-maintenance-mode'); ?></strong></a>
121
+ <a title="Check out 70+ pixel perfect themes and other great PRO features" style="margin: 0 0 0 15px;" href="#pro" class="signals-btn csmm-change-tab" target="_blank"><span style="font-size: 19px;" class="dashicons dashicons-star-filled"></span> <strong><?php esc_attr_e('Go PRO', 'minimal-coming-soon-maintenance-mode'); ?></strong> <span style="font-size: 19px;" class="dashicons dashicons-star-filled"></span></a>
122
  </p>
123
  <p class="footer-buttons-right">
124
+ <a href="<?php echo esc_url(csmm_generate_web_link('thank-you-for-creating')); ?>" target="_blank">Minimal Coming Soon & Maintenance Mode</a> v<?php echo esc_attr(csmm_get_plugin_version()); ?>. Please <a target="_blank" href="https://wordpress.org/support/plugin/minimal-coming-soon-maintenance-mode/reviews/#new-post" title="Let others know how you like the plugin">rate the plugin ★★★★★</a> Thank you!
125
  </p>
126
  </div><!-- .signals-tile-body -->
127
  </div><!-- .signals-fixed-save-btn -->
framework/init.php CHANGED
@@ -30,7 +30,7 @@ class CSMM {
30
  // no sense in loading a new CSS file for 2 lines of CSS
31
  $custom_css = '<style type="text/css">#wpadminbar i.csmm-status-dot { font-size: 17px; margin-top: -7px; color: #02ca02; height: 17px; display: inline-block; } #wpadminbar i.csmm-status-dot-enabled { color: #64bd63; } #wpadminbar i.csmm-status-dot-disabled { color: #FE2D2D; } #wpadminbar #csmm-status-wrapper { display: inline; border: 1px solid rgba(240,245,250,0.7); padding: 0; margin: 0 0 0 5px; background: rgb(35, 40, 45); } #wpadminbar .csmm-status-btn { padding: 0 7px; color: #fff; } #wpadminbar #csmm-status-wrapper.off #csmm-status-off { background: #FE2D2D;} #wpadminbar #csmm-status-wrapper.on #csmm-status-on { background: #64bd63; }#wp-admin-bar-csmm img.logo { height: 17px; margin-bottom: 4px; padding-right: 3px; } #wp-admin-bar-csmm a img { height: 18px; margin-bottom: -4px; padding-right: 3px; } #wpadminbar #wp-admin-bar-csmm-status .ab-empty-item { margin-bottom: 2px; }</style>';
32
 
33
- echo $custom_css;
34
  } // admin_bar_style
35
 
36
 
@@ -55,18 +55,18 @@ class CSMM {
55
  }
56
 
57
  if ($options['status'] == '1') {
58
- $main_label = '<img src="' . CSMM_URL . '/framework/admin/img/mm-icon.png" alt="' . __('Maintenance mode is enabled', 'signals') . '" title="' . __('Maintenance mode is enabled', 'signals') . '"> <span class="ab-label">' . __('Maintenance Mode', 'signals') . ' <i class="csmm-status-dot csmm-status-dot-enabled">&#9679;</i></span>';
59
  $class = 'csmm-enabled';
60
  $action_url = add_query_arg(array('action' => 'csmm_change_status', 'new_status' => 'disabled', 'redirect' => urlencode($_SERVER['REQUEST_URI'])), admin_url('admin.php'));
61
  $action_url = wp_nonce_url($action_url, 'csmm_change_status');
62
- $action = __('Maintenance mode', 'signals');
63
  $action .= '<a href="' . $action_url . '" id="csmm-status-wrapper" class="on"><span id="csmm-status-off" class="csmm-status-btn">OFF</span><span id="csmm-status-on" class="csmm-status-btn">ON</span></a>';
64
  } else {
65
- $main_label = '<img src="' . CSMM_URL . '/framework/admin/img/mm-icon.png" alt="' . __('Maintenance mode is disabled', 'signals') . '" title="' . __('Maintenance mode is disabled', 'signals') . '"> <span class="ab-label">' . __('Maintenance Mode', 'signals') . ' <i class="csmm-status-dot csmm-status-dot-disabled">&#9679;</i></span>';
66
  $class = 'csmm-disabled';
67
  $action_url = add_query_arg(array('action' => 'csmm_change_status', 'new_status' => 'enabled', 'redirect' => urlencode($_SERVER['REQUEST_URI'])), admin_url('admin.php'));
68
  $action_url = wp_nonce_url($action_url, 'csmm_change_status');
69
- $action = __('Maintenance mode', 'signals');
70
  $action .= '<a href="' . $action_url . '" id="csmm-status-wrapper" class="off"><span id="csmm-status-off" class="csmm-status-btn">OFF</span><span id="csmm-status-on" class="csmm-status-btn">ON</span></a>';
71
  }
72
 
@@ -126,6 +126,308 @@ class CSMM {
126
 
127
  exit;
128
  } // change_status
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
129
  } // class csmm
130
 
131
  add_action('init', array('CSMM', 'init'));
30
  // no sense in loading a new CSS file for 2 lines of CSS
31
  $custom_css = '<style type="text/css">#wpadminbar i.csmm-status-dot { font-size: 17px; margin-top: -7px; color: #02ca02; height: 17px; display: inline-block; } #wpadminbar i.csmm-status-dot-enabled { color: #64bd63; } #wpadminbar i.csmm-status-dot-disabled { color: #FE2D2D; } #wpadminbar #csmm-status-wrapper { display: inline; border: 1px solid rgba(240,245,250,0.7); padding: 0; margin: 0 0 0 5px; background: rgb(35, 40, 45); } #wpadminbar .csmm-status-btn { padding: 0 7px; color: #fff; } #wpadminbar #csmm-status-wrapper.off #csmm-status-off { background: #FE2D2D;} #wpadminbar #csmm-status-wrapper.on #csmm-status-on { background: #64bd63; }#wp-admin-bar-csmm img.logo { height: 17px; margin-bottom: 4px; padding-right: 3px; } #wp-admin-bar-csmm a img { height: 18px; margin-bottom: -4px; padding-right: 3px; } #wpadminbar #wp-admin-bar-csmm-status .ab-empty-item { margin-bottom: 2px; }</style>';
32
 
33
+ self::wp_kses_wf($custom_css);
34
  } // admin_bar_style
35
 
36
 
55
  }
56
 
57
  if ($options['status'] == '1') {
58
+ $main_label = '<img src="' . CSMM_URL . '/framework/admin/img/mm-icon.png" alt="' . __('Maintenance mode is enabled', 'minimal-coming-soon-maintenance-mode') . '" title="' . __('Maintenance mode is enabled', 'minimal-coming-soon-maintenance-mode') . '"> <span class="ab-label">' . __('Maintenance Mode', 'minimal-coming-soon-maintenance-mode') . ' <i class="csmm-status-dot csmm-status-dot-enabled">&#9679;</i></span>';
59
  $class = 'csmm-enabled';
60
  $action_url = add_query_arg(array('action' => 'csmm_change_status', 'new_status' => 'disabled', 'redirect' => urlencode($_SERVER['REQUEST_URI'])), admin_url('admin.php'));
61
  $action_url = wp_nonce_url($action_url, 'csmm_change_status');
62
+ $action = __('Maintenance mode', 'minimal-coming-soon-maintenance-mode');
63
  $action .= '<a href="' . $action_url . '" id="csmm-status-wrapper" class="on"><span id="csmm-status-off" class="csmm-status-btn">OFF</span><span id="csmm-status-on" class="csmm-status-btn">ON</span></a>';
64
  } else {
65
+ $main_label = '<img src="' . CSMM_URL . '/framework/admin/img/mm-icon.png" alt="' . __('Maintenance mode is disabled', 'minimal-coming-soon-maintenance-mode') . '" title="' . __('Maintenance mode is disabled', 'minimal-coming-soon-maintenance-mode') . '"> <span class="ab-label">' . __('Maintenance Mode', 'minimal-coming-soon-maintenance-mode') . ' <i class="csmm-status-dot csmm-status-dot-disabled">&#9679;</i></span>';
66
  $class = 'csmm-disabled';
67
  $action_url = add_query_arg(array('action' => 'csmm_change_status', 'new_status' => 'enabled', 'redirect' => urlencode($_SERVER['REQUEST_URI'])), admin_url('admin.php'));
68
  $action_url = wp_nonce_url($action_url, 'csmm_change_status');
69
+ $action = __('Maintenance mode', 'minimal-coming-soon-maintenance-mode');
70
  $action .= '<a href="' . $action_url . '" id="csmm-status-wrapper" class="off"><span id="csmm-status-off" class="csmm-status-btn">OFF</span><span id="csmm-status-on" class="csmm-status-btn">ON</span></a>';
71
  }
72
 
126
 
127
  exit;
128
  } // change_status
129
+
130
+ static function wp_kses_wf($html)
131
+ {
132
+ add_filter('safe_style_css', function ($styles) {
133
+ $styles_wf = array(
134
+ 'text-align',
135
+ 'margin',
136
+ 'color',
137
+ 'float',
138
+ 'border',
139
+ 'background',
140
+ 'background-color',
141
+ 'border-bottom',
142
+ 'border-bottom-color',
143
+ 'border-bottom-style',
144
+ 'border-bottom-width',
145
+ 'border-collapse',
146
+ 'border-color',
147
+ 'border-left',
148
+ 'border-left-color',
149
+ 'border-left-style',
150
+ 'border-left-width',
151
+ 'border-right',
152
+ 'border-right-color',
153
+ 'border-right-style',
154
+ 'border-right-width',
155
+ 'border-spacing',
156
+ 'border-style',
157
+ 'border-top',
158
+ 'border-top-color',
159
+ 'border-top-style',
160
+ 'border-top-width',
161
+ 'border-width',
162
+ 'caption-side',
163
+ 'clear',
164
+ 'cursor',
165
+ 'direction',
166
+ 'font',
167
+ 'font-family',
168
+ 'font-size',
169
+ 'font-style',
170
+ 'font-variant',
171
+ 'font-weight',
172
+ 'height',
173
+ 'letter-spacing',
174
+ 'line-height',
175
+ 'margin-bottom',
176
+ 'margin-left',
177
+ 'margin-right',
178
+ 'margin-top',
179
+ 'overflow',
180
+ 'padding',
181
+ 'padding-bottom',
182
+ 'padding-left',
183
+ 'padding-right',
184
+ 'padding-top',
185
+ 'text-decoration',
186
+ 'text-indent',
187
+ 'vertical-align',
188
+ 'width',
189
+ 'display',
190
+ );
191
+
192
+ foreach ($styles_wf as $style_wf) {
193
+ $styles[] = $style_wf;
194
+ }
195
+ return $styles;
196
+ });
197
+
198
+ $allowed_tags = wp_kses_allowed_html('post');
199
+ $allowed_tags['input'] = array(
200
+ 'type' => true,
201
+ 'style' => true,
202
+ 'class' => true,
203
+ 'id' => true,
204
+ 'checked' => true,
205
+ 'disabled' => true,
206
+ 'name' => true,
207
+ 'size' => true,
208
+ 'placeholder' => true,
209
+ 'value' => true,
210
+ 'data-*' => true,
211
+ 'size' => true,
212
+ 'disabled' => true
213
+ );
214
+
215
+ $allowed_tags['textarea'] = array(
216
+ 'type' => true,
217
+ 'style' => true,
218
+ 'class' => true,
219
+ 'id' => true,
220
+ 'checked' => true,
221
+ 'disabled' => true,
222
+ 'name' => true,
223
+ 'size' => true,
224
+ 'placeholder' => true,
225
+ 'value' => true,
226
+ 'data-*' => true,
227
+ 'cols' => true,
228
+ 'rows' => true,
229
+ 'disabled' => true,
230
+ 'autocomplete' => true
231
+ );
232
+
233
+ $allowed_tags['select'] = array(
234
+ 'type' => true,
235
+ 'style' => true,
236
+ 'class' => true,
237
+ 'id' => true,
238
+ 'checked' => true,
239
+ 'disabled' => true,
240
+ 'name' => true,
241
+ 'size' => true,
242
+ 'placeholder' => true,
243
+ 'value' => true,
244
+ 'data-*' => true,
245
+ 'multiple' => true,
246
+ 'disabled' => true
247
+ );
248
+
249
+ $allowed_tags['option'] = array(
250
+ 'type' => true,
251
+ 'style' => true,
252
+ 'class' => true,
253
+ 'id' => true,
254
+ 'checked' => true,
255
+ 'disabled' => true,
256
+ 'name' => true,
257
+ 'size' => true,
258
+ 'placeholder' => true,
259
+ 'value' => true,
260
+ 'selected' => true,
261
+ 'data-*' => true
262
+ );
263
+ $allowed_tags['optgroup'] = array(
264
+ 'type' => true,
265
+ 'style' => true,
266
+ 'class' => true,
267
+ 'id' => true,
268
+ 'checked' => true,
269
+ 'disabled' => true,
270
+ 'name' => true,
271
+ 'size' => true,
272
+ 'placeholder' => true,
273
+ 'value' => true,
274
+ 'selected' => true,
275
+ 'data-*' => true,
276
+ 'label' => true
277
+ );
278
+
279
+ $allowed_tags['a'] = array(
280
+ 'href' => true,
281
+ 'data-*' => true,
282
+ 'class' => true,
283
+ 'style' => true,
284
+ 'id' => true,
285
+ 'target' => true,
286
+ 'data-*' => true,
287
+ 'role' => true,
288
+ 'aria-controls' => true,
289
+ 'aria-selected' => true,
290
+ 'disabled' => true
291
+ );
292
+
293
+ $allowed_tags['div'] = array(
294
+ 'style' => true,
295
+ 'class' => true,
296
+ 'id' => true,
297
+ 'data-*' => true,
298
+ 'role' => true,
299
+ 'aria-labelledby' => true,
300
+ 'value' => true,
301
+ 'aria-modal' => true,
302
+ 'tabindex' => true
303
+ );
304
+
305
+ $allowed_tags['li'] = array(
306
+ 'style' => true,
307
+ 'class' => true,
308
+ 'id' => true,
309
+ 'data-*' => true,
310
+ 'role' => true,
311
+ 'aria-labelledby' => true,
312
+ 'value' => true,
313
+ 'aria-modal' => true,
314
+ 'tabindex' => true
315
+ );
316
+
317
+ $allowed_tags['span'] = array(
318
+ 'style' => true,
319
+ 'class' => true,
320
+ 'id' => true,
321
+ 'data-*' => true,
322
+ 'aria-hidden' => true
323
+ );
324
+
325
+ $allowed_tags['style'] = array(
326
+ 'class' => true,
327
+ 'id' => true,
328
+ 'type' => true
329
+ );
330
+
331
+ $allowed_tags['fieldset'] = array(
332
+ 'class' => true,
333
+ 'id' => true,
334
+ 'type' => true
335
+ );
336
+
337
+ $allowed_tags['link'] = array(
338
+ 'class' => true,
339
+ 'id' => true,
340
+ 'type' => true,
341
+ 'rel' => true,
342
+ 'href' => true,
343
+ 'media' => true
344
+ );
345
+
346
+ $allowed_tags['form'] = array(
347
+ 'style' => true,
348
+ 'class' => true,
349
+ 'id' => true,
350
+ 'method' => true,
351
+ 'action' => true,
352
+ 'data-*' => true
353
+ );
354
+
355
+ $allowed_tags['script'] = array(
356
+ 'class' => true,
357
+ 'id' => true,
358
+ 'type' => true,
359
+ 'src' => true
360
+ );
361
+
362
+ echo wp_kses($html, $allowed_tags);
363
+
364
+ add_filter('safe_style_css', function ($styles) {
365
+ $styles_wf = array(
366
+ 'text-align',
367
+ 'margin',
368
+ 'color',
369
+ 'float',
370
+ 'border',
371
+ 'background',
372
+ 'background-color',
373
+ 'border-bottom',
374
+ 'border-bottom-color',
375
+ 'border-bottom-style',
376
+ 'border-bottom-width',
377
+ 'border-collapse',
378
+ 'border-color',
379
+ 'border-left',
380
+ 'border-left-color',
381
+ 'border-left-style',
382
+ 'border-left-width',
383
+ 'border-right',
384
+ 'border-right-color',
385
+ 'border-right-style',
386
+ 'border-right-width',
387
+ 'border-spacing',
388
+ 'border-style',
389
+ 'border-top',
390
+ 'border-top-color',
391
+ 'border-top-style',
392
+ 'border-top-width',
393
+ 'border-width',
394
+ 'caption-side',
395
+ 'clear',
396
+ 'cursor',
397
+ 'direction',
398
+ 'font',
399
+ 'font-family',
400
+ 'font-size',
401
+ 'font-style',
402
+ 'font-variant',
403
+ 'font-weight',
404
+ 'height',
405
+ 'letter-spacing',
406
+ 'line-height',
407
+ 'margin-bottom',
408
+ 'margin-left',
409
+ 'margin-right',
410
+ 'margin-top',
411
+ 'overflow',
412
+ 'padding',
413
+ 'padding-bottom',
414
+ 'padding-left',
415
+ 'padding-right',
416
+ 'padding-top',
417
+ 'text-decoration',
418
+ 'text-indent',
419
+ 'vertical-align',
420
+ 'width'
421
+ );
422
+
423
+ foreach ($styles_wf as $style_wf) {
424
+ if (($key = array_search($style_wf, $styles)) !== false) {
425
+ unset($styles[$key]);
426
+ }
427
+ }
428
+ return $styles;
429
+ });
430
+ }
431
  } // class csmm
432
 
433
  add_action('init', array('CSMM', 'init'));
framework/public/img/backgrounds/aaron-burden-189321-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/alberto-restifo-4510-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/amy-humphries-227515-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/anders-jilden-89745-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/annie-spratt-1369965-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/art-by-lonfeldt-1064207-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/brenda-godinez-229718-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/brooke-lark-229136-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/brooke-lark-356767-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/carmine-de-fazio-31543-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/chuttersnap-Dfay_PcHm-E-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/corentin-hais-NE6cZGd_A_A-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/denys-nevozhai-100695-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/dustin-lee-19667-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/elena-prokofyeva-17909-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/fancycrave-284224-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/fezbot2000-278419-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/glenn-carstens-peters-190592-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/greg-rakozy-38802-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/henry-be-99471-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/hoach-le-dinh-91879-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/ian-dooley-280928-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/ian-schneider-108618-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/jakub-sejkora-42069-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/jeremy-bishop-334996-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/jesus-kiteque-224069-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/joanna-kosinska-44214-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/john-cobb-13961-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/jonathan-bean-37632-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/jonathan-borba-1339221-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/joshua-coleman-1394520-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/joshua-coleman-1476380-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/joshua-coleman-623077-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/kimon-maritz-193428-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/lana-guillemet-1373193-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/luca-micheli-mZ4RmsyCGDg-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/manuel-venturini-38cyDa5x7qU-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/marek-piwnicki-ka-wH-JbnDA-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/martin-reisch-185835-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/matthew-henry-49707-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/nazar-sharafutdinov-1373782-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/ng-32703-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/nitish-meena-37745-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/osman-rana-1064081-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/patrick-tomasso-208114-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/patrick-tomasso-71909-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/pawel-czerwinski-1060762-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/pawel-czerwinski-1373010-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/pawel-czerwinski-UN308c8fwEo-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/rachael-gorjestani-282049-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/rawpixel-191102-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/robert-bye-103196-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/samuel-zeller-379406-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/sarah-dorweiler-211779-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/simon-matzinger-320332-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/stefan-stefancik-105374-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/steven-wei-124690-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/sunrise-1756274.jpg ADDED
Binary file
framework/public/img/backgrounds/teddy-kelley-106391-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thought-catalog-214785-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/aaron-burden-189321-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/alberto-restifo-4510-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/amy-humphries-227515-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/anders-jilden-89745-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/annie-spratt-1369965-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/art-by-lonfeldt-1064207-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/brenda-godinez-229718-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/brooke-lark-229136-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/brooke-lark-356767-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/carmine-de-fazio-31543-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/chuttersnap-Dfay_PcHm-E-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/corentin-hais-NE6cZGd_A_A-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/denys-nevozhai-100695-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/dustin-lee-19667-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/elena-prokofyeva-17909-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/fancycrave-284224-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/fezbot2000-278419-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/glenn-carstens-peters-190592-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/greg-rakozy-38802-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/henry-be-99471-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/hoach-le-dinh-91879-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/ian-dooley-280928-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/ian-schneider-108618-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/jakub-sejkora-42069-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/jeremy-bishop-334996-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/jesus-kiteque-224069-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/joanna-kosinska-44214-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/john-cobb-13961-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/jonathan-bean-37632-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/jonathan-borba-1339221-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/joshua-coleman-1394520-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/joshua-coleman-1476380-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/joshua-coleman-623077-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/kimon-maritz-193428-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/lana-guillemet-1373193-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/luca-micheli-mZ4RmsyCGDg-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/manuel-venturini-38cyDa5x7qU-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/marek-piwnicki-ka-wH-JbnDA-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/martin-reisch-185835-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/matthew-henry-49707-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/nazar-sharafutdinov-1373782-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/ng-32703-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/nitish-meena-37745-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/osman-rana-1064081-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/patrick-tomasso-208114-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/patrick-tomasso-71909-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/pawel-czerwinski-1060762-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/pawel-czerwinski-1373010-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/pawel-czerwinski-UN308c8fwEo-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/rachael-gorjestani-282049-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/rawpixel-191102-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/robert-bye-103196-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/samuel-zeller-379406-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/sarah-dorweiler-211779-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/simon-matzinger-320332-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/stefan-stefancik-105374-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/steven-wei-124690-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/sunrise-1756274.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/teddy-kelley-106391-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/thought-catalog-214785-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/tim-patch-1020411-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/trevor-cole-393228-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/verne-ho-237626-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/william-daigneault-691488-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/william-daigneault-733670-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/thumbs/yuriy-bogdanov-428617-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/tim-patch-1020411-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/trevor-cole-393228-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/verne-ho-237626-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/william-daigneault-691488-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/william-daigneault-733670-unsplash.jpg ADDED
Binary file
framework/public/img/backgrounds/yuriy-bogdanov-428617-unsplash.jpg ADDED
Binary file
framework/public/include/functions.php CHANGED
@@ -27,15 +27,15 @@ function csmm_render_template( $options ) {
27
 
28
 
29
  // Checking for options required for the plugin
30
- if ( empty( $options['title'] ) ) : $options['title'] = __( 'Maintainance Mode', 'signals' ); endif;
31
- if ( empty( $options['input_text'] ) ) : $options['input_text'] = __( 'Enter your email address..', 'signals' ); endif;
32
- if ( empty( $options['button_text'] ) ) : $options['button_text'] = __( 'Subscribe', 'signals' ); endif;
33
 
34
  // Response message
35
- if ( empty( $options['message_noemail'] ) ) : $options['message_noemail'] =__( 'Oops! Something went wrong.', 'signals' ); endif;
36
- if ( empty( $options['message_subscribed'] ) ) : $options['message_subscribed'] =__( 'You are already subscribed!', 'signals' ); endif;
37
- if ( empty( $options['message_wrong'] ) ) : $options['message_wrong'] =__( 'Oops! Something went wrong.', 'signals' ); endif;
38
- if ( empty( $options['message_done'] ) ) : $options['message_done'] =__( 'Thank you! We\'ll be in touch!', 'signals' ); endif;
39
 
40
 
41
  // Template file
27
 
28
 
29
  // Checking for options required for the plugin
30
+ if ( empty( $options['title'] ) ) : $options['title'] = __( 'Maintainance Mode', 'minimal-coming-soon-maintenance-mode' ); endif;
31
+ if ( empty( $options['input_text'] ) ) : $options['input_text'] = __( 'Enter your email address..', 'minimal-coming-soon-maintenance-mode' ); endif;
32
+ if ( empty( $options['button_text'] ) ) : $options['button_text'] = __( 'Subscribe', 'minimal-coming-soon-maintenance-mode' ); endif;
33
 
34
  // Response message
35
+ if ( empty( $options['message_noemail'] ) ) : $options['message_noemail'] =__( 'Oops! Something went wrong.', 'minimal-coming-soon-maintenance-mode' ); endif;
36
+ if ( empty( $options['message_subscribed'] ) ) : $options['message_subscribed'] =__( 'You are already subscribed!', 'minimal-coming-soon-maintenance-mode' ); endif;
37
+ if ( empty( $options['message_wrong'] ) ) : $options['message_wrong'] =__( 'Oops! Something went wrong.', 'minimal-coming-soon-maintenance-mode' ); endif;
38
+ if ( empty( $options['message_done'] ) ) : $options['message_done'] =__( 'Thank you! We\'ll be in touch!', 'minimal-coming-soon-maintenance-mode' ); endif;
39
 
40
 
41
  // Template file
framework/public/include/styles.php CHANGED
@@ -15,13 +15,13 @@ echo '<style>' . "\r\n";
15
 
16
  // Background cover
17
  if ( ! empty( $options['bg_cover'] ) ) {
18
- echo 'body{background-image:url("' . $options['bg_cover'] . '");}' . "\r\n";
19
  }
20
 
21
 
22
  // Background color
23
  if ( empty( $options['bg_cover'] ) && ! empty( $options['bg_color'] ) ) {
24
- echo 'body{background-color:#' . $options['bg_color'] . ';}' . "\r\n";
25
  }
26
 
27
 
@@ -31,17 +31,17 @@ if ( ! empty( $options['header_font'] ) || ! empty( $options['header_font_size']
31
 
32
  // header font
33
  if ( ! empty( $options['header_font'] ) ) {
34
- echo 'font-family:"' . $options['header_font'] . '", Arial, sans-serif;';
35
  }
36
 
37
  // header font size
38
  if ( ! empty( $options['header_font_size'] ) ) {
39
- echo 'font-size:' . $options['header_font_size'] . 'px;';
40
  }
41
 
42
  // header font color
43
  if ( ! empty( $options['header_font_color'] ) ) {
44
- echo 'color:#' . $options['header_font_color'] . ';';
45
  }
46
 
47
  echo '}' . "\r\n";
@@ -54,17 +54,17 @@ if ( ! empty( $options['secondary_font'] ) || ! empty( $options['secondary_font_
54
 
55
  // secondary font
56
  if ( ! empty( $options['secondary_font'] ) ) {
57
- echo 'font-family:"' . $options['secondary_font'] . '", Arial, sans-serif;';
58
  }
59
 
60
  // secondary font size
61
  if ( ! empty( $options['secondary_font_size'] ) ) {
62
- echo 'font-size:' . $options['secondary_font_size'] . 'px;';
63
  }
64
 
65
  // secondary font color
66
  if ( ! empty( $options['secondary_font_color'] ) ) {
67
- echo 'color:#' . $options['secondary_font_color'] . ';';
68
  }
69
 
70
  echo '}' . "\r\n";
@@ -78,17 +78,17 @@ if ( ! empty( $options['secondary_font'] ) || ! empty( $options['antispam_font_s
78
 
79
  // secondary font
80
  if ( ! empty( $options['secondary_font'] ) ) {
81
- echo 'font-family:"' . $options['secondary_font'] . '", Arial, sans-serif;';
82
  }
83
 
84
  // antispam font size
85
  if ( ! empty( $options['antispam_font_size'] ) ) {
86
- echo 'font-size:' . $options['antispam_font_size'] . 'px;';
87
  }
88
 
89
  // antispam font color
90
  if ( ! empty( $options['antispam_font_color'] ) ) {
91
- echo 'color:#' . $options['antispam_font_color'] . ';';
92
  }
93
 
94
  echo '}' . "\r\n";
@@ -111,7 +111,7 @@ if ( ! empty( $options['content_overlay'] ) || ! empty( $options['content_width'
111
  $options['content_width'] = '1170';
112
  }
113
 
114
- echo 'max-width:' . $options['content_width'] . 'px;';
115
  }
116
 
117
  // content position
@@ -162,22 +162,22 @@ if ( '1' == $options['ignore_form_styles'] ) {
162
 
163
  // input font size
164
  if ( ! empty( $options['input_font_size'] ) ) {
165
- echo 'font-size:' . $options['input_font_size'] . 'px;';
166
  }
167
 
168
  // input color
169
  if ( ! empty( $options['input_font_color'] ) ) {
170
- echo 'color:#' . $options['input_font_color'] . ';';
171
  }
172
 
173
  // input background
174
  if ( ! empty( $options['input_bg'] ) ) {
175
- echo 'background:#' . $options['input_bg'] . ';';
176
  }
177
 
178
  // input border
179
  if ( ! empty( $options['input_border'] ) ) {
180
- echo 'border:1px solid #' . $options['input_border'] . ';';
181
  }
182
 
183
  echo '}' . "\r\n";
@@ -189,12 +189,12 @@ if ( '1' == $options['ignore_form_styles'] ) {
189
 
190
  // input background:focus
191
  if ( ! empty( $options['input_bg_hover'] ) ) {
192
- echo 'background:#' . $options['input_bg_hover'] . ';';
193
  }
194
 
195
  // input border:focus
196
  if ( ! empty( $options['input_border_hover'] ) ) {
197
- echo 'border:1px solid #' . $options['input_border_hover'] . ';';
198
  }
199
 
200
  echo '}' . "\r\n";
@@ -206,22 +206,22 @@ if ( '1' == $options['ignore_form_styles'] ) {
206
 
207
  // button font size
208
  if ( ! empty( $options['button_font_size'] ) ) {
209
- echo 'font-size:' . $options['button_font_size'] . 'px;';
210
  }
211
 
212
  // button color
213
  if ( ! empty( $options['button_font_color'] ) ) {
214
- echo 'color:#' . $options['button_font_color'] . ';';
215
  }
216
 
217
  // button background
218
  if ( ! empty( $options['button_bg'] ) ) {
219
- echo 'background:#' . $options['button_bg'] . ';';
220
  }
221
 
222
  // button border
223
  if ( ! empty( $options['button_border'] ) ) {
224
- echo 'border:1px solid #' . $options['button_border'] . ';';
225
  }
226
 
227
  echo '}' . "\r\n";
@@ -234,12 +234,12 @@ if ( '1' == $options['ignore_form_styles'] ) {
234
 
235
  // input background:focus
236
  if ( ! empty( $options['button_bg_hover'] ) ) {
237
- echo 'background:#' . $options['button_bg_hover'] . ';';
238
  }
239
 
240
  // input border:focus
241
  if ( ! empty( $options['button_border_hover'] ) ) {
242
- echo 'border:1px solid #' . $options['button_border_hover'] . ';';
243
  }
244
 
245
  echo '}' . "\r\n";
@@ -251,12 +251,12 @@ if ( '1' == $options['ignore_form_styles'] ) {
251
 
252
  // success background
253
  if ( ! empty( $options['success_background'] ) ) {
254
- echo 'background:#' . $options['success_background'] . ';';
255
  }
256
 
257
  // success color
258
  if ( ! empty( $options['success_color'] ) ) {
259
- echo 'color:#' . $options['success_color'] . ';';
260
  }
261
 
262
  echo '}' . "\r\n";
@@ -268,35 +268,35 @@ if ( '1' == $options['ignore_form_styles'] ) {
268
 
269
  // error background
270
  if ( ! empty( $options['error_background'] ) ) {
271
- echo 'background:#' . $options['error_background'] . ';';
272
  }
273
 
274
  // error color
275
  if ( ! empty( $options['error_color'] ) ) {
276
- echo 'color:#' . $options['error_color'] . ';';
277
  }
278
 
279
  echo '}' . "\r\n";
280
  }
281
 
282
  echo '::-webkit-input-placeholder {
283
- color: #' . $options['form_placeholder_color'] . ';
284
  }
285
  ::-moz-placeholder {
286
- color: #' . $options['form_placeholder_color'] . ';
287
  }
288
  :-ms-input-placeholder {
289
- color: #' . $options['form_placeholder_color'] . ';
290
  }
291
  :-moz-placeholder {
292
- color: #' . $options['form_placeholder_color'] . ';
293
  }';
294
  }
295
 
296
 
297
  // Custom CSS
298
  if ( ! empty( $options['custom_css'] ) ) {
299
- echo stripslashes( $options['custom_css'] );
300
  }
301
 
302
  echo '</style>' . "\r\n";
15
 
16
  // Background cover
17
  if ( ! empty( $options['bg_cover'] ) ) {
18
+ echo 'body{background-image:url("' . esc_url($options['bg_cover']) . '");}' . "\r\n";
19
  }
20
 
21
 
22
  // Background color
23
  if ( empty( $options['bg_cover'] ) && ! empty( $options['bg_color'] ) ) {
24
+ echo 'body{background-color:#' . esc_attr($options['bg_color']) . ';}' . "\r\n";
25
  }
26
 
27
 
31
 
32
  // header font
33
  if ( ! empty( $options['header_font'] ) ) {
34
+ echo 'font-family:"' . esc_attr($options['header_font']) . '", Arial, sans-serif;';
35
  }
36
 
37
  // header font size
38
  if ( ! empty( $options['header_font_size'] ) ) {
39
+ echo 'font-size:' . esc_attr($options['header_font_size']) . 'px;';
40
  }
41
 
42
  // header font color
43
  if ( ! empty( $options['header_font_color'] ) ) {
44
+ echo 'color:#' . esc_attr($options['header_font_color']) . ';';
45
  }
46
 
47
  echo '}' . "\r\n";
54
 
55
  // secondary font
56
  if ( ! empty( $options['secondary_font'] ) ) {
57
+ echo 'font-family:"' . esc_attr($options['secondary_font']) . '", Arial, sans-serif;';
58
  }
59
 
60
  // secondary font size
61
  if ( ! empty( $options['secondary_font_size'] ) ) {
62
+ echo 'font-size:' . esc_attr($options['secondary_font_size']) . 'px;';
63
  }
64
 
65
  // secondary font color
66
  if ( ! empty( $options['secondary_font_color'] ) ) {
67
+ echo 'color:#' . esc_attr($options['secondary_font_color']) . ';';
68
  }
69
 
70
  echo '}' . "\r\n";
78
 
79
  // secondary font
80
  if ( ! empty( $options['secondary_font'] ) ) {
81
+ echo 'font-family:"' . esc_attr($options['secondary_font']) . '", Arial, sans-serif;';
82
  }
83
 
84
  // antispam font size
85
  if ( ! empty( $options['antispam_font_size'] ) ) {
86
+ echo 'font-size:' . esc_attr($options['antispam_font_size']) . 'px;';
87
  }
88
 
89
  // antispam font color
90
  if ( ! empty( $options['antispam_font_color'] ) ) {
91
+ echo 'color:#' . esc_attr($options['antispam_font_color']) . ';';
92
  }
93
 
94
  echo '}' . "\r\n";
111
  $options['content_width'] = '1170';
112
  }
113
 
114
+ echo 'max-width:' . esc_attr($options['content_width']) . 'px;';
115
  }
116
 
117
  // content position
162
 
163
  // input font size
164
  if ( ! empty( $options['input_font_size'] ) ) {
165
+ echo 'font-size:' . esc_attr($options['input_font_size']) . 'px;';
166
  }
167
 
168
  // input color
169
  if ( ! empty( $options['input_font_color'] ) ) {
170
+ echo 'color:#' . esc_attr($options['input_font_color']) . ';';
171
  }
172
 
173
  // input background
174
  if ( ! empty( $options['input_bg'] ) ) {
175
+ echo 'background:#' . esc_attr($options['input_bg']) . ';';
176
  }
177
 
178
  // input border
179
  if ( ! empty( $options['input_border'] ) ) {
180
+ echo 'border:1px solid #' . esc_attr($options['input_border']) . ';';
181
  }
182
 
183
  echo '}' . "\r\n";
189
 
190
  // input background:focus
191
  if ( ! empty( $options['input_bg_hover'] ) ) {
192
+ echo 'background:#' . esc_attr($options['input_bg_hover'] ). ';';
193
  }
194
 
195
  // input border:focus
196
  if ( ! empty( $options['input_border_hover'] ) ) {
197
+ echo 'border:1px solid #' . esc_attr($options['input_border_hover']) . ';';
198
  }
199
 
200
  echo '}' . "\r\n";
206
 
207
  // button font size
208
  if ( ! empty( $options['button_font_size'] ) ) {
209
+ echo 'font-size:' . esc_attr($options['button_font_size']) . 'px;';
210
  }
211
 
212
  // button color
213
  if ( ! empty( $options['button_font_color'] ) ) {
214
+ echo 'color:#' . esc_attr($options['button_font_color']) . ';';
215
  }
216
 
217
  // button background
218
  if ( ! empty( $options['button_bg'] ) ) {
219
+ echo 'background:#' . esc_attr($options['button_bg']) . ';';
220
  }
221
 
222
  // button border
223
  if ( ! empty( $options['button_border'] ) ) {
224
+ echo 'border:1px solid #' . esc_attr($options['button_border']) . ';';
225
  }
226
 
227
  echo '}' . "\r\n";
234
 
235
  // input background:focus
236
  if ( ! empty( $options['button_bg_hover'] ) ) {
237
+ echo 'background:#' . esc_attr($options['button_bg_hover']) . ';';
238
  }
239
 
240
  // input border:focus
241
  if ( ! empty( $options['button_border_hover'] ) ) {
242
+ echo 'border:1px solid #' . esc_attr($options['button_border_hover']) . ';';
243
  }
244
 
245
  echo '}' . "\r\n";
251
 
252
  // success background
253
  if ( ! empty( $options['success_background'] ) ) {
254
+ echo 'background:#' . esc_attr($options['success_background']) . ';';
255
  }
256
 
257
  // success color
258
  if ( ! empty( $options['success_color'] ) ) {
259
+ echo 'color:#' . esc_attr($options['success_color']) . ';';
260
  }
261
 
262
  echo '}' . "\r\n";
268
 
269
  // error background
270
  if ( ! empty( $options['error_background'] ) ) {
271
+ echo 'background:#' . esc_attr($options['error_background']) . ';';
272
  }
273
 
274
  // error color
275
  if ( ! empty( $options['error_color'] ) ) {
276
+ echo 'color:#' . esc_attr($options['error_color']) . ';';
277
  }
278
 
279
  echo '}' . "\r\n";
280
  }
281
 
282
  echo '::-webkit-input-placeholder {
283
+ color: #' . esc_attr($options['form_placeholder_color']) . ';
284
  }
285
  ::-moz-placeholder {
286
+ color: #' . esc_attr($options['form_placeholder_color']) . ';
287
  }
288
  :-ms-input-placeholder {
289
+ color: #' . esc_attr($options['form_placeholder_color']) . ';
290
  }
291
  :-moz-placeholder {
292
+ color: #' . esc_attr($options['form_placeholder_color']) . ';
293
  }';
294
  }
295
 
296
 
297
  // Custom CSS
298
  if ( ! empty( $options['custom_css'] ) ) {
299
+ CSMM::wp_kses_wf(stripslashes( $options['custom_css']));
300
  }
301
 
302
  echo '</style>' . "\r\n";
framework/public/views/blank.php CHANGED
@@ -18,32 +18,38 @@ if (!defined('WPINC')) {
18
  <meta charset="<?php bloginfo('charset'); ?>">
19
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
20
  <meta name="viewport" content="width=device-width, initial-scale=1">
21
- <title><?php echo $options['title']; ?></title>
22
  <?php if (!empty($options['favicon'])) : ?>
23
- <link rel="shortcut icon" href="<?php echo esc_url_raw($options['favicon']); ?>" />
24
  <?php endif; ?>
25
  <link rel="profile" href="http://gmpg.org/xfn/11">
26
  <link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> RSS Feed" href="<?php bloginfo('rss2_url'); ?>" />
27
  <link rel="alternate" type="application/atom+xml" title="<?php bloginfo('name'); ?> Atom Feed" href="<?php bloginfo('atom_url'); ?>" />
28
- <link rel="pingback" href="<?php bloginfo('pingback_url'); ?>">
29
- <link rel="stylesheet" type="text/css" href="<?php echo CSMM_URL; ?>/framework/public/css/basic.css" />
30
- <script src='//ajax.googleapis.com/ajax/libs/webfont/1.4.7/webfont.js'></script>
31
- <script>
32
- WebFont.load({
33
- google: {
34
- families: ['<?php echo $options["header_font"]; ?>', '<?php echo $options["secondary_font"]; ?>']
35
- }
36
- });
37
- </script>
38
  <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
39
 
 
 
40
  // user defined css for the blank mode
41
  if (!empty($options['custom_css'])) {
42
  echo '<style>';
43
- echo stripslashes($options['custom_css']);
44
  echo '</style>';
45
  }
46
-
47
  ?>
48
  </head>
49
 
@@ -64,7 +70,7 @@ if (!defined('WPINC')) {
64
 
65
  if ('' === $signals_email) {
66
  $code = 'danger';
67
- $response = __('Please provide your email address.', 'signals');
68
  } else {
69
  $signals_email = filter_var(strtolower(trim($signals_email)), FILTER_SANITIZE_EMAIL);
70
 
@@ -119,7 +125,7 @@ if (!defined('WPINC')) {
119
  } // custom_html
120
 
121
  // Output the user defined html
122
- echo $custom_html;
123
 
124
  ?>
125
  </body>
18
  <meta charset="<?php bloginfo('charset'); ?>">
19
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
20
  <meta name="viewport" content="width=device-width, initial-scale=1">
21
+ <title><?php echo esc_html($options['title']); ?></title>
22
  <?php if (!empty($options['favicon'])) : ?>
23
+ <link rel="shortcut icon" href="<?php echo esc_url($options['favicon']); ?>" />
24
  <?php endif; ?>
25
  <link rel="profile" href="http://gmpg.org/xfn/11">
26
  <link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> RSS Feed" href="<?php bloginfo('rss2_url'); ?>" />
27
  <link rel="alternate" type="application/atom+xml" title="<?php bloginfo('name'); ?> Atom Feed" href="<?php bloginfo('atom_url'); ?>" />
28
+ <link rel="pingback" href="<?php esc_url(bloginfo('pingback_url')); ?>">
29
+ <link rel="stylesheet" type="text/css" href="<?php echo esc_url(CSMM_URL); ?>/framework/public/css/basic.css" />
 
 
 
 
 
 
 
 
30
  <?php
31
+ if(!in_array($options["header_font"], array('Arial','Helvetica','Georgia','Times New Roman','Tahoma','Verdana','Geneva')) || !in_array($options["secondary_font"], array('Arial','Helvetica','Georgia','Times New Roman','Tahoma','Verdana','Geneva'))){
32
+ ?>
33
+ <script src='<?php echo esc_url(CSMM_URL) . '/framework/admin/js/webfont.js'; ?>'></script>
34
+ <script>
35
+ WebFont.load({
36
+ bunny: {
37
+ families: ['<?php echo esc_attr($options["header_font"]); ?>', '<?php echo esc_attr($options["secondary_font"]); ?>']
38
+ }
39
+ });
40
+ </script>
41
+ <?php
42
+ }
43
+ ?>
44
 
45
+
46
+ <?php
47
  // user defined css for the blank mode
48
  if (!empty($options['custom_css'])) {
49
  echo '<style>';
50
+ CSMM::wp_kses_wf(stripslashes($options['custom_css']));
51
  echo '</style>';
52
  }
 
53
  ?>
54
  </head>
55
 
70
 
71
  if ('' === $signals_email) {
72
  $code = 'danger';
73
+ $response = __('Please provide your email address.', 'minimal-coming-soon-maintenance-mode');
74
  } else {
75
  $signals_email = filter_var(strtolower(trim($signals_email)), FILTER_SANITIZE_EMAIL);
76
 
125
  } // custom_html
126
 
127
  // Output the user defined html
128
+ CSMM::wp_kses_wf($custom_html);
129
 
130
  ?>
131
  </body>
framework/public/views/html.php CHANGED
@@ -18,22 +18,30 @@ if (!defined('WPINC')) {
18
  <meta charset="<?php bloginfo('charset'); ?>">
19
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
20
  <meta name="viewport" content="width=device-width, initial-scale=1">
21
- <meta name="description" content="<?php echo stripslashes($options['description']); ?>">
22
  <meta name="generator" content="Free Coming Soon & Maintenance Mode plugin for WordPress">
23
- <title><?php echo stripslashes($options['title']); ?></title>
24
  <?php if (isset($options['favicon']) && !empty($options['favicon'])) : ?>
25
- <link rel="shortcut icon" href="<?php echo esc_url_raw($options['favicon']); ?>" />
26
  <?php endif; ?>
27
  <link rel="profile" href="https://gmpg.org/xfn/11">
28
- <link rel="stylesheet" type="text/css" href="<?php echo CSMM_URL; ?>/framework/public/css/public.css" />
29
- <script src='//ajax.googleapis.com/ajax/libs/webfont/1.4.7/webfont.js'></script>
30
- <script>
31
- WebFont.load({
32
- google: {
33
- families: ['<?php echo $options["header_font"]; ?>', '<?php echo $options["secondary_font"]; ?>']
34
- }
35
- });
36
- </script>
 
 
 
 
 
 
 
 
37
  <?php require_once CSMM_PATH . '/framework/public/include/styles.php'; ?>
38
 
39
  <?php
@@ -44,7 +52,7 @@ if (!defined('WPINC')) {
44
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
45
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
46
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
47
- ga('create', '" . csmm_convert_ga($options['analytics']) . "', 'auto');
48
  ga('send', 'pageview');
49
  </script>";
50
  }
@@ -162,13 +170,13 @@ if (!defined('WPINC')) {
162
 
163
  foreach ($signals_sections as $signals_section) {
164
  if (isset($signals_arrange[$signals_section])) {
165
- echo $signals_arrange[$signals_section];
166
  }
167
  }
168
 
169
  ?>
170
  </div><!-- .content -->
171
- <?php echo csmm_linkback(); ?>
172
  </div><!-- .s-container -->
173
  </div><!-- .maintenance-mode -->
174
  <?php
@@ -176,10 +184,10 @@ if (!defined('WPINC')) {
176
  if (@$options['show_login_button'] == '1') {
177
  if (is_user_logged_in()) {
178
  echo '<div id="login-button" class="loggedin">';
179
- echo '<a title="' . __('Open WordPress admin', 'minimal-coming-soon-maintenance-mode') . '" href="' . get_site_url() . '/wp-admin/"><img src="' . CSMM_URL . '/framework/public/img/wp-logo-white.png" alt="' . __('Open WordPress admin', 'minimal-coming-soon-maintenance-mode') . '" title="' . __('Open WordPress admin', 'minimal-coming-soon-maintenance-mode') . '"></a>';
180
  } else {
181
  echo '<div id="login-button" class="loggedout">';
182
- echo '<a title="' . __('Log in to WordPress admin', 'minimal-coming-soon-maintenance-mode') . '" href="' . get_site_url() . '/wp-login.php"><img src="' . CSMM_URL . '/framework/public/img/wp-logo-white.png" alt="' . __('Log in to WordPress admin', 'minimal-coming-soon-maintenance-mode') . '" title="' . __('Log in to WordPress admin', 'minimal-coming-soon-maintenance-mode') . '"></a>';
183
  }
184
  echo '</div>';
185
  }
18
  <meta charset="<?php bloginfo('charset'); ?>">
19
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
20
  <meta name="viewport" content="width=device-width, initial-scale=1">
21
+ <meta name="description" content="<?php esc_html_e(stripslashes($options['description'])); ?>">
22
  <meta name="generator" content="Free Coming Soon & Maintenance Mode plugin for WordPress">
23
+ <title><?php esc_html_e(stripslashes($options['title'])); ?></title>
24
  <?php if (isset($options['favicon']) && !empty($options['favicon'])) : ?>
25
+ <link rel="shortcut icon" href="<?php echo esc_url($options['favicon']); ?>" />
26
  <?php endif; ?>
27
  <link rel="profile" href="https://gmpg.org/xfn/11">
28
+ <link rel="stylesheet" type="text/css" href="<?php echo esc_url(CSMM_URL); ?>/framework/public/css/public.css" />
29
+
30
+ <?php
31
+ if(!in_array($options["header_font"], array('Arial','Helvetica','Georgia','Times New Roman','Tahoma','Verdana','Geneva')) || !in_array($options["secondary_font"], array('Arial','Helvetica','Georgia','Times New Roman','Tahoma','Verdana','Geneva'))){
32
+ ?>
33
+ <script src='<?php echo esc_url(CSMM_URL) . '/framework/admin/js/webfont.js'; ?>'></script>
34
+ <script>
35
+ WebFont.load({
36
+ bunny: {
37
+ families: ['<?php echo esc_attr($options["header_font"]); ?>', '<?php echo esc_attr($options["secondary_font"]); ?>']
38
+ }
39
+ });
40
+ </script>
41
+ <?php
42
+ }
43
+ ?>
44
+
45
  <?php require_once CSMM_PATH . '/framework/public/include/styles.php'; ?>
46
 
47
  <?php
52
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
53
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
54
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
55
+ ga('create', '" . esc_attr(csmm_convert_ga($options['analytics'])) . "', 'auto');
56
  ga('send', 'pageview');
57
  </script>";
58
  }
170
 
171
  foreach ($signals_sections as $signals_section) {
172
  if (isset($signals_arrange[$signals_section])) {
173
+ CSMM::wp_kses_wf($signals_arrange[$signals_section]);
174
  }
175
  }
176
 
177
  ?>
178
  </div><!-- .content -->
179
+ <?php CSMM::wp_kses_wf(csmm_linkback()); ?>
180
  </div><!-- .s-container -->
181
  </div><!-- .maintenance-mode -->
182
  <?php
184
  if (@$options['show_login_button'] == '1') {
185
  if (is_user_logged_in()) {
186
  echo '<div id="login-button" class="loggedin">';
187
+ echo '<a title="' . __('Open WordPress admin', 'minimal-coming-soon-maintenance-mode') . '" href="' . esc_url(get_site_url()) . '/wp-admin/"><img src="' . esc_url(CSMM_URL) . '/framework/public/img/wp-logo-white.png" alt="' . __('Open WordPress admin', 'minimal-coming-soon-maintenance-mode') . '" title="' . __('Open WordPress admin', 'minimal-coming-soon-maintenance-mode') . '"></a>';
188
  } else {
189
  echo '<div id="login-button" class="loggedout">';
190
+ echo '<a title="' . __('Log in to WordPress admin', 'minimal-coming-soon-maintenance-mode') . '" href="' . esc_url(get_site_url()) . '/wp-login.php"><img src="' . esc_url(CSMM_URL) . '/framework/public/img/wp-logo-white.png" alt="' . __('Log in to WordPress admin', 'minimal-coming-soon-maintenance-mode') . '" title="' . __('Log in to WordPress admin', 'minimal-coming-soon-maintenance-mode') . '"></a>';
191
  }
192
  echo '</div>';
193
  }
minimal-coming-soon-maintenance-mode.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Minimal Coming Soon & Maintenance Mode
4
  * Plugin URI: https://comingsoonwp.com/
5
  * Description: Simply awesome coming soon & maintenance mode plugin. Super-simple to use. MailChimp support built-in.
6
- * Version: 2.35
7
  * Requires at least: 4.0
8
  * Requires PHP: 5.2
9
  * Tested up to: 6.0
3
  * Plugin Name: Minimal Coming Soon & Maintenance Mode
4
  * Plugin URI: https://comingsoonwp.com/
5
  * Description: Simply awesome coming soon & maintenance mode plugin. Super-simple to use. MailChimp support built-in.
6
+ * Version: 2.36
7
  * Requires at least: 4.0
8
  * Requires PHP: 5.2
9
  * Tested up to: 6.0
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: coming soon, coming soon page, maintenance mode, maintenance mode page, co
4
  Requires at least: 4.0
5
  Requires PHP: 5.2
6
  Tested up to: 6.1
7
- Stable tag: 2.35
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
@@ -39,7 +39,8 @@ You can collect leads and subscribers on your Coming Soon Page via the Mailchimp
39
  * Visible to only non-logged-in users so you can build your site while visitors see the Coming Soon page
40
  * Supports Custom Login URL - works with all custom login plugins
41
  * Track visitors with support for Google Analytics
42
- * Over 800 Google Fonts available to fit any design
 
43
  * PRO version of Coming Soon can redirect to HTTPS version of the site
44
  * Get support from within the plugin's options panel - send a message directly to support agents, get a response ASAP
45
  * display a WP login link on the Coming Soon Page
@@ -48,6 +49,10 @@ You can collect leads and subscribers on your Coming Soon Page via the Mailchimp
48
 
49
  [youtube https://www.youtube.com/watch?v=-bEJ-mPpduM]
50
 
 
 
 
 
51
 
52
  == Installation ==
53
 
@@ -83,6 +88,11 @@ Yes and no. When activated it enables itself across the entire WP-MU network.
83
 
84
 
85
  == Changelog ==
 
 
 
 
 
86
 
87
  = 2.35 =
88
  * 2022-05-22
4
  Requires at least: 4.0
5
  Requires PHP: 5.2
6
  Tested up to: 6.1
7
+ Stable tag: 2.36
8
  License: GPLv3
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
10
 
39
  * Visible to only non-logged-in users so you can build your site while visitors see the Coming Soon page
40
  * Supports Custom Login URL - works with all custom login plugins
41
  * Track visitors with support for Google Analytics
42
+ * 7 built-in, local fonts so you don't have to load any external resources
43
+ * Over 800 GDPR Compatible Bunny Fonts available to fit any design
44
  * PRO version of Coming Soon can redirect to HTTPS version of the site
45
  * Get support from within the plugin's options panel - send a message directly to support agents, get a response ASAP
46
  * display a WP login link on the Coming Soon Page
49
 
50
  [youtube https://www.youtube.com/watch?v=-bEJ-mPpduM]
51
 
52
+ = GDPR compatibility =
53
+ We are not lawyers. Please do not take any of the following as legal advice.
54
+ If you don't opt to use Bunny Fonts, don't use Google Analytics, nor collect emails with some 3rd party service like Mailchimp then no resources are loaded or shared with 3rd parties. And nothing is tracked. Opting to use any of those services will result in data sharing/tracking as described in their terms of service.
55
+ If you opt to activate your PRO license in the plugin admin, some data will be shared with WebFactory Ltd; that’s clearly noted below the license activation form.
56
 
57
  == Installation ==
58
 
88
 
89
 
90
  == Changelog ==
91
+ = 2.36 =
92
+ * 2022-11-20
93
+ * replaced Google Fonts with GDPR compatible Bunny fonts
94
+ * fixed translation issues
95
+ * security issues fixed
96
 
97
  = 2.35 =
98
  * 2022-05-22
wf-flyout/config.php CHANGED
@@ -13,6 +13,7 @@ $config['custom_css'] = '#wf-flyout .csmm-icon .wff-icon img { max-width: 70%; }
13
 
14
  $config['menu_items'] = array(
15
  array('href' => '#pro', 'label' => 'Get Coming Soon PRO with 50% off', 'icon' => 'csmm.png', 'class' => 'csmm-icon accent csmm-change-tab'),
 
16
  array('href' => 'https://wp301redirects.com/?ref=wff-csmm&coupon=50off', 'label' => 'Fix 2 most common SEO issues on WordPress', 'icon' => '301-logo.png', 'class' => 'wp301-icon'),
17
  array('href' => 'https://wpreset.com/?ref=wff-csmm&coupon=50off', 'target' => '_blank', 'label' => 'Get WP Reset PRO with 50% off', 'icon' => 'wp-reset.png'),
18
  array('href' => 'https://wpsticky.com/?ref=wff-csmm', 'target' => '_blank', 'label' => 'Make a menu sticky with WP Sticky', 'icon' => 'dashicons-admin-post'),
13
 
14
  $config['menu_items'] = array(
15
  array('href' => '#pro', 'label' => 'Get Coming Soon PRO with 50% off', 'icon' => 'csmm.png', 'class' => 'csmm-icon accent csmm-change-tab'),
16
+ array('href' => 'https://wpforcessl.com/?ref=wff-csmm', 'label' => 'Fix all SSL problems &amp; monitor site in real-time', 'icon' => 'wp-ssl.png', 'class' => 'wpfssl-icon'),
17
  array('href' => 'https://wp301redirects.com/?ref=wff-csmm&coupon=50off', 'label' => 'Fix 2 most common SEO issues on WordPress', 'icon' => '301-logo.png', 'class' => 'wp301-icon'),
18
  array('href' => 'https://wpreset.com/?ref=wff-csmm&coupon=50off', 'target' => '_blank', 'label' => 'Get WP Reset PRO with 50% off', 'icon' => 'wp-reset.png'),
19
  array('href' => 'https://wpsticky.com/?ref=wff-csmm', 'target' => '_blank', 'label' => 'Make a menu sticky with WP Sticky', 'icon' => 'dashicons-admin-post'),
wf-flyout/icons/wp-ssl.png ADDED
Binary file
wf-flyout/wf-flyout.php CHANGED
@@ -111,7 +111,7 @@ if (false == class_exists('wf_flyout')) {
111
  $out .= sanitize_text_field($this->config['custom_css']);
112
  $out .= '</style>';
113
 
114
- echo $out;
115
  } // admin_head
116
 
117
 
@@ -160,7 +160,7 @@ if (false == class_exists('wf_flyout')) {
160
 
161
  $out .= '</div>'; // #wf-flyout
162
 
163
- echo $out;
164
  } // admin_footer
165
  } // wf_flyout
166
  } // if class exists
111
  $out .= sanitize_text_field($this->config['custom_css']);
112
  $out .= '</style>';
113
 
114
+ CSMM::wp_kses_wf($out);
115
  } // admin_head
116
 
117
 
160
 
161
  $out .= '</div>'; // #wf-flyout
162
 
163
+ CSMM::wp_kses_wf($out);
164
  } // admin_footer
165
  } // wf_flyout
166
  } // if class exists