WordPress Backup and Migrate Plugin – Backup Guard - Version 1.3.6

Version Description

  • Option Name Change
Download this release

Release Info

Developer BackupGuard
Plugin Icon 128x128 WordPress Backup and Migrate Plugin – Backup Guard
Version 1.3.6
Comparing to
See all releases

Code changes from version 1.3.4 to 1.3.6

BackupGuard.php CHANGED
@@ -437,9 +437,17 @@ function backup_guard_register_ajax_callbacks()
437
  add_action('wp_ajax_backup_guard_storeSurveyResult', 'backup_guard_store_survey_result');
438
  add_action('wp_ajax_backup_guard_reviewDontShow', 'backup_guard_review_dont_show');
439
  add_action('wp_ajax_backup_guard_review_later', 'backup_guard_review_later');
 
440
  }
441
  }
442
 
 
 
 
 
 
 
 
443
  function backup_guard_review_dont_show()
444
  {
445
  check_ajax_referer('backupGuardAjaxNonce', 'token');
437
  add_action('wp_ajax_backup_guard_storeSurveyResult', 'backup_guard_store_survey_result');
438
  add_action('wp_ajax_backup_guard_reviewDontShow', 'backup_guard_review_dont_show');
439
  add_action('wp_ajax_backup_guard_review_later', 'backup_guard_review_later');
440
+ add_action('wp_ajax_backup_guard_closeFreeBanner', 'closeFreeBanner');
441
  }
442
  }
443
 
444
+ function closeFreeBanner()
445
+ {
446
+ check_ajax_referer('backupGuardAjaxNonce', 'token');
447
+ SGConfig::set('SG_CLOSE_FREE_BANNER', 1);
448
+ wp_die();
449
+ }
450
+
451
  function backup_guard_review_dont_show()
452
  {
453
  check_ajax_referer('backupGuardAjaxNonce', 'token');
README.txt CHANGED
@@ -5,8 +5,8 @@ Author: Backup Guard
5
  Donate link: https://backup-guard.com/products/backup-wordpress
6
  Tags: backup, wordpress backup plugin, backup plugin, database backup, migrate, back up
7
  Requires at least: 3.8
8
- Tested up to: 5.4.1
9
- Stable tag: 1.3.4
10
  License: GPLv2 or later
11
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
12
 
@@ -157,6 +157,12 @@ When you are facing an issue of any kind with any of our products, the first thi
157
  6. Site backup customization
158
 
159
  == Changelog ==
 
 
 
 
 
 
160
  = 1.3.4 =
161
  * Admin side improvement
162
 
5
  Donate link: https://backup-guard.com/products/backup-wordpress
6
  Tags: backup, wordpress backup plugin, backup plugin, database backup, migrate, back up
7
  Requires at least: 3.8
8
+ Tested up to: 5.4.2
9
+ Stable tag: 1.3.6
10
  License: GPLv2 or later
11
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
12
 
157
  6. Site backup customization
158
 
159
  == Changelog ==
160
+ = 1.3.6 =
161
+ * Option Name Change
162
+
163
+ = 1.3.5 =
164
+ * A possibility to close/dismiss the plugin admin panel banner
165
+
166
  = 1.3.4 =
167
  * Admin side improvement
168
 
backup.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin Name: Backup
5
  * Plugin URI: https://backup-guard.com/products/backup-wordpress
6
  * Description: Backup Guard is the most complete site backup and restore plugin. We offer the easiest way to backup, restore or migrate your site. You can backup your files, database or both.
7
- * Version: 1.3.4
8
  * Author: BackupGuard
9
  * Author URI: https://backup-guard.com/products/backup-wordpress
10
  * License: GPL-2.0+
@@ -16,7 +16,7 @@ if (function_exists('activate_backup_guard')) {
16
  }
17
 
18
  if (!defined('SG_BACKUP_GUARD_VERSION')) {
19
- define('SG_BACKUP_GUARD_VERSION', '1.3.4');
20
  }
21
 
22
  if (!defined('SG_BACKUP_GUARD_MAIN_FILE')) {
4
  * Plugin Name: Backup
5
  * Plugin URI: https://backup-guard.com/products/backup-wordpress
6
  * Description: Backup Guard is the most complete site backup and restore plugin. We offer the easiest way to backup, restore or migrate your site. You can backup your files, database or both.
7
+ * Version: 1.3.6
8
  * Author: BackupGuard
9
  * Author URI: https://backup-guard.com/products/backup-wordpress
10
  * License: GPL-2.0+
16
  }
17
 
18
  if (!defined('SG_BACKUP_GUARD_VERSION')) {
19
+ define('SG_BACKUP_GUARD_VERSION', '1.3.6');
20
  }
21
 
22
  if (!defined('SG_BACKUP_GUARD_MAIN_FILE')) {
public/css/bgstyle.less.css CHANGED
@@ -99,6 +99,21 @@
99
  width: 22%;
100
  float: right;
101
  display: inline-block;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
102
  }
103
 
104
  .sg-banner-social-button {
99
  width: 22%;
100
  float: right;
101
  display: inline-block;
102
+ position: relative;
103
+ }
104
+
105
+ .sg-close-free-banner {
106
+ position: absolute;
107
+ cursor: pointer;
108
+ line-height: 1;
109
+ font-size: 15px;
110
+ right: 7px;
111
+ top: 7px;
112
+ background-image: url(../img/close-button.png);
113
+ width: 9px;
114
+ height: 9px;
115
+ background-size: contain;
116
+ background-repeat: no-repeat;
117
  }
118
 
119
  .sg-banner-social-button {
public/img/close-button.png ADDED
Binary file
public/include/header.php CHANGED
@@ -1,6 +1,7 @@
1
  <?php
2
 
3
  $isAdsEnabled = SGConfig::get('SG_DISABLE_ADS');
 
4
 
5
  $isPlatinumPackage = false;
6
  $pluginCapabilities = backupGuardGetCapabilities();
@@ -8,7 +9,7 @@
8
  $isPlatinumPackage = true;
9
  }
10
 
11
- if (!$isPlatinumPackage && !$isAdsEnabled) {
12
  include_once(SG_NOTICE_TEMPLATES_PATH.'banner.php');
13
  }
14
 
1
  <?php
2
 
3
  $isAdsEnabled = SGConfig::get('SG_DISABLE_ADS');
4
+ $closeFreeBanner = SGConfig::get('SG_CLOSE_FREE_BANNER');
5
 
6
  $isPlatinumPackage = false;
7
  $pluginCapabilities = backupGuardGetCapabilities();
9
  $isPlatinumPackage = true;
10
  }
