Maintenance - Version 3.95

Version Description

Download this release

Release Info

Developer WebFactory
Plugin Icon 128x128 Maintenance
Version 3.95
Comparing to
See all releases

Code changes from version 3.90 to 3.95

css/admin.css CHANGED
@@ -442,3 +442,55 @@
442
  .theme-thumb .ribbon span {
443
  padding: 10px;
444
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
442
  .theme-thumb .ribbon span {
443
  padding: 10px;
444
  }
445
+
446
+ /******** DIALOG ********/
447
+ #dialog-form-new-info-form label, #dialog-form-new-info-form input { display:block; }
448
+ #dialog-form-new-info-form input.text { margin-bottom:12px; width:95%; padding: .4em; }
449
+ #dialog-form-new-info-form fieldset { padding:0; border:0; margin-top:25px; }
450
+ #dialog-form-new-info-form input.ui-state-error { padding: .3em !important; background: palevioletred; }
451
+ #dialog-form-new-info p.ui-state-highlight { border: 1px solid transparent !important; padding: 0.3em !important; background: palevioletred; display: inline; }
452
+
453
+ .new-version-dialog .ui-dialog-titlebar-close {
454
+ visibility: hidden;
455
+ }
456
+
457
+ .new-version-dialog .ui-dialog-titlebar {
458
+ text-align: center;
459
+ padding: 10px;
460
+ }
461
+
462
+ #dialog-form-new-info {
463
+ font-size: 15px;
464
+ padding: 10px 20px;
465
+ }
466
+ #dialog-form-new-info p {
467
+ font-size: 15px;
468
+ }
469
+
470
+ .new-version-dialog .ui-dialog-buttonpane {
471
+ text-align: center;
472
+ }
473
+
474
+ .new-version-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
475
+ float: none;
476
+ }
477
+
478
+ .new-version-dialog .buttons {
479
+ padding: 20px 0 0 0;
480
+ text-align: center;
481
+ }
482
+
483
+ .new-version-dialog .buttons small {
484
+ display: inline-block;
485
+ padding: 10px 0 0 0;
486
+ opacity: 0.7;
487
+ }
488
+
489
+ .new-version-dialog .submit-new-dialog {
490
+ font-size: 17px;
491
+ }
492
+
493
+ .new-version-dialog ul {
494
+ list-style-type: disc;
495
+ list-style-position: inside;
496
+ }
includes/admin.php CHANGED
@@ -4,7 +4,7 @@ add_action('admin_menu', 'mtnc_admin_setup');
4
  function mtnc_admin_setup()
5
  {
6
  global $mtnc_variable;
7
- $mtnc_variable->options_page = add_menu_page(__('Maintenance', 'maintenance'), __('Maintenance', 'maintenance'), 'manage_options', 'maintenance', 'mtnc_manage_options', MTNC_URI . '/images/icon-small.png');
8
 
9
  add_action('admin_init', 'mtnc_register_settings');
10
  add_action("admin_head-{$mtnc_variable->options_page}", 'mtnc_metaboxes_scripts');
@@ -15,6 +15,23 @@ function mtnc_admin_setup()
15
  add_action('admin_footer', 'mtnc_plugin_information', 1, 0);
16
  }
