Migration, Backup, Staging – WPvivid - Version 0.9.56

Version Description

  • Fixed: Some used images would show up in the image cleaner results in some cases.
  • Fixed some bugs in the plugin code.
  • Optimized the plugin code.
Download this release

Release Info

Developer wpvivid
Plugin Icon 128x128 Migration, Backup, Staging – WPvivid
Version 0.9.56
Comparing to
See all releases

Code changes from version 0.9.55 to 0.9.56

admin/class-wpvivid-admin.php CHANGED
@@ -1217,73 +1217,35 @@ class WPvivid_Admin {
1217
  <table class="wp-list-table widefat plugins" style="border-collapse: collapse;">
1218
  <thead>
1219
  <tr class="backup-list-head" style="border-bottom: 0;">
1220
- <th><?php _e('Pro Version Features', 'wpvivid-backuprestore'); ?></th>
1221
- <th style="text-align:center;"><?php _e('Basic', 'wpvivid-backuprestore'); ?></th>
1222
  <th style="text-align:center;"><?php _e('Freelancer', 'wpvivid-backuprestore'); ?></th>
 
1223
  <th style="text-align:center;"><?php _e('Ultimate', 'wpvivid-backuprestore'); ?></th>
1224
  </tr>
1225
  </thead>
1226
  <tbody class="wpvivid-backuplist">
1227
  <tr style="">
1228
  <td>
1229
- <p><strong><?php _e('Websites', 'wpvivid-backuprestore'); ?></strong></p>
1230
- <p><strong><?php _e('Backup:', 'wpvivid-backuprestore'); ?></strong>&nbsp<?php _e('Custom Content', 'wpvivid-backuprestore'); ?></p>
1231
- <p style="color: #dd9933;"><strong><?php _e('Backup:', 'wpvivid-backuprestore'); ?></strong>&nbsp<?php _e('Incremental Backup', 'wpvivid-backuprestore'); ?></p>
1232
- <p><strong><?php _e('Backup:', 'wpvivid-backuprestore'); ?></strong>&nbsp<?php _e('Create a restore point', 'wpvivid-backuprestore'); ?></p>
1233
- <p><strong><?php _e('Backup:', 'wpvivid-backuprestore'); ?></strong>&nbsp<?php _e('Include/exclude files/folders', 'wpvivid-backuprestore'); ?></p>
1234
- <p><strong><?php _e('Migration:', 'wpvivid-backuprestore'); ?></strong>&nbsp<?php _e('Custom Content', 'wpvivid-backuprestore'); ?></p>
1235
- <p><strong><?php _e('Migration:', 'wpvivid-backuprestore'); ?></strong>&nbsp<?php _e('Migration via remote storage', 'wpvivid-backuprestore'); ?></p>
1236
- <p><strong><?php _e('Remote Storage:', 'wpvivid-backuprestore'); ?></strong>&nbsp<?php _e('Custom Directory (leading cloud storage providers)', 'wpvivid-backuprestore'); ?></p>
1237
- <p><strong><?php _e('Remote Storage:', 'wpvivid-backuprestore'); ?></strong>&nbsp<?php _e('WASABI/Pcloud (Only Pro)', 'wpvivid-backuprestore'); ?></p>
1238
- <p style="color: #dd9933;"><strong><?php _e('Schedule:', 'wpvivid-backuprestore'); ?></strong>&nbsp<?php _e('Incremental Backup Schedule', 'wpvivid-backuprestore'); ?></p>
1239
- <p><strong><?php _e('Schedule:', 'wpvivid-backuprestore'); ?></strong>&nbsp<?php _e('Custom Timezone', 'wpvivid-backuprestore'); ?></p>
1240
- <p><strong><?php _e('Schedule:', 'wpvivid-backuprestore'); ?></strong>&nbsp<?php _e('Custom content for each schedule', 'wpvivid-backuprestore'); ?></p>
1241
- <p><strong><?php _e('Schedule:', 'wpvivid-backuprestore'); ?></strong>&nbsp<?php _e('Custom start time of schedule', 'wpvivid-backuprestore'); ?></p>
1242
- <p><strong><?php _e('Restore:', 'wpvivid-backuprestore'); ?></strong>&nbsp<?php _e('Restore a website from remote storage', 'wpvivid-backuprestore'); ?></p>
1243
- <p><strong><?php _e('Restore:', 'wpvivid-backuprestore'); ?></strong>&nbsp<?php _e('Restore what you want from a backup', 'wpvivid-backuprestore'); ?></p>
1244
- <p><strong><?php _e('Email Reports:', 'wpvivid-backuprestore'); ?></strong>&nbsp<?php _e('Send email reports to multiple email addresses', 'wpvivid-backuprestore'); ?></p>
1245
- <p style="color: #dd9933;"><strong><?php _e('Staging (add-on):', 'wpvivid-backuprestore'); ?></strong>&nbsp<?php _e('Create a sub-directory staging site with one-click', 'wpvivid-backuprestore'); ?></p>
1246
- <p style="color: #dd9933;"><strong><?php _e('Staging (add-on):', 'wpvivid-backuprestore'); ?></strong>&nbsp<?php _e('Publish a staging site to a live site with one-click', 'wpvivid-backuprestore'); ?></p>
1247
- <p style="color: #dd9933;"><strong><?php _e('Roles & Capabilities (add-on):', 'wpvivid-backuprestore'); ?></strong>&nbsp<?php _e('Display the individual sections according to user roles & capabilities', 'wpvivid-backuprestore'); ?></p>
1248
- <p><strong><?php _e('Support:', 'wpvivid-backuprestore'); ?></strong>&nbsp<?php _e('Ticket 7x24 support', 'wpvivid-backuprestore'); ?></p>
1249
  </td>
1250
  <td style="text-align:center;">
1251
- <p><?php _e('Up to 3 sites', 'wpvivid-backuprestore'); ?></p>
1252
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1253
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1254
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1255
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1256
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1257
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1258
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1259
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1260
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1261
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1262
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1263
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1264
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1265
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1266
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1267
  <p><span style="height: 12px;width: 12px;background-color: #f1f1f1;border-radius: 50%;display: inline-block;"></span></p>
1268
  <p><span style="height: 12px;width: 12px;background-color: #f1f1f1;border-radius: 50%;display: inline-block;"></span></p>
1269
  <p><span style="height: 12px;width: 12px;background-color: #f1f1f1;border-radius: 50%;display: inline-block;"></span></p>
1270
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1271
  </td>
1272
  <td style="text-align:center;">
1273
- <p><?php _e('Up to 100 sites', 'wpvivid-backuprestore'); ?></p>
1274
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1275
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1276
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1277
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1278
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1279
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1280
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1281
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1282
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1283
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1284
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1285
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1286
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1287
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1288
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1289
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
@@ -1292,20 +1254,16 @@ class WPvivid_Admin {
1292
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1293
  </td>
1294
  <td style="text-align:center;">
1295
- <p><?php _e('Unlimited', 'wpvivid-backuprestore'); ?></p>
1296
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1297
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1298
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1299
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1300
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1301
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1302
- <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1303
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1304
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1305
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1306
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1307
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1308
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
 
 
 
1309
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1310
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1311
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
@@ -1318,7 +1276,7 @@ class WPvivid_Admin {
1318
  <tfoot>
1319
  <tr>
1320
  <th><?php _e('*No credit card needed. Trial starts with the Free Trial plan with 2 sites. You can choose a plan at the end of the trial.', 'wpvivid-backuprestore'); ?></th>
1321
- <th colspan="3" style="text-align:center;"><p style="margin-top: 6px;"><a href="https://wpvivid.com/pricing" class="page-title-action"><?php _e('START 14-DAY FREE TRIAL', 'wpvivid-backuprestore'); ?></a></p></th>
1322
  </tr>
1323
  </tfoot>
1324
  </table>
1217
  <table class="wp-list-table widefat plugins" style="border-collapse: collapse;">
1218
  <thead>
1219
  <tr class="backup-list-head" style="border-bottom: 0;">
1220
+ <th><?php _e('Features', 'wpvivid-backuprestore'); ?></th>
1221
+ <th style="text-align:center;"><?php _e('Blogger', 'wpvivid-backuprestore'); ?></th>
1222
  <th style="text-align:center;"><?php _e('Freelancer', 'wpvivid-backuprestore'); ?></th>
1223
+ <th style="text-align:center;"><?php _e('Small Business', 'wpvivid-backuprestore'); ?></th>
1224
  <th style="text-align:center;"><?php _e('Ultimate', 'wpvivid-backuprestore'); ?></th>
1225
  </tr>
1226
  </thead>
1227
  <tbody class="wpvivid-backuplist">
1228
  <tr style="">
1229
  <td>
1230
+ <p><strong><?php _e('Domains', 'wpvivid-backuprestore'); ?></strong></p>
1231
+ <p><strong><?php _e('Backup & Migration Pro', 'wpvivid-backuprestore'); ?></strong></p>
1232
+ <p><strong><?php _e('Image Optimization Pro (Unlimited/domain)', 'wpvivid-backuprestore'); ?></strong></p>
1233
+ <p><strong><?php _e('Mulitsite Support', 'wpvivid-backuprestore'); ?></strong></p>
1234
+ <p><strong><?php _e('Staging Pro', 'wpvivid-backuprestore'); ?></strong></p>
1235
+ <p><strong><?php _e('White Label', 'wpvivid-backuprestore'); ?></strong></p>
1236
+ <p><strong><?php _e('Roles & Capabilities', 'wpvivid-backuprestore'); ?></strong></p>
 
 
 
 
 
 
 
 
 
 
 
 
 
1237
  </td>
1238
  <td style="text-align:center;">
1239
+ <p><span style="color: #81d742;"><?php _e('2 domains', 'wpvivid-backuprestore'); ?></span></p>
 
 
 
 
 
 
 
 
 
 
 
 
1240
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1241
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1242
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1243
  <p><span style="height: 12px;width: 12px;background-color: #f1f1f1;border-radius: 50%;display: inline-block;"></span></p>
1244
  <p><span style="height: 12px;width: 12px;background-color: #f1f1f1;border-radius: 50%;display: inline-block;"></span></p>
1245
  <p><span style="height: 12px;width: 12px;background-color: #f1f1f1;border-radius: 50%;display: inline-block;"></span></p>
 
1246
  </td>
1247
  <td style="text-align:center;">
1248
+ <p><span style="color: #81d742;"><?php _e('Up to 10 domains', 'wpvivid-backuprestore'); ?></span></p>
 
 
 
 
 
 
 
 
 
 
 
 
 
1249
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1250
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1251
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1254
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1255
  </td>
1256
  <td style="text-align:center;">
1257
+ <p><span style="color: #81d742;"><?php _e('Up to 50 domains', 'wpvivid-backuprestore'); ?></span></p>
 
 
 
 
 
 
 
1258
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1259
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1260
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1261
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1262
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1263
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1264
+ </td>
1265
+ <td style="text-align:center;">
1266
+ <p><span style="color: #81d742;"><?php _e('Unlimited', 'wpvivid-backuprestore'); ?></span></p>
1267
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1268
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1269
  <p><span style="height: 12px;width: 12px;background-color: #81d742;border-radius: 50%;display: inline-block;"></span></p>
1276
  <tfoot>
1277
  <tr>
1278
  <th><?php _e('*No credit card needed. Trial starts with the Free Trial plan with 2 sites. You can choose a plan at the end of the trial.', 'wpvivid-backuprestore'); ?></th>
1279
+ <th colspan="4" style="text-align:center;"><p style="margin-top: 6px;"><a href="https://wpvivid.com/pricing" class="page-title-action"><?php _e('START 14-DAY FREE TRIAL', 'wpvivid-backuprestore'); ?></a></p></th>
1280
  </tr>
1281
  </tfoot>
1282
  </table>
includes/class-wpvivid-backup.php CHANGED
@@ -1313,7 +1313,7 @@ class WPvivid_Backup_Task
1313
  return $files;
1314
  }
1315
 
1316
- public function getFolder(&$files,$path,$exclude_regex=array(),$include_regex=array(),$exclude_file_size=array(),$include_dir = true)
1317
  {
1318
  $count = 0;
1319
  if(is_dir($path))
1313
  return $files;
1314
  }
1315
 
1316
+ public function getFolder(&$files,$path,$exclude_regex=array(),$include_regex=array(),$exclude_file_size=0,$include_dir = true)
1317
  {
1318
  $count = 0;
1319
  if(is_dir($path))
includes/customclass/class-wpvivid-dropbox.php CHANGED
@@ -452,7 +452,7 @@ class WPvivid_Dropbox extends WPvivid_Remote {
452
  public function wpvivid_show_notice_add_dropbox_error(){
453
  global $wpvivid_plugin;
454
  $wpvivid_plugin->wpvivid_handle_remote_storage_error($_GET['resp_msg'], 'Add Dropbox Remote');
455
- echo '<div class="notice notice-error"><p>'.$_GET['resp_msg'].'</p></div>';
456
  }
457
  public function wpvivid_show_notice_edit_dropbox_success(){
458
  echo '<div class="notice notice-success is-dismissible"><p>'.__('You have successfully updated the storage alias.', 'wpvivid-backuprestore').'</p></div>';
@@ -460,7 +460,7 @@ class WPvivid_Dropbox extends WPvivid_Remote {
460
  public function wpvivid_show_notice_edit_dropbox_error(){
461
  global $wpvivid_plugin;
462
  $wpvivid_plugin->wpvivid_handle_remote_storage_error($_GET['resp_msg'], 'Update Dropbox Remote');
463
- echo '<div class="notice notice-error"><p>'.$_GET['resp_msg'].'</p></div>';
464
  }
465
 
466
  public function wpvivid_add_storage_tab_dropbox(){
452
  public function wpvivid_show_notice_add_dropbox_error(){
453
  global $wpvivid_plugin;
454
  $wpvivid_plugin->wpvivid_handle_remote_storage_error($_GET['resp_msg'], 'Add Dropbox Remote');
455
+ echo '<div class="notice notice-error"><p>'.esc_html($_GET['resp_msg']).'</p></div>';
456
  }
457
  public function wpvivid_show_notice_edit_dropbox_success(){
458
  echo '<div class="notice notice-success is-dismissible"><p>'.__('You have successfully updated the storage alias.', 'wpvivid-backuprestore').'</p></div>';
460
  public function wpvivid_show_notice_edit_dropbox_error(){
461
  global $wpvivid_plugin;
462
  $wpvivid_plugin->wpvivid_handle_remote_storage_error($_GET['resp_msg'], 'Update Dropbox Remote');
463
+ echo '<div class="notice notice-error"><p>'.esc_html($_GET['resp_msg']).'</p></div>';
464
  }
465
 
466
  public function wpvivid_add_storage_tab_dropbox(){
includes/customclass/class-wpvivid-google-drive.php CHANGED
@@ -299,7 +299,7 @@ class Wpvivid_Google_drive extends WPvivid_Remote
299
  public function wpvivid_show_notice_add_google_drive_error(){
300
  global $wpvivid_plugin;
301
  $wpvivid_plugin->wpvivid_handle_remote_storage_error($_GET['resp_msg'], 'Add Google Drive Remote');
302
- echo '<div class="notice notice-error"><p>'.$_GET['resp_msg'].'</p></div>';
303
  }
304
  public function wpvivid_show_notice_edit_google_drive_success(){
305
  echo '<div class="notice notice-success is-dismissible"><p>'.__('You have successfully updated the storage alias.', 'wpvivid-backuprestore').'</p></div>';
@@ -307,7 +307,7 @@ class Wpvivid_Google_drive extends WPvivid_Remote
307
  public function wpvivid_show_notice_edit_google_drive_error(){
308
  global $wpvivid_plugin;
309
  $wpvivid_plugin->wpvivid_handle_remote_storage_error($_GET['resp_msg'], 'Update Google Drive Remote');
310
- echo '<div class="notice notice-error"><p>'.$_GET['resp_msg'].'</p></div>';
311
  }
312
 
313
  public function wpvivid_add_storage_tab_google_drive()
299
  public function wpvivid_show_notice_add_google_drive_error(){
300
  global $wpvivid_plugin;
301
  $wpvivid_plugin->wpvivid_handle_remote_storage_error($_GET['resp_msg'], 'Add Google Drive Remote');
302
+ echo '<div class="notice notice-error"><p>'.esc_html($_GET['resp_msg']).'</p></div>';
303
  }
304
  public function wpvivid_show_notice_edit_google_drive_success(){
305
  echo '<div class="notice notice-success is-dismissible"><p>'.__('You have successfully updated the storage alias.', 'wpvivid-backuprestore').'</p></div>';
307
  public function wpvivid_show_notice_edit_google_drive_error(){
308
  global $wpvivid_plugin;
309
  $wpvivid_plugin->wpvivid_handle_remote_storage_error($_GET['resp_msg'], 'Update Google Drive Remote');
310
+ echo '<div class="notice notice-error"><p>'.esc_html($_GET['resp_msg']).'</p></div>';
311
  }
312
 
313
  public function wpvivid_add_storage_tab_google_drive()
includes/customclass/class-wpvivid-one-drive.php CHANGED
@@ -262,7 +262,7 @@ class WPvivid_one_drive extends WPvivid_Remote
262
  public function wpvivid_show_notice_add_onedrive_error(){
263
  global $wpvivid_plugin;
264
  $wpvivid_plugin->wpvivid_handle_remote_storage_error($_GET['resp_msg'], 'Add OneDrive Remote');
265
- echo '<div class="notice notice-error"><p>'.$_GET['resp_msg'].'</p></div>';
266
  }
267
  public function wpvivid_show_notice_edit_onedrive_success(){
268
  echo '<div class="notice notice-success is-dismissible"><p>'.__('You have successfully updated the storage alias.', 'wpvivid-backuprestore').'</p></div>';
@@ -270,7 +270,7 @@ class WPvivid_one_drive extends WPvivid_Remote
270
  public function wpvivid_show_notice_edit_onedrive_error(){
271
  global $wpvivid_plugin;
272
  $wpvivid_plugin->wpvivid_handle_remote_storage_error($_GET['resp_msg'], 'Update OneDrive Remote');
273
- echo '<div class="notice notice-error"><p>'.$_GET['resp_msg'].'</p></div>';
274
  }
275
 
276
  public function wpvivid_add_storage_tab_one_drive()
262
  public function wpvivid_show_notice_add_onedrive_error(){
263
  global $wpvivid_plugin;
264
  $wpvivid_plugin->wpvivid_handle_remote_storage_error($_GET['resp_msg'], 'Add OneDrive Remote');
265
+ echo '<div class="notice notice-error"><p>'.esc_html($_GET['resp_msg']).'</p></div>';
266
  }
267
  public function wpvivid_show_notice_edit_onedrive_success(){
268
  echo '<div class="notice notice-success is-dismissible"><p>'.__('You have successfully updated the storage alias.', 'wpvivid-backuprestore').'</p></div>';
270
  public function wpvivid_show_notice_edit_onedrive_error(){
271
  global $wpvivid_plugin;
272
  $wpvivid_plugin->wpvivid_handle_remote_storage_error($_GET['resp_msg'], 'Update OneDrive Remote');
273
+ echo '<div class="notice notice-error"><p>'.esc_html($_GET['resp_msg']).'</p></div>';
274
  }
275
 
276
  public function wpvivid_add_storage_tab_one_drive()
includes/upload-cleaner/class-wpvivid-uploads-cleaner.php CHANGED
@@ -1089,15 +1089,14 @@ class WPvivid_Uploads_Cleaner
1089
  $this->main_tab->add_tab('Isolated Media','isolate',array($this, 'output_isolate'), $args);
1090
  //$this->main_tab->add_tab('Database','database',array($this, 'output_database'), $args);
1091
  $this->main_tab->display();
1092
-
1093
  if (isset($_GET['tab']))
1094
  {
1095
- $tab=$_GET['tab'];
1096
  ?>
1097
  <script>
1098
  jQuery(document).ready(function($)
1099
  {
1100
- jQuery( document ).trigger( '<?php echo $this->main_tab->container_id ?>-show','<?php echo $tab?>');
1101
  });
1102
  </script>
1103
  <?php
@@ -2349,6 +2348,16 @@ class WPvivid_Uploads_Cleaner
2349
 
2350
  $media=$uploads_scanner->get_media_from_post_meta($post);
2351
 
 
 
 
 
 
 
 
 
 
 
2352
  if(!empty($media))
2353
  {
2354
  if(isset($uploads_files[$post]))
@@ -2357,6 +2366,15 @@ class WPvivid_Uploads_Cleaner
2357
  $uploads_files[$post]=$media;
2358
  }
2359
  //$uploads_ids=array_merge($uploads_ids,$media);
 
 
 
 
 
 
 
 
 
2360
  }
2361
 
2362
  $start+=$limit;
@@ -2483,6 +2501,16 @@ class WPvivid_Uploads_Cleaner
2483
  else
2484
  $uploads_files[$post]=$media;
2485
  }
 
 
 
 
 
 
 
 
 
 
2486
  }
2487
 
2488
  $start+=$limit;
@@ -2777,6 +2805,7 @@ class WPvivid_Uploads_Cleaner
2777
  {
2778
  $regex[]='#'.$file.'$#';
2779
  }
 
2780
  return $regex;
2781
  }
2782
 
@@ -2831,7 +2860,7 @@ class WPvivid_Uploads_Cleaner
2831
 
2832
  update_option('wpvivid_uc_exclude_files_regex',$options);
2833
 
2834
- $scanner->delete_selected_files_list($selected_list);
2835
  }
2836
 
2837
 
1089
  $this->main_tab->add_tab('Isolated Media','isolate',array($this, 'output_isolate'), $args);
1090
  //$this->main_tab->add_tab('Database','database',array($this, 'output_database'), $args);
1091
  $this->main_tab->display();
 
1092
  if (isset($_GET['tab']))
1093
  {
1094
+ $tab=esc_html($_GET['tab']);
1095
  ?>
1096
  <script>
1097
  jQuery(document).ready(function($)
1098
  {
1099
+ jQuery( document ).trigger( '<?php echo $this->main_tab->container_id; ?>-show','<?php echo $tab; ?>');
1100
  });
1101
  </script>
1102
  <?php
2348
 
2349
  $media=$uploads_scanner->get_media_from_post_meta($post);
2350
 
2351
+ if(!empty($media))
2352
+ {
2353
+ if(isset($uploads_files[$post]))
2354
+ $uploads_files[$post]=array_merge($uploads_files[$post],$media);
2355
+ else
2356
+ $uploads_files[$post]=$media;
2357
+ }
2358
+
2359
+ $media=$uploads_scanner->get_media_from_post_meta_elementor($post);
2360
+
2361
  if(!empty($media))
2362
  {
2363
  if(isset($uploads_files[$post]))
2366
  $uploads_files[$post]=$media;
2367
  }
2368
  //$uploads_ids=array_merge($uploads_ids,$media);
2369
+ $media=$uploads_scanner->get_media_from_post_custom_meta($post);
2370
+
2371
+ if(!empty($media))
2372
+ {
2373
+ if(isset($uploads_files[$post]))
2374
+ $uploads_files[$post]=array_merge($uploads_files[$post],$media);
2375
+ else
2376
+ $uploads_files[$post]=$media;
2377
+ }
2378
  }
2379
 
2380
  $start+=$limit;
2501
  else
2502
  $uploads_files[$post]=$media;
2503
  }
2504
+
2505
+ $media=$uploads_scanner->get_media_from_post_custom_meta($post);
2506
+
2507
+ if(!empty($media))
2508
+ {
2509
+ if(isset($uploads_files[$post]))
2510
+ $uploads_files[$post]=array_merge($uploads_files[$post],$media);
2511
+ else
2512
+ $uploads_files[$post]=$media;
2513
+ }
2514
  }
2515
 
2516
  $start+=$limit;
2805
  {
2806
  $regex[]='#'.$file.'$#';
2807
  }
2808
+ $regex[]='#webp$#';
2809
  return $regex;
2810
  }
2811
 
2860
 
2861
  update_option('wpvivid_uc_exclude_files_regex',$options);
2862
 
2863
+ $scanner->delete_selected_files_list($sanitize_list);
2864
  }
2865
 
2866
 
includes/upload-cleaner/class-wpvivid-uploads-scanner.php CHANGED
@@ -384,8 +384,7 @@ class WPvivid_Uploads_Scanner
384
 
385
  $post_status="post_status NOT IN ('inherit', 'trash', 'auto-draft')";
386
 
387
- $query=$wpdb->prepare("SELECT COUNT(*) FROM $wpdb->posts WHERE $post_types AND %s",$post_status);
388
-
389
  $result=$wpdb->get_results($query,ARRAY_N);
390
 
391
  if($result && sizeof($result)>0)
@@ -803,6 +802,34 @@ class WPvivid_Uploads_Scanner
803
  return $files;
804
  }
805
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
806
  public function get_element_image($element_data,&$attachment_added_ids)
807
  {
808
  $element_image=array();
@@ -1224,6 +1251,8 @@ class WPvivid_Uploads_Scanner
1224
  $place_holders=array();
1225
  foreach ( $uploads_files as $id=>$files )
1226
  {
 
 
1227
  foreach ($files as $path)
1228
  {
1229
  array_push( $values, $path );
@@ -1269,7 +1298,7 @@ class WPvivid_Uploads_Scanner
1269
  $file=str_replace('\\','/',$file);
1270
 
1271
  $table = $wpdb->prefix . "wpvivid_scan_result";
1272
- $row = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $table WHERE path = '%s'", $file ) );
1273
  if (empty($row))
1274
  {
1275
  $quick_scan=get_option('wpvivid_uc_quick_scan',false);
@@ -1277,7 +1306,6 @@ class WPvivid_Uploads_Scanner
1277
  if(!$quick_scan)
1278
  {
1279
  $attachment_id=$this->find_media_id_from_file($file);
1280
-
1281
  if($attachment_id)
1282
  {
1283
  if(isset($this->file_found_cache[$attachment_id]))
@@ -1297,7 +1325,6 @@ class WPvivid_Uploads_Scanner
1297
  if(!empty($files))
1298
  {
1299
  $files = implode("','",$files);
1300
-
1301
  $sql= "SELECT * FROM $table WHERE path IN ('$files')";
1302
  $row = $wpdb->get_row($sql);
1303
 
@@ -1370,7 +1397,7 @@ class WPvivid_Uploads_Scanner
1370
 
1371
  $table = $wpdb->prefix . "wpvivid_unused_uploads_files";
1372
 
1373
- $sql=esc_sql("SELECT * FROM `$table` ".$where);
1374
 
1375
  return $wpdb->get_results($sql,ARRAY_A);
1376
  }
@@ -1450,7 +1477,7 @@ class WPvivid_Uploads_Scanner
1450
  $ids=implode(",",$selected_list);
1451
 
1452
  $table = $wpdb->prefix . "wpvivid_unused_uploads_files";
1453
- $sql=$wpdb->prepare("SELECT * FROM $table WHERE `id` IN (%s)",$ids);
1454
  $result=$wpdb->get_results($sql,ARRAY_A);
1455
  if($result)
1456
  {
@@ -1515,7 +1542,7 @@ class WPvivid_Uploads_Scanner
1515
  //LIMIT
1516
 
1517
  $table = $wpdb->prefix . "wpvivid_unused_uploads_files";
1518
- $sql=esc_sql("SELECT * FROM $table ".$where);
1519
  $result=$wpdb->get_results($sql,ARRAY_A);
1520
  if($result)
1521
  {
384
 
385
  $post_status="post_status NOT IN ('inherit', 'trash', 'auto-draft')";
386
 
387
+ $query="SELECT COUNT(*) FROM $wpdb->posts WHERE $post_types AND $post_status";
 
388
  $result=$wpdb->get_results($query,ARRAY_N);
389
 
390
  if($result && sizeof($result)>0)
802
  return $files;
803
  }
804
 
805
+ public function get_media_from_post_custom_meta( $post )
806
+ {
807
+ $custom_fields=get_post_custom($post);
808
+ $files=array();
809
+
810
+
811
+ if($custom_fields!=false)
812
+ {
813
+ if(isset($custom_fields['essb_cached_image']))
814
+ {
815
+ if ( is_string( $custom_fields['essb_cached_image'] ) && ! empty( $custom_fields['essb_cached_image'] ) )
816
+ {
817
+ $files[]=$this->get_src($custom_fields['essb_cached_image']);
818
+ }
819
+ else if(is_array( $custom_fields['essb_cached_image'] )&& ! empty( $custom_fields['essb_cached_image'] ))
820
+ {
821
+ foreach ($custom_fields['essb_cached_image'] as $essb_cached_image)
822
+ {
823
+ $files[]=$this->get_src($essb_cached_image);
824
+ }
825
+ }
826
+
827
+ }
828
+ }
829
+
830
+ return $files;
831
+ }
832
+
833
  public function get_element_image($element_data,&$attachment_added_ids)
834
  {
835
  $element_image=array();
1251
  $place_holders=array();
1252
  foreach ( $uploads_files as $id=>$files )
1253
  {
1254
+ if(empty($files))
1255
+ continue;
1256
  foreach ($files as $path)
1257
  {
1258
  array_push( $values, $path );
1298
  $file=str_replace('\\','/',$file);
1299
 
1300
  $table = $wpdb->prefix . "wpvivid_scan_result";
1301
+ $row = $wpdb->get_row( "SELECT * FROM $table WHERE path = '$file'" );
1302
  if (empty($row))
1303
  {
1304
  $quick_scan=get_option('wpvivid_uc_quick_scan',false);
1306
  if(!$quick_scan)
1307
  {
1308
  $attachment_id=$this->find_media_id_from_file($file);
 
1309
  if($attachment_id)
1310
  {
1311
  if(isset($this->file_found_cache[$attachment_id]))
1325
  if(!empty($files))
1326
  {
1327
  $files = implode("','",$files);
 
1328
  $sql= "SELECT * FROM $table WHERE path IN ('$files')";
1329
  $row = $wpdb->get_row($sql);
1330
 
1397
 
1398
  $table = $wpdb->prefix . "wpvivid_unused_uploads_files";
1399
 
1400
+ $sql="SELECT * FROM `$table` ".$where;
1401
 
1402
  return $wpdb->get_results($sql,ARRAY_A);
1403
  }
1477
  $ids=implode(",",$selected_list);
1478
 
1479
  $table = $wpdb->prefix . "wpvivid_unused_uploads_files";
1480
+ $sql="SELECT * FROM $table WHERE `id` IN $ids";
1481
  $result=$wpdb->get_results($sql,ARRAY_A);
1482
  if($result)
1483
  {
1542
  //LIMIT
1543
 
1544
  $table = $wpdb->prefix . "wpvivid_unused_uploads_files";
1545
+ $sql="SELECT * FROM $table ".$where;
1546
  $result=$wpdb->get_results($sql,ARRAY_A);
1547
  if($result)
1548
  {
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: move, clone, migrate, cleaner, backup, restore, auto backup, cloud backup
4
  Requires at least: 4.5
5
  Tested up to: 5.8
6
  Requires PHP: 5.3
7
- Stable tag: 0.9.55
8
  License: GPLv3 or later
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.en.html
10
 
@@ -184,8 +184,13 @@ Thank you for translating WPvivid Backup Plugin to your languages!
184
  * [Francesco Tosi](https://profiles.wordpress.org/seventhose/) (Italian)
185
  * [Valentin Lyong](https://profiles.wordpress.org/icedge/) (Bulgarian)
186
  * [Daniel Wilczkowiak](https://profiles.wordpress.org/virtual03/) (German)
 
187
 
188
  == Changelog ==
 
 
 
 
189
  = 0.9.55 =
190
  - Successfully tested with WordPress 5.8.
191
  - Fixed: Creating tables failed when restoring the database in some cases.
4
  Requires at least: 4.5
5
  Tested up to: 5.8
6
  Requires PHP: 5.3
7
+ Stable tag: 0.9.56
8
  License: GPLv3 or later
9
  License URI: https://www.gnu.org/licenses/gpl-3.0.en.html
10
 
184
  * [Francesco Tosi](https://profiles.wordpress.org/seventhose/) (Italian)
185
  * [Valentin Lyong](https://profiles.wordpress.org/icedge/) (Bulgarian)
186
  * [Daniel Wilczkowiak](https://profiles.wordpress.org/virtual03/) (German)
187
+ * [Nima](https://profiles.wordpress.org/nima78600/) (Persian)
188
 
189
  == Changelog ==
190
+ = 0.9.56 =
191
+ - Fixed: Some used images would show up in the image cleaner results in some cases.
192
+ - Fixed some bugs in the plugin code.
193
+ - Optimized the plugin code.
194
  = 0.9.55 =
195
  - Successfully tested with WordPress 5.8.
196
  - Fixed: Creating tables failed when restoring the database in some cases.
wpvivid-backuprestore.php CHANGED
@@ -7,7 +7,7 @@
7
  * @wordpress-plugin
8
  * Plugin Name: WPvivid Backup Plugin
9
  * Description: Clone or copy WP sites then move or migrate them to new host (new domain), schedule backups, transfer backups to leading remote storage. All in one.
10
- * Version: 0.9.55
11
  * Author: WPvivid Team
12
  * Author URI: https://wpvivid.com
13
  * License: GPL-3.0+
@@ -21,7 +21,7 @@ if ( ! defined( 'WPINC' ) ) {
21
  die;
22
  }
23
 
24
- define( 'WPVIVID_PLUGIN_VERSION', '0.9.55' );
25
  //
26
  define('WPVIVID_RESTORE_INIT','init');
27
  define('WPVIVID_RESTORE_READY','ready');
@@ -127,24 +127,26 @@ function wpvivid_init_plugin_redirect()
127
 
128
  if($b_redirect_pro)
129
  {
 
130
  if (is_multisite())
131
  {
132
- wp_redirect(network_admin_url().'admin.php?page=wpvivid-pro');
133
  }
134
  else
135
  {
136
- wp_redirect(admin_url().'admin.php?page=wpvivid-pro');
137
  }
138
  }
139
  else
140
  {
 
141
  if (is_multisite())
142
  {
143
- wp_redirect(network_admin_url().'admin.php?page=WPvivid');
144
  }
145
  else
146
  {
147
- wp_redirect(admin_url().'admin.php?page=WPvivid');
148
  }
149
  }
150
  }
7
  * @wordpress-plugin
8
  * Plugin Name: WPvivid Backup Plugin
9
  * Description: Clone or copy WP sites then move or migrate them to new host (new domain), schedule backups, transfer backups to leading remote storage. All in one.
10
+ * Version: 0.9.56
11
  * Author: WPvivid Team
12
  * Author URI: https://wpvivid.com
13
  * License: GPL-3.0+
21
  die;
22
  }
23
 
24
+ define( 'WPVIVID_PLUGIN_VERSION', '0.9.56' );
25
  //
26
  define('WPVIVID_RESTORE_INIT','init');
27
  define('WPVIVID_RESTORE_READY','ready');
127
 
128
  if($b_redirect_pro)
129
  {
130
+ $url=apply_filters('wpvivid_backup_activate_redirect_url','admin.php?page=wpvivid-pro');
131
  if (is_multisite())
132
  {
133
+ wp_redirect(network_admin_url().$url);
134
  }
135
  else
136
  {
137
+ wp_redirect(admin_url().$url);
138
  }
139
  }
140
  else
141
  {
142
+ $url=apply_filters('wpvivid_backup_activate_redirect_url','admin.php?page=WPvivid');
143
  if (is_multisite())
144
  {
145
+ wp_redirect(network_admin_url().$url);
146
  }
147
  else
148
  {
149
+ wp_redirect(admin_url().$url);
150
  }
151
  }
152
  }