11
 
12
+ if (!$isPlatinumPackage && !$isAdsEnabled && !$closeFreeBanner) {
13
  include_once(SG_NOTICE_TEMPLATES_PATH.'banner.php');
14
  }
15
 
public/js/sgbackup.js CHANGED
@@ -20,6 +20,7 @@ jQuery(document).ready( function() {
20
  sgBackup.initActiveAction();
21
  sgBackup.initBackupDeletion();
22
  sgBackup.toggleMultiDeleteButton();
 
23
 
24
  jQuery('span[data-toggle=tooltip]').tooltip();
25
 
@@ -139,11 +140,11 @@ jQuery(document).ready( function() {
139
  sgBackup.isValidEmailAddress = function(emailAddress) {
140
  var pattern = new RegExp(/^(("[\w-+\s]+")|([\w-+]+(?:\.[\w-+]+)*)|("[\w-+\s]+")([\w-+]+(?:\.[\w-+]+)*))(@((?:[\w-+]+\.)*\w[\w-+]{0,66})\.([a-z]{2,10}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][\d]\.|1[\d]{2}\.|[\d]{1,2}\.))((25[0-5]|2[0-4][\d]|1[\d]{2}|[\d]{1,2})\.){2}(25[0-5]|2[0-4][\d]|1[\d]{2}|[\d]{1,2})\]?$)/i);
141
  return pattern.test(emailAddress);
142
- }
143
 
144
  sgBackup.getSelectedBackupsNumber = function() {
145
  return jQuery('tbody input[type="checkbox"]:checked').length
146
- }
147
 
148
  sgBackup.toggleMultiDeleteButton = function() {
149
  var numberOfChoosenBackups = sgBackup.getSelectedBackupsNumber();
@@ -155,7 +156,19 @@ sgBackup.toggleMultiDeleteButton = function() {
155
  else {
156
  target.hide();
157
  }
158
- }
 
 
 
 
 
 
 
 
 
 
 
 
159
 
160
  sgBackup.deleteMultiBackups = function(backupNames){
161
  var ajaxHandler = new sgRequestHandler('deleteBackup', {backupName: backupNames, token: BG_BACKUP_STRINGS.nonce});
@@ -163,7 +176,7 @@ sgBackup.deleteMultiBackups = function(backupNames){
163
  location.reload();
164
  };
165
  ajaxHandler.run();
166
- }
167
 
168
  //SGManual Backup AJAX callback
169
  sgBackup.manualBackup = function(){
@@ -226,16 +239,16 @@ sgBackup.manualBackup = function(){
226
  sgBackup.restManualBackupModal = function() {
227
  jQuery('.modal-footer .btn-primary').removeAttr('disabled');
228
  jQuery('.modal-footer .btn-primary').html('Backup');
229
- }
230
 
231
  sgBackup.cancelDonwload = function(name) {
232
  var cancelDonwloadHandler = new sgRequestHandler('cancelDownload', {name: name, token: BG_BACKUP_STRINGS.nonce});
233
  cancelDonwloadHandler.callback = function(response){
234
  sgBackup.hideAjaxSpinner();
235
  location.reload();
236
- }
237
  cancelDonwloadHandler.run();
238
- }
239
 
240
  sgBackup.listStorage = function(importFrom) {
241
  var listStorage = new sgRequestHandler('listStorage', {storage: importFrom, token: BG_BACKUP_STRINGS.nonce});
@@ -300,15 +313,15 @@ sgBackup.listStorage = function(importFrom) {
300
 
301
  jQuery('#sg-archive-list-table tbody').append(content);
302
  sgBackup.toggleDownloadFromCloudPage();
303
- }
304
 
305
  listStorage.run();
306
- }
307
 
308
 
309
  sgBackup.convertBytesToMegabytes = function ($bytes) {
310
  return ($bytes/(1024*1024)).toFixed(2);
311
- }
312
 
313
  //Init file upload
314
  sgBackup.initFileUpload = function(){
@@ -348,12 +361,12 @@ sgBackup.nextPage = function(){
348
  var alert = sgBackup.alertGenerator(response.error, 'alert-danger');
349
  jQuery('#sg-modal .modal-header').prepend(alert);
350
  }
351
- }
352
 
353
  isFeatureAvailable.run();
354
  }
355
  }
356
- }
357
 
358
  sgBackup.previousPage = function(){
359
  if(jQuery('#modal-import-2').is(":visible")){
@@ -369,26 +382,26 @@ sgBackup.previousPage = function(){
369
  jQuery('#uploadSgbpFile').hide();
370
 
371
  jQuery('.modal-title').html('Import from');
372
- }
373
 
374
  sgBackup.toggleNavigationButtons = function(){
375
  jQuery('#switch-modal-import-pages-next').toggle();
376
  jQuery('#switch-modal-import-pages-back').toggle();
377
- }
378
 
379
  sgBackup.toggleDownloadFromPCPage = function(){
380
  sgBackup.toggleNavigationButtons();
381
  jQuery('#modal-import-1').toggle();
382
  jQuery('#modal-import-2').toggle();
383
  jQuery('#uploadSgbpFile').toggle();
384
- }
385
 
386
  sgBackup.toggleDownloadFromCloudPage = function(){
387
  sgBackup.toggleNavigationButtons();
388
  jQuery('#modal-import-1').toggle();
389
  jQuery('#modal-import-3').toggle();
390
  jQuery('#uploadSgbpFile').toggle();
391
- }
392
 
393
  sgBackup.downloadFromCloud = function (path, name, storage, size) {
394
  sgBackup.showAjaxSpinner('.modal-dialog');
@@ -437,12 +450,12 @@ sgBackup.downloadFromCloud = function (path, name, storage, size) {
437
 
438
  return false;
439
  }
440
- }
441
 
442
  SG_ACTIVE_DOWNLOAD_AJAX = true;
443
  downloadFromCloudHandler.run();
444
  sgBackup.fileDownloadProgress(name, size);
445
- }
446
 
447
  sgBackup.downloadFromPC = function(){
448
  var sgData = null;
@@ -488,7 +501,7 @@ sgBackup.downloadFromPC = function(){
488
  var alert = sgBackup.alertGenerator(BG_BACKUP_STRINGS.fileUploadFailed, 'alert-danger');
489
  jQuery('#sg-modal .modal-header').prepend(alert);
490
  });
491
- }
492
 
493
  sgBackup.fileDownloadProgress = function(file, size){
494
  var getFileDownloadProgress = new sgRequestHandler('getFileDownloadProgress', {file: file, size: size, token: BG_BACKUP_STRINGS.nonce});
@@ -500,16 +513,16 @@ sgBackup.fileDownloadProgress = function(file, size){
500
  getFileDownloadProgress.run();
501
  }, SG_AJAX_REQUEST_FREQUENCY);
502
  }