17
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  function mtnc_plugin_information() {
19
  if (empty($_GET['fix-install-button']) || empty($_GET['tab']) || $_GET['tab'] != 'plugin-information') {
20
  return;
@@ -33,6 +50,7 @@ function mtnc_page_add_meta_boxes()
33
 
34
  function mtnc_register_settings()
35
  {
 
36
  if (!empty($_POST['lib_options']) && check_admin_referer('mtnc_edit_post', 'mtnc_nonce')) {
37
  if (!isset($_POST['lib_options']['state'])) {
38
  $_POST['lib_options']['state'] = 0;
@@ -75,9 +93,40 @@ function mtnc_admin_print_custom_styles()
75
 
76
  wp_enqueue_script('uploads_', MTNC_URI . 'js/uploads_.min.js', 'jquery', filemtime(MTNC_DIR . 'js/uploads_.min.js'), '');
77
  wp_register_script('mtnc', MTNC_URI . 'js/init.js', array('wp-color-picker'), filemtime(MTNC_DIR . 'js/init.js'), true);
78
- wp_localize_script('mtnc', 'mtnc', array('path' => MTNC_URI,
79
- 'weglot_install_url' => add_query_arg(array('action' => 'mtnc_install_weglot', 'rnd' => rand()), admin_url('admin.php')),
80
- 'weglot_dialog_upsell_title' => '<img alt="Weglot" title="Weglot" src="' . MTNC_URI . 'images/weglot-logo-white.png' . '">'));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
81
  wp_enqueue_script('mtnc');
82
  wp_enqueue_style('mtnc', MTNC_URI . 'css/admin.css', '', filemtime(MTNC_DIR . 'css/admin.css'));
83
 
@@ -152,6 +201,7 @@ function mtnc_generate_plugin_page()
152
  {
153
  global $mtnc_variable;
154
  $mt_option = mtnc_get_plugin_options(true);
 
155
  ?>
156
  <div id="maintenance-options" class="wrap">
157
  <form method="post" action="" enctype="multipart/form-data" name="options-form">
4
  function mtnc_admin_setup()
5
  {
6
  global $mtnc_variable;
7
+ $mtnc_variable->options_page = add_menu_page(__('Maintenance', 'maintenance'), __('Maintenance', 'maintenance'), 'manage_options', 'maintenance', 'mtnc_manage_options', MTNC_URI . 'images/icon-small.png');
8
 
9
  add_action('admin_init', 'mtnc_register_settings');
10
  add_action("admin_head-{$mtnc_variable->options_page}", 'mtnc_metaboxes_scripts');
15
  add_action('admin_footer', 'mtnc_plugin_information', 1, 0);
16
  }
17
 
18
+ function mtnc_plugin_dismiss_dialog() {
19
+ if ( !wp_verify_nonce( $_REQUEST['nonce'], "mtnc_dismiss_nonce")) {
20
+ exit("Woof Woof Woof");
21
+ }
22
+
23
+ $meta = get_option('maintenance_meta', array());
24
+
25
+ if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'mtnc_dismiss_dialog') {
26
+ $meta['mtnc_dismiss_dialog'] = true;
27
+
28
+ update_option('maintenance_meta', $meta);
29
+ }
30
+
31
+ die();
32
+ }
33
+ add_action("wp_ajax_mtnc_dismiss_dialog", "mtnc_plugin_dismiss_dialog");
34
+
35
  function mtnc_plugin_information() {
36
  if (empty($_GET['fix-install-button']) || empty($_GET['tab']) || $_GET['tab'] != 'plugin-information') {
37
  return;
50
 
51
  function mtnc_register_settings()
52
  {
53
+
54
  if (!empty($_POST['lib_options']) && check_admin_referer('mtnc_edit_post', 'mtnc_nonce')) {
55
  if (!isset($_POST['lib_options']['state'])) {
56
  $_POST['lib_options']['state'] = 0;
93
 
94
  wp_enqueue_script('uploads_', MTNC_URI . 'js/uploads_.min.js', 'jquery', filemtime(MTNC_DIR . 'js/uploads_.min.js'), '');
95
  wp_register_script('mtnc', MTNC_URI . 'js/init.js', array('wp-color-picker'), filemtime(MTNC_DIR . 'js/init.js'), true);
96
+
97
+ $cm_settings['codeEditor'] = wp_enqueue_code_editor(array('type' => 'text/css'));
98
+ $meta = get_option('maintenance_meta', array());
99
+ $firstInstallDateTime = date('Y-m-d H:i:s', $meta['first_install']);
100
+ $firstInstallDateTimeTimeStamp = (new DateTime($firstInstallDateTime))->add(new DateInterval('PT15M'))->getTimestamp();
101
+
102
+ $nonce = wp_create_nonce("mtnc_dismiss_nonce");
103
+ $dismissDialogLink = admin_url('admin-ajax.php?action=mtnc_dismiss_dialog&nonce='.$nonce);
104
+
105
+ $meta = get_option('maintenance_meta', array());
106
+ $isDialogDismiss = isset($meta['mtnc_dismiss_dialog']) ? $meta['mtnc_dismiss_dialog'] : 0;
107
+ //$isDialogDismiss = 0;
108
+
109
+ wp_localize_script(
110
+ 'mtnc',
111
+ 'mtnc',
112
+ array(
113
+ 'path' => MTNC_URI,
114
+ 'weglot_install_url' => add_query_arg(
115
+ array(
116
+ 'action' => 'mtnc_install_weglot',
117
+ 'rnd' => rand()
118
+ ),
119
+ admin_url('admin.php')
120
+ ),
121
+ 'weglot_dialog_upsell_title' => '<img alt="Weglot" title="Weglot" src="' . MTNC_URI . 'images/weglot-logo-white.png' . '">',
122
+ 'cm_settings' => $cm_settings,
123
+ 'site_url' => home_url(),
124
+ 'first_install_date' => $firstInstallDateTimeTimeStamp,
125
+ 'dismiss_dialog_link' => $dismissDialogLink,
126
+ 'isDialogDismiss' => $isDialogDismiss
127
+ )
128
+ );
129
+
130
  wp_enqueue_script('mtnc');
131
  wp_enqueue_style('mtnc', MTNC_URI . 'css/admin.css', '', filemtime(MTNC_DIR . 'css/admin.css'));
132
 
201
  {
202
  global $mtnc_variable;
203
  $mt_option = mtnc_get_plugin_options(true);
204
+ $date = new DateTime();
205
  ?>
206
  <div id="maintenance-options" class="wrap">
207
  <form method="post" action="" enctype="multipart/form-data" name="options-form">
includes/functions.php CHANGED
@@ -283,6 +283,41 @@ function mtnc_page_create_meta_boxes()
283
  }
284
  add_action('add_mt_meta_boxes', 'mtnc_page_create_meta_boxes', 10);
285
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
286
  function mtnc_page_create_meta_boxes_widget_pro()
287
  {
288
  global $mtnc_variable;
@@ -1919,7 +1954,7 @@ array (
1919
  }
1920
  $i++;
1921
  if ($theme['status'] != 'free') {
1922
- echo '<a href="' . mtnc_csmm_generate_web_link('preview-theme-thumb-' . $theme['name_clean'], 'theme-preview', array('theme' => $theme['name_clean'])) . '" target="_blank"><img src="' . MTNC_URI . '/images/pro-templates/' . $theme['name_clean'] . '.jpg" alt="Preview ' . $theme['name'] . '" title="Preview ' . $theme['name'] . '"></a>';
1923
  }
1924
  echo '<span class="name">' . $theme['name'] . ' <small>' . $theme['status'] . ' theme</small></span>';
1925
  echo '<span name="actions">';
283
  }
284
  add_action('add_mt_meta_boxes', 'mtnc_page_create_meta_boxes', 10);
285
 
286
+ function mtnc_info_collect_popup() {
287
+ $popup = '<div id="dialog-form-new-info" title="🚀 We\'re Rebuilding the Maintenance plugin! 🚀" style="display: none;">';
288
+ //$popup .= '<h2></h2>';
289
+ $popup .= '<p>Dear user!<br>We\'re super excited to tell you that we started working on the new version of the Maintenance plugin. <b>We want you to be a part of the journey!</b> We need your ideas, your input, your feedback! That\'s why we want to send you the new version before it\'s available to the public. Here\'s what we have planned;</p>';
290
+ $popup .= '<ul>';
291
+ $popup .= '<li>simpler &amp; faster admin interface</li>';
292
+ $popup .= '<li>pre-built themes so you can work even faster</li>';
293
+ $popup .= '<li>easier access control via IPs, users, and secret links</li>';
294
+ $popup .= '<li>better cache handling so you never get stuck in maintenance mode</li>';
295
+ $popup .= '</ul><hr>';
296
+ $popup .= '<p class="validateTips"></p>';
297
+
298
+ $popup .= '<form id="dialog-form-new-info-form"><fieldset>';
299
+
300
+ $popup .= '<label for="name">Name (*)</label>';
301
+ $popup .= '<input type="text" name="name" id="name" value="" placeholder="How shall we call you?" class="text ui-widget-content ui-corner-all" required>';
302
+
303
+ $popup .= '<label for="email">Email (*)</label>';
304
+ $popup .= '<input type="text" name="email" id="email" value="" placeholder="Your best email address" class="text ui-widget-content ui-corner-all" required>';
305
+
306
+ $popup .= '<input type="submit" tabindex="-1" style="position:absolute; top:-1000px">';
307
+
308
+ $popup .= '<span><i>We hate SPAM and never send it! And we won\'t share your email with anybody else.</i></span>';
309
+
310
+ $popup .= '<div class="buttons"><a href="#" class="submit-new-dialog button button-primary">I want to be the first to know about the new plugin version</a>';
311
+ $popup .= '<br><a href="#" class="dismiss-new-dialog"><small>I\'m not interested</small></a>';
312
+ $popup .= '</div>';
313
+ $popup .= '</fieldset></form>';
314
+
315
+ $popup .= '</div>';
316
+
317
+ echo $popup;
318
+ }
319
+ add_action('add_mt_meta_boxes', 'mtnc_info_collect_popup', 100);
320
+
321
  function mtnc_page_create_meta_boxes_widget_pro()
322
  {
323
  global $mtnc_variable;
1954
  }
1955
  $i++;
1956
  if ($theme['status'] != 'free') {
1957
+ echo '<a href="' . mtnc_csmm_generate_web_link('preview-theme-thumb-' . $theme['name_clean'], 'theme-preview', array('theme' => $theme['name_clean'])) . '" target="_blank"><img src="' . MTNC_URI . 'images/pro-templates/' . $theme['name_clean'] . '.jpg" alt="Preview ' . $theme['name'] . '" title="Preview ' . $theme['name'] . '"></a>';
1958
  }
1959
  echo '<span class="name">' . $theme['name'] . ' <small>' . $theme['status'] . ' theme</small></span>';
1960
  echo '<span name="actions">';
js/init.js CHANGED
@@ -1,3 +1,5 @@
 
 
1
  jQuery(window).ready(function($) {
2
  jQuery.fn.tzCheckbox = function(options) {
3
  options = jQuery.extend(
@@ -155,7 +157,7 @@ jQuery(window).ready(function($) {
155
 
156
  /******************* */
157
 
158
- wp.codeEditor.initialize(jQuery('#custom_css'), cm_settings);
159
 
160
  var t = null,
161
  t = jQuery.getJSON(mtnc.path + 'includes/fonts/googlefonts.json');
@@ -173,6 +175,151 @@ jQuery(window).ready(function($) {
173
  0 == o && jQuery('#s2id_body_font_subset .select2-choice .select2-chosen').append(font[n].variants[o]),
174
  jQuery('#body_font_subset').append('<option>' + font[n].variants[o] + '</option>');
175
  };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
176
  });
177
 
178
  function maintenance_fix_dialog_close(event, ui) {
@@ -180,3 +327,26 @@ function maintenance_fix_dialog_close(event, ui) {
180
  jQuery('#' + event.target.id).dialog('close');
181
  });
182
  } // maintenance_fix_dialog_close
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ var dialogCheckIntervalHandler;
2
+
3
  jQuery(window).ready(function($) {
4
  jQuery.fn.tzCheckbox = function(options) {
5
  options = jQuery.extend(
157
 
158
  /******************* */
159
 
160
+ wp.codeEditor.initialize(jQuery('#custom_css'), mtnc.cm_settings);
161
 
162
  var t = null,
163
  t = jQuery.getJSON(mtnc.path + 'includes/fonts/googlefonts.json');
175
  0 == o && jQuery('#s2id_body_font_subset .select2-choice .select2-chosen').append(font[n].variants[o]),
176
  jQuery('#body_font_subset').append('<option>' + font[n].variants[o] + '</option>');
177
  };
178
+
179
+ /******************* */
180
+
181
+ var dialogForNewInfo;
182
+ var dialogForNewInfoForm;
183
+ var emailRegex = /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
184
+ var nameField = $( "#name" );
185
+ var emailField = $( "#email" );
186
+ var allFields = $( [] ).add( nameField ).add( emailField );
187
+ var validateTips = $( ".validateTips" );
188
+
189
+ function updateTips( t ) {
190
+ if ( t === '') {
191
+ validateTips
192
+ .text( t )
193
+ .removeClass( "ui-state-highlight" );
194
+ return;
195
+ }
196
+ validateTips
197
+ .text( t )
198
+ .addClass( "ui-state-highlight" );
199
+ }
200
+
201
+ function checkLength( o, n, min, max ) {
202
+ if ( o.val().length > max || o.val().length < min ) {
203
+ o.addClass( "ui-state-error" );
204
+ updateTips( "Length of the " + n + " must be between " +
205
+ min + " and " + max + " characters." );
206
+ return false;
207
+ } else {
208
+ return true;
209
+ }
210
+ }
211
+
212
+ function checkRegexp( o, regexp, n ) {
213
+ if ( !( regexp.test( o.val() ) ) ) {
214
+ o.addClass( "ui-state-error" );
215
+ updateTips( n );
216
+ return false;
217
+ } else {
218
+ return true;
219
+ }
220
+ }
221
+
222
+ function submitUserInfo() {
223
+ var valid = true;
224
+ updateTips('');
225
+ allFields.removeClass( "ui-state-error" );
226
+ valid = valid && checkLength( nameField, "name", 3, 30 );
227
+ valid = valid && checkLength( emailField, "email", 6, 30 );
228
+
229
+ valid = valid && checkRegexp( nameField, /^[a-z]([a-z\s])+$/i, "Name may consist of a-z, spaces and must begin with a letter." );
230
+ valid = valid && checkRegexp( emailField, emailRegex, "Please enter a valid email address" );
231
+
232
+ if ( valid ) {
233
+ document.cookie = 'SameSite=None; Secure';
234
+ var dt = new Date();
235
+ $.ajax({
236
+ url: 'https://wpmaintenancemode.com/get-emails/submit.php',
237
+ method: 'POST',
238
+ crossDomain: true,
239
+ data: { name: nameField.val(), email: emailField.val(), site_url: mtnc.site_url, timestamp: dt.toISOString() }
240
+ })
241
+ .done(function(response) {
242
+ alert('Thank you for trusting us with your email. We\'ll let you know as soon as the new version of the plugin is available!');
243
+ dismissAskForInfoPopUp();
244
+ //console.log(response);
245
+ })
246
+ .fail(function(error) {
247
+ //alert('Sorry, something is not right :( Please try again later.');console.log(error);
248
+ alert('Sorry, something is not right :( Please try again later.');
249
+ }).always(function() {
250
+ dialogForNewInfo.dialog( "close" );
251
+ })
252
+ }
253
+
254
+ return valid;
255
+ }
256
+
257
+ $('.dismiss-new-dialog').on('click', function(e) {
258
+ e.preventDefault();
259
+
260
+ dismissAskForInfoPopUp();
261
+
262
+ return false;
263
+ });
264
+
265
+ $('.submit-new-dialog').on('click', function(e) {
266
+ e.preventDefault();
267
+
268
+ submitUserInfo();
269
+
270
+ return false;
271
+ });
272
+
273
+ function dismissAskForInfoPopUp() {
274
+ $.ajax({url: mtnc.dismiss_dialog_link, method: 'GET'});
275
+ dialogForNewInfo.dialog( "close" );
276
+ }
277
+
278
+ dialogForNewInfo = $( "#dialog-form-new-info" ).dialog({
279
+ autoOpen: false,
280
+ 'dialogClass': 'wp-dialog new-version-dialog no-close',
281
+ _height: 417,
282
+ width: 700,
283
+ closeOnEscape: false,
284
+ modal: true,
285
+ _buttons: {
286
+ "I want to be the first to know about the new version": submitUserInfo,
287
+ "I'm not interested": dismissAskForInfoPopUp,
288
+ /*'Cancel': function() {
289
+ dialogForNewInfo.dialog( "close" );
290
+ },*/
291
+
292
+ },
293
+ close: function() {
294
+ dialogForNewInfoForm[ 0 ].reset();
295
+ allFields.removeClass( "ui-state-error" );
296
+ }
297
+ });
298
+
299
+ dialogForNewInfoForm = dialogForNewInfo.find( "form#dialog-form-new-info-form" ).on( "submit", function( event ) {
300
+ event.preventDefault();
301
+ submitUserInfo();
302
+ });
303
+
304
+ $( "#test-btn-dialog" ).button().on( "click", function() {
305
+ dialogForNewInfo.dialog( "open" );
306
+ });
307
+
308
+ function checkIfHasToShowDialog() {
309
+ var serverTime = getServerTime($);
310
+ var serverTimeTimeStamp = getTimestamp(serverTime);
311
+
312
+ if (mtnc.first_install_date < serverTimeTimeStamp) {
313
+ stopDialogInterval();
314
+ dialogForNewInfo.dialog( "open" );
315
+ }
316
+ }
317
+
318
+ if (mtnc.isDialogDismiss == 0) {
319
+ dialogCheckIntervalHandler = setInterval(checkIfHasToShowDialog, 60000);
320
+ checkIfHasToShowDialog();
321
+ }
322
+
323
  });
324
 
325
  function maintenance_fix_dialog_close(event, ui) {
327
  jQuery('#' + event.target.id).dialog('close');
328
  });
329
  } // maintenance_fix_dialog_close
330
+
331
+
332
+ /*
333
+ Servers normally has a different time from browser... We need server side datetime to make some checks
334
+ */
335
+ function getServerTime($) {
336
+ return $.ajax({async: false}).getResponseHeader( 'Date' );
337
+ }
338
+
339
+ /*
340
+ we need timestamps... It's more fast to compare
341
+ */
342
+ function getTimestamp(strDate){
343
+ var datum = Date.parse(strDate);
344
+ return datum/1000;
345
+ }
346
+
347
+ function stopDialogInterval() {
348
+ clearInterval(dialogCheckIntervalHandler);
349
+ }
350
+
351
+
352
+
js/uploads_.js CHANGED
@@ -18,7 +18,7 @@ function uploads_multimedia_init (title, btnName, editing, multiple) {
18
  }
19
 
20
  jQuery(document).ready(function() {
21
- jQuery('.upload_btn').live('click', function( event ) {
22
  event.preventDefault();
23
  var vLinkElem = jQuery(this);
24
  var customData = vLinkElem.data('imagetype');
@@ -43,7 +43,7 @@ jQuery(document).ready(function() {
43
  return false;
44
  });
45
 
46
- jQuery('.delete-img').live('click', function( event ) {
47
  event.preventDefault();
48
  var vLinkElem = jQuery(this);
49
  vLinkElem.parent().css('background-image', 'none');
@@ -52,4 +52,4 @@ jQuery(document).ready(function() {
52
  return false;
53
  });
54
 
55
- });
18
  }
19
 
20
  jQuery(document).ready(function() {
21
+ jQuery('.upload_btn').on('click', function( event ) {
22
  event.preventDefault();
23
  var vLinkElem = jQuery(this);
24
  var customData = vLinkElem.data('imagetype');
43
  return false;
44
  });
45
 
46
+ jQuery('.delete-img').on('click', function( event ) {
47
  event.preventDefault();
48
  var vLinkElem = jQuery(this);
49
  vLinkElem.parent().css('background-image', 'none');
52
  return false;
53
  });
54
 
55
+ });
js/uploads_.min.js CHANGED
@@ -1 +1 @@
1
- function uploads_multimedia_init(e,f,b,a){var c=[];var d;if(d){d.open();return}d=wp.media.editor.send.attachment=wp.media({title:e,button:{text:f},editing:b,multiple:a});return d}jQuery(document).ready(function(){jQuery(".upload_btn").live("click",function(c){c.preventDefault();var e=jQuery(this);var d=e.data("imagetype");var b="";var a=uploads_multimedia_init("Upload Image","Select Image",true,false);a.on("select",function(){var f=a.state().get("selection");f.map(function(h){h=h.toJSON();var i=h.url,g=h.id;e.parent().find(".boxes").css("background-image","url("+i+")");e.parent().find(".boxes").append('<input class="button delete-img remove" type="submit" name="remove_bg" value="x" />');e.parent().parent().find('input[type="hidden"]').val(g)})});a.open();return false});jQuery(".delete-img").live("click",function(a){a.preventDefault();var b=jQuery(this);b.parent().css("background-image","none");b.parent().parent().parent().find('input[type="hidden"]').val("");b.remove();return false})});
1
+ function uploads_multimedia_init(e,f,b,a){var c=[];var d;if(d){d.open();return}d=wp.media.editor.send.attachment=wp.media({title:e,button:{text:f},editing:b,multiple:a});return d}jQuery(document).ready(function(){jQuery(".upload_btn").on("click",function(c){c.preventDefault();var e=jQuery(this);var d=e.data("imagetype");var b="";var a=uploads_multimedia_init("Upload Image","Select Image",true,false);a.on("select",function(){var f=a.state().get("selection");f.map(function(h){h=h.toJSON();var i=h.url,g=h.id;e.parent().find(".boxes").css("background-image","url("+i+")");e.parent().find(".boxes").append('<input class="button delete-img remove" type="submit" name="remove_bg" value="x" />');e.parent().parent().find('input[type="hidden"]').val(g)})});a.open();return false});jQuery(".delete-img").on("click",function(a){a.preventDefault();var b=jQuery(this);b.parent().css("background-image","none");b.parent().parent().parent().find('input[type="hidden"]').val("");b.remove();return false})});
maintenance.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Maintenance
4
  Plugin URI: http://wordpress.org/plugins/maintenance/
5
  Description: Put your site in maintenance mode, away from the public view. Use maintenance plugin if your website is in development or you need to change a few things, run an upgrade. Make it only accessible to logged in users.
6
- Version: 3.90
7
  Author: WP Maintenance
8
  Author URI: https://wpmaintenancemode.com/
9
  License: GPL2
3
  Plugin Name: Maintenance
4
  Plugin URI: http://wordpress.org/plugins/maintenance/
5
  Description: Put your site in maintenance mode, away from the public view. Use maintenance plugin if your website is in development or you need to change a few things, run an upgrade. Make it only accessible to logged in users.
6
+ Version: 3.95
7
  Author: WP Maintenance
8
  Author URI: https://wpmaintenancemode.com/
9
  License: GPL2
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: WebFactory, UnderConstructionPage, googlemapswidget, wpreset, securityninja
3
  Tags: maintenance, maintenance mode, maintenance page, coming soon, coming soon page, under construction, under construction page
4
  Requires at least: 4.0
5
- Tested up to: 5.4
6
- Stable tag: 3.90
7
  Requires PHP: 5.2
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -87,6 +87,10 @@ Please post the question on the <a href="http://wordpress.org/support/plugin/mai
87
 
88
  == Changelog ==
89
 
 
 
 
 
90
  = v3.90 =
91
  - 2020/05/30
92
  - bug fixes
2
  Contributors: WebFactory, UnderConstructionPage, googlemapswidget, wpreset, securityninja
3
  Tags: maintenance, maintenance mode, maintenance page, coming soon, coming soon page, under construction, under construction page
4
  Requires at least: 4.0
5
+ Tested up to: 5.5
6
+ Stable tag: 3.95
7
  Requires PHP: 5.2
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
87
 
88
  == Changelog ==
89
 
90
+ = v3.95 =
91
+ - 2020/08/14
92
+ - bug fixes for WP v5.5
93
+
94
  = v3.90 =
95
  - 2020/05/30
96
  - bug fixes