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 | 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 +17 -59
- includes/class-wpvivid-backup.php +1 -1
- includes/customclass/class-wpvivid-dropbox.php +2 -2
- includes/customclass/class-wpvivid-google-drive.php +2 -2
- includes/customclass/class-wpvivid-one-drive.php +2 -2
- includes/upload-cleaner/class-wpvivid-uploads-cleaner.php +33 -4
- includes/upload-cleaner/class-wpvivid-uploads-scanner.php +35 -8
- readme.txt +6 -1
- wpvivid-backuprestore.php +8 -6
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('
|
1221 |
-
<th style="text-align:center;"><?php _e('
|
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('
|
1230 |
-
<p><strong><?php _e('Backup
|
1231 |
-
<p
|
1232 |
-
<p><strong><?php _e('
|
1233 |
-
<p><strong><?php _e('
|
1234 |
-
<p><strong><?php _e('
|
1235 |
-
<p><strong><?php _e('
|
1236 |
-
<p><strong><?php _e('Remote Storage:', 'wpvivid-backuprestore'); ?></strong> <?php _e('Custom Directory (leading cloud storage providers)', 'wpvivid-backuprestore'); ?></p>
|
1237 |
-
<p><strong><?php _e('Remote Storage:', 'wpvivid-backuprestore'); ?></strong> <?php _e('WASABI/Pcloud (Only Pro)', 'wpvivid-backuprestore'); ?></p>
|
1238 |
-
<p style="color: #dd9933;"><strong><?php _e('Schedule:', 'wpvivid-backuprestore'); ?></strong> <?php _e('Incremental Backup Schedule', 'wpvivid-backuprestore'); ?></p>
|
1239 |
-
<p><strong><?php _e('Schedule:', 'wpvivid-backuprestore'); ?></strong> <?php _e('Custom Timezone', 'wpvivid-backuprestore'); ?></p>
|
1240 |
-
<p><strong><?php _e('Schedule:', 'wpvivid-backuprestore'); ?></strong> <?php _e('Custom content for each schedule', 'wpvivid-backuprestore'); ?></p>
|
1241 |
-
<p><strong><?php _e('Schedule:', 'wpvivid-backuprestore'); ?></strong> <?php _e('Custom start time of schedule', 'wpvivid-backuprestore'); ?></p>
|
1242 |
-
<p><strong><?php _e('Restore:', 'wpvivid-backuprestore'); ?></strong> <?php _e('Restore a website from remote storage', 'wpvivid-backuprestore'); ?></p>
|
1243 |
-
<p><strong><?php _e('Restore:', 'wpvivid-backuprestore'); ?></strong> <?php _e('Restore what you want from a backup', 'wpvivid-backuprestore'); ?></p>
|
1244 |
-
<p><strong><?php _e('Email Reports:', 'wpvivid-backuprestore'); ?></strong> <?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> <?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> <?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> <?php _e('Display the individual sections according to user roles & capabilities', 'wpvivid-backuprestore'); ?></p>
|
1248 |
-
<p><strong><?php _e('Support:', 'wpvivid-backuprestore'); ?></strong> <?php _e('Ticket 7x24 support', 'wpvivid-backuprestore'); ?></p>
|
1249 |
</td>
|
1250 |
<td style="text-align:center;">
|
1251 |
-
<p><?php _e('
|
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
|
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('
|
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="
|
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=
|
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>'
|
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>'
|
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>'
|
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>'
|
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>'
|
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>'
|
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
|
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($
|
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
|
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(
|
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=
|
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
|
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=
|
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.
|
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.
|
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.
|
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()
|
133 |
}
|
134 |
else
|
135 |
{
|
136 |
-
wp_redirect(admin_url()
|
137 |
}
|
138 |
}
|
139 |
else
|
140 |
{
|
|
|
141 |
if (is_multisite())
|
142 |
{
|
143 |
-
wp_redirect(network_admin_url()
|
144 |
}
|
145 |
else
|
146 |
{
|
147 |
-
wp_redirect(admin_url()
|
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 |
}
|