503
- }
504
 
505
  getFileDownloadProgress.run();
506
- }
507
 
508
  sgBackup.fileUploadProgress = function(e){
509
  if(e.lengthComputable){
510
  jQuery('#uploadSgbpFile').html('Importing ('+ Math.round((e.loaded*100.0)/ e.total)+'%)');
511
  }
512
- }
513
 
514
  sgBackup.checkBackupCreation = function(){
515
  jQuery('#manualBackup .btn-success').attr('disabled', true);
@@ -641,7 +654,7 @@ sgBackup.startRestore = function(bname) {
641
  jQuery('#sg-modal .modal-header').prepend(alert);
642
  return false;
643
  }
644
- }
645
 
646
  isFeatureAvailable.run();
647
  }
20
  sgBackup.initActiveAction();
21
  sgBackup.initBackupDeletion();
22
  sgBackup.toggleMultiDeleteButton();
23
+ sgBackup.closeFreeBaner();
24
 
25
  jQuery('span[data-toggle=tooltip]').tooltip();
26
 
140
  sgBackup.isValidEmailAddress = function(emailAddress) {
141
  var pattern = new RegExp(/^(("[\w-+\s]+")|([\w-+]+(?:\.[\w-+]+)*)|("[\w-+\s]+")([\w-+]+(?:\.[\w-+]+)*))(@((?:[\w-+]+\.)*\w[\w-+]{0,66})\.([a-z]{2,10}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][\d]\.|1[\d]{2}\.|[\d]{1,2}\.))((25[0-5]|2[0-4][\d]|1[\d]{2}|[\d]{1,2})\.){2}(25[0-5]|2[0-4][\d]|1[\d]{2}|[\d]{1,2})\]?$)/i);
142
  return pattern.test(emailAddress);
143
+ };
144
 
145
  sgBackup.getSelectedBackupsNumber = function() {
146
  return jQuery('tbody input[type="checkbox"]:checked').length
147
+ };
148
 
149
  sgBackup.toggleMultiDeleteButton = function() {
150
  var numberOfChoosenBackups = sgBackup.getSelectedBackupsNumber();
156
  else {
157
  target.hide();
158
  }
159
+ };
160
+
161
+ sgBackup.closeFreeBaner = function() {
162
+ jQuery('.sg-close-free-banner').bind('click', function () {
163
+ var ajaxHandler = new sgRequestHandler('closeFreeBanner', {
164
+ token: BG_BACKUP_STRINGS.nonce
165
+ });
166
+ ajaxHandler.callback = function(response, error) {
167
+ jQuery('#sg-banner').remove();
168
+ };
169
+ ajaxHandler.run();
170
+ });
171
+ };
172
 
173
  sgBackup.deleteMultiBackups = function(backupNames){
174
  var ajaxHandler = new sgRequestHandler('deleteBackup', {backupName: backupNames, token: BG_BACKUP_STRINGS.nonce});
176
  location.reload();
177
  };
178
  ajaxHandler.run();
179
+ };
180
 
181
  //SGManual Backup AJAX callback
182
  sgBackup.manualBackup = function(){
239
  sgBackup.restManualBackupModal = function() {
240
  jQuery('.modal-footer .btn-primary').removeAttr('disabled');
241
  jQuery('.modal-footer .btn-primary').html('Backup');
242
+ };
243
 
244
  sgBackup.cancelDonwload = function(name) {
245
  var cancelDonwloadHandler = new sgRequestHandler('cancelDownload', {name: name, token: BG_BACKUP_STRINGS.nonce});
246
  cancelDonwloadHandler.callback = function(response){
247
  sgBackup.hideAjaxSpinner();
248
  location.reload();
249
+ };
250
  cancelDonwloadHandler.run();
251
+ };
252
 
253
  sgBackup.listStorage = function(importFrom) {
254
  var listStorage = new sgRequestHandler('listStorage', {storage: importFrom, token: BG_BACKUP_STRINGS.nonce});
313
 
314
  jQuery('#sg-archive-list-table tbody').append(content);
315
  sgBackup.toggleDownloadFromCloudPage();
316
+ };
317
 
318
  listStorage.run();
319
+ };
320
 
321
 
322
  sgBackup.convertBytesToMegabytes = function ($bytes) {
323
  return ($bytes/(1024*1024)).toFixed(2);
324
+ };
325
 
326
  //Init file upload
327
  sgBackup.initFileUpload = function(){
361
  var alert = sgBackup.alertGenerator(response.error, 'alert-danger');
362
  jQuery('#sg-modal .modal-header').prepend(alert);
363
  }
364
+ };
365
 
366
  isFeatureAvailable.run();
367
  }
368
  }
369
+ };
370
 
371
  sgBackup.previousPage = function(){
372
  if(jQuery('#modal-import-2').is(":visible")){
382
  jQuery('#uploadSgbpFile').hide();
383
 
384
  jQuery('.modal-title').html('Import from');
385
+ };
386
 
387
  sgBackup.toggleNavigationButtons = function(){
388
  jQuery('#switch-modal-import-pages-next').toggle();
389
  jQuery('#switch-modal-import-pages-back').toggle();
390
+ };
391
 
392
  sgBackup.toggleDownloadFromPCPage = function(){
393
  sgBackup.toggleNavigationButtons();
394
  jQuery('#modal-import-1').toggle();
395
  jQuery('#modal-import-2').toggle();
396
  jQuery('#uploadSgbpFile').toggle();
397
+ };
398
 
399
  sgBackup.toggleDownloadFromCloudPage = function(){
400
  sgBackup.toggleNavigationButtons();
401
  jQuery('#modal-import-1').toggle();
402
  jQuery('#modal-import-3').toggle();
403
  jQuery('#uploadSgbpFile').toggle();
404
+ };
405
 
406
  sgBackup.downloadFromCloud = function (path, name, storage, size) {
407
  sgBackup.showAjaxSpinner('.modal-dialog');
450
 
451
  return false;
452
  }
453
+ };
454
 
455
  SG_ACTIVE_DOWNLOAD_AJAX = true;
456
  downloadFromCloudHandler.run();
457
  sgBackup.fileDownloadProgress(name, size);
458
+ };
459
 
460
  sgBackup.downloadFromPC = function(){
461
  var sgData = null;
501
  var alert = sgBackup.alertGenerator(BG_BACKUP_STRINGS.fileUploadFailed, 'alert-danger');
502
  jQuery('#sg-modal .modal-header').prepend(alert);
503
  });
504
+ };
505
 
506
  sgBackup.fileDownloadProgress = function(file, size){
507
  var getFileDownloadProgress = new sgRequestHandler('getFileDownloadProgress', {file: file, size: size, token: BG_BACKUP_STRINGS.nonce});
513
  getFileDownloadProgress.run();
514
  }, SG_AJAX_REQUEST_FREQUENCY);
515
  }
516
+ };
517
 
518
  getFileDownloadProgress.run();
519
+ };
520
 
521
  sgBackup.fileUploadProgress = function(e){
522
  if(e.lengthComputable){
523
  jQuery('#uploadSgbpFile').html('Importing ('+ Math.round((e.loaded*100.0)/ e.total)+'%)');
524
  }
525
+ };
526
 
527
  sgBackup.checkBackupCreation = function(){
528
  jQuery('#manualBackup .btn-success').attr('disabled', true);
654
  jQuery('#sg-modal .modal-header').prepend(alert);
655
  return false;
656
  }
657
+ };
658
 
659
  isFeatureAvailable.run();
660
  }
public/settings.php CHANGED
@@ -199,7 +199,7 @@ $ftpPassiveMode = SGConfig::get('SG_FTP_PASSIVE_MODE');
199
  <?php endif; ?>
200
 
201
  <div class="form-group">
202
- <label class="col-md-7 sg-control-label" for="sg-email"><?php _backupGuardT('AJAX request frequency')?></label>
203
  <div class="col-md-5">
204
  <?php echo selectElement($intervalSelectElement, array('id'=>'sg-ajax-interval', 'name'=>'ajaxInterval', 'class'=>'form-control'), '', $selectedInterval);?>
205
  </div>
199
  <?php endif; ?>
200
 
201
  <div class="form-group">
202
+ <label class="col-md-7 sg-control-label" for="sg-email"><?php _backupGuardT('Request frequency')?></label>
203
  <div class="col-md-5">
204
  <?php echo selectElement($intervalSelectElement, array('id'=>'sg-ajax-interval', 'name'=>'ajaxInterval', 'class'=>'form-control'), '', $selectedInterval);?>
205
  </div>
public/templates/notices/banner.php CHANGED
@@ -56,6 +56,7 @@
56
  </div>
57
 
58
  <div id="sg-right-column">
 
59
  <ul>
60
  <li class="sg-logo-li">
61
  <a id="sg-logo" target="_blank" href="<?php echo SG_BACKUP_SITE_URL; ?>"></a>
56
  </div>
57
 
58
  <div id="sg-right-column">
59
+ <div class="sg-close-free-banner"></div>
60
  <ul>
61
  <li class="sg-logo-li">
62
  <a id="sg-logo" target="_blank" href="<?php echo SG_BACKUP_SITE_URL; ?>"></a>