Version Description
- Changed the time in the name of the backup zip to the sites local time.
- Changed the time showed in the backup list and log list to the sites local time.
- Fixed some bugs in the plugin code.
Download this release
Release Info
Developer | wpvivid |
Plugin | Migration, Backup, Staging – WPvivid |
Version | 0.9.37 |
Comparing to | |
See all releases |
Code changes from version 0.9.36 to 0.9.37
- admin/js/wpvivid-admin.js +0 -22
- admin/partials/wpvivid-admin-display.php +8 -1
- admin/partials/wpvivid-backup-restore-page-display.php +33 -10
- admin/partials/wpvivid-schedule-page-display.php +14 -14
- includes/class-wpvivid-backup-uploader.php +22 -15
- includes/class-wpvivid-backup.php +94 -72
- includes/class-wpvivid-export-import.php +39 -31
- includes/class-wpvivid-exporter.php +1 -1
- includes/class-wpvivid-migrate.php +2 -2
- includes/class-wpvivid-schedule.php +17 -3
- includes/class-wpvivid-tools.php +4 -0
- includes/class-wpvivid-zipclass.php +27 -20
- includes/class-wpvivid.php +43 -12
- readme.txt +5 -1
- wpvivid-backuprestore.php +2 -2
admin/js/wpvivid-admin.js
CHANGED
@@ -83,28 +83,6 @@ function wpvivid_popup_tour(style) {
|
|
83 |
}
|
84 |
}
|
85 |
|
86 |
-
function click_dismiss_restore_notice(obj){
|
87 |
-
wpvivid_display_restore_backup = false;
|
88 |
-
jQuery(obj).parent().remove();
|
89 |
-
}
|
90 |
-
|
91 |
-
function wpvivid_click_how_to_restore_backup(){
|
92 |
-
if(!wpvivid_display_restore_backup){
|
93 |
-
wpvivid_display_restore_backup = true;
|
94 |
-
var top = jQuery('#wpvivid_how_to_restore_backup_describe').offset().top-jQuery('#wpvivid_how_to_restore_backup_describe').height();
|
95 |
-
jQuery('html, body').animate({scrollTop:top}, 'slow');
|
96 |
-
var div = "<div class='notice notice-info is-dismissible inline'>" +
|
97 |
-
"<p>Step One: In the backup list, click the 'Restore' button on the backup you want to restore. This will bring up the restore tab</p>" +
|
98 |
-
"<p>Step Two: Choose an option to complete restore, if any</p>" +
|
99 |
-
"<p>Step Three: Click 'Restore' button</p>" +
|
100 |
-
"<button type='button' class='notice-dismiss' onclick='click_dismiss_restore_notice(this);'>" +
|
101 |
-
"<span class='screen-reader-text'>Dismiss this notice.</span>" +
|
102 |
-
"</button>" +
|
103 |
-
"</div>";
|
104 |
-
jQuery('#wpvivid_how_to_restore_backup').append(div);
|
105 |
-
}
|
106 |
-
}
|
107 |
-
|
108 |
window.onbeforeunload = function(e) {
|
109 |
if (wpvivid_settings_changed) {
|
110 |
if (wpvivid_location_href){
|
83 |
}
|
84 |
}
|
85 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
window.onbeforeunload = function(e) {
|
87 |
if (wpvivid_settings_changed) {
|
88 |
if (wpvivid_location_href){
|
admin/partials/wpvivid-admin-display.php
CHANGED
@@ -29,6 +29,13 @@ $schedule=WPvivid_Schedule::get_schedule();
|
|
29 |
|
30 |
do_action('show_notice');
|
31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
?>
|
33 |
|
34 |
<?php
|
@@ -46,7 +53,7 @@ foreach ($page_array as $page_name){
|
|
46 |
<h1><?php
|
47 |
$plugin_display_name = 'WPvivid Backup Plugin';
|
48 |
$plugin_display_name = apply_filters('wpvivid_display_pro_name', $plugin_display_name);
|
49 |
-
|
50 |
?></h1>
|
51 |
<div id="wpvivid_backup_notice">
|
52 |
<?php
|
29 |
|
30 |
do_action('show_notice');
|
31 |
|
32 |
+
add_filter('wpvivid_tran_test', 'wpvivid_tran_test');
|
33 |
+
function wpvivid_tran_test($content){
|
34 |
+
$content = str_replace('wpvivid', 'Other trademarks', $content);
|
35 |
+
$content = str_replace('WPvivid', 'Other trademarks', $content);
|
36 |
+
return $content;
|
37 |
+
}
|
38 |
+
|
39 |
?>
|
40 |
|
41 |
<?php
|
53 |
<h1><?php
|
54 |
$plugin_display_name = 'WPvivid Backup Plugin';
|
55 |
$plugin_display_name = apply_filters('wpvivid_display_pro_name', $plugin_display_name);
|
56 |
+
echo apply_filters('wpvivid_tran_test', __('WPvivid Backup Plugin', 'wpvivid'));
|
57 |
?></h1>
|
58 |
<div id="wpvivid_backup_notice">
|
59 |
<?php
|
admin/partials/wpvivid-backup-restore-page-display.php
CHANGED
@@ -17,19 +17,19 @@ function wpvivid_add_backup_type($html, $type_name)
|
|
17 |
<label>
|
18 |
<div style="float: left;">
|
19 |
<input type="radio" disabled />
|
20 |
-
<span class="wpvivid-element-space-right" style="color: #ddd;">'.__('Create a staging site').'</span>
|
21 |
</div>
|
22 |
<span class="wpvivid-feature-pro">
|
23 |
-
<a href="https://wpvivid.com/wpvivid-backup-pro-create-staging-site" style="text-decoration: none;">Pro feature: learn more</a>
|
24 |
</span>
|
25 |
</label><br>
|
26 |
<label>
|
27 |
<div style="float: left;">
|
28 |
<input type="radio" disabled />
|
29 |
-
<span class="wpvivid-element-space-right" style="color: #ddd;">'.__('Custom').'</span>
|
30 |
</div>
|
31 |
<span class="wpvivid-feature-pro">
|
32 |
-
<a href="https://wpvivid.com/backup-migration-overview?utm_source=client_custom_backup&utm_medium=inner_link&utm_campaign=access" style="text-decoration: none;">Pro feature: learn more</a>
|
33 |
</span>
|
34 |
</label><br>';
|
35 |
return $html;
|
@@ -827,6 +827,28 @@ function wpvivid_backuppage_add_page_backup(){
|
|
827 |
});
|
828 |
}
|
829 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
830 |
</script>
|
831 |
<?php
|
832 |
}
|
@@ -1534,13 +1556,13 @@ function wpvivid_backup_module_add_descript(){
|
|
1534 |
<div style="font-size: 14px; padding: 8px 12px; margin: 0; line-height: 1.4; font-weight: 600;">
|
1535 |
<span style="margin-right: 5px;"><?php _e( 'Back Up Manually','wpvivid'); ?></span>
|
1536 |
<span style="margin-right: 5px;">|</span>
|
1537 |
-
<span style="margin-right: 0;"><a href="<?php echo esc_url(admin_url().'admin.php?page=wpvivid-export-import'); ?>" style="text-decoration: none;"
|
1538 |
-
<span style="font-size: 10px; color: #FFA500; line-height: 10px;">(new feature)</span>
|
1539 |
</div>
|
1540 |
<div class="quickstart-storage-setting">
|
1541 |
-
<span class="list-top-chip backup" name="ismerge" value="1" style="margin: 10px 10px 10px 0;"><?php _e('Local Storage Directory:
|
1542 |
<span class="list-top-chip" id="wpvivid_local_storage_path" style="margin: 10px 10px 10px 0;"><?php _e(WP_CONTENT_DIR.DIRECTORY_SEPARATOR.$backupdir); ?></span>
|
1543 |
-
<span class="list-top-chip" style="margin: 10px 10px 10px 0;"><a href="#" onclick="wpvivid_click_switch_page('wrap', 'wpvivid_tab_setting', true);" style="text-decoration: none;"><?php _e('
|
1544 |
</div>
|
1545 |
<?php
|
1546 |
}
|
@@ -1693,7 +1715,8 @@ function wpvivid_backup_module_add_exec(){
|
|
1693 |
wpvivid_delete_ready_task(err);
|
1694 |
}
|
1695 |
}, function (XMLHttpRequest, textStatus, errorThrown) {
|
1696 |
-
var error_message = wpvivid_output_ajaxerror('preparing the backup', textStatus, errorThrown);
|
|
|
1697 |
wpvivid_delete_ready_task(error_message);
|
1698 |
});
|
1699 |
}
|
@@ -1761,7 +1784,7 @@ function wpvivid_backup_module_add_exec(){
|
|
1761 |
function wpvivid_backup_module_add_tips(){
|
1762 |
?>
|
1763 |
<div class="custom-info" style="float:left; width:100%;">
|
1764 |
-
<strong><?php _e('Tips', 'wpvivid'); ?></strong
|
1765 |
</div>
|
1766 |
<?php
|
1767 |
}
|
17 |
<label>
|
18 |
<div style="float: left;">
|
19 |
<input type="radio" disabled />
|
20 |
+
<span class="wpvivid-element-space-right" style="color: #ddd;">'.__('Create a staging site', 'wpvivid').'</span>
|
21 |
</div>
|
22 |
<span class="wpvivid-feature-pro">
|
23 |
+
<a href="https://wpvivid.com/wpvivid-backup-pro-create-staging-site" style="text-decoration: none;">'.__('Pro feature: learn more', 'wpvivid').'</a>
|
24 |
</span>
|
25 |
</label><br>
|
26 |
<label>
|
27 |
<div style="float: left;">
|
28 |
<input type="radio" disabled />
|
29 |
+
<span class="wpvivid-element-space-right" style="color: #ddd;">'.__('Custom', 'wpvivid').'</span>
|
30 |
</div>
|
31 |
<span class="wpvivid-feature-pro">
|
32 |
+
<a href="https://wpvivid.com/backup-migration-overview?utm_source=client_custom_backup&utm_medium=inner_link&utm_campaign=access" style="text-decoration: none;">'.__('Pro feature: learn more', 'wpvivid').'</a>
|
33 |
</span>
|
34 |
</label><br>';
|
35 |
return $html;
|
827 |
});
|
828 |
}
|
829 |
});
|
830 |
+
|
831 |
+
function click_dismiss_restore_notice(obj){
|
832 |
+
wpvivid_display_restore_backup = false;
|
833 |
+
jQuery(obj).parent().remove();
|
834 |
+
}
|
835 |
+
|
836 |
+
function wpvivid_click_how_to_restore_backup(){
|
837 |
+
if(!wpvivid_display_restore_backup){
|
838 |
+
wpvivid_display_restore_backup = true;
|
839 |
+
var top = jQuery('#wpvivid_how_to_restore_backup_describe').offset().top-jQuery('#wpvivid_how_to_restore_backup_describe').height();
|
840 |
+
jQuery('html, body').animate({scrollTop:top}, 'slow');
|
841 |
+
var div = "<div class='notice notice-info is-dismissible inline'>" +
|
842 |
+
"<p><?php _e('Step One: In the backup list, click the \'Restore\' button on the backup you want to restore. This will bring up the restore tab', 'wpvivid'); ?></p>" +
|
843 |
+
"<p><?php _e('Step Two: Choose an option to complete restore, if any', 'wpvivid'); ?></p>" +
|
844 |
+
"<p><?php _e('Step Three: Click \'Restore\' button', 'wpvivid'); ?></p>" +
|
845 |
+
"<button type='button' class='notice-dismiss' onclick='click_dismiss_restore_notice(this);'>" +
|
846 |
+
"<span class='screen-reader-text'>Dismiss this notice.</span>" +
|
847 |
+
"</button>" +
|
848 |
+
"</div>";
|
849 |
+
jQuery('#wpvivid_how_to_restore_backup').append(div);
|
850 |
+
}
|
851 |
+
}
|
852 |
</script>
|
853 |
<?php
|
854 |
}
|
1556 |
<div style="font-size: 14px; padding: 8px 12px; margin: 0; line-height: 1.4; font-weight: 600;">
|
1557 |
<span style="margin-right: 5px;"><?php _e( 'Back Up Manually','wpvivid'); ?></span>
|
1558 |
<span style="margin-right: 5px;">|</span>
|
1559 |
+
<span style="margin-right: 0;"><a href="<?php echo esc_url(admin_url().'admin.php?page=wpvivid-export-import'); ?>" style="text-decoration: none;"><?php _e('Export Content', 'wpvivid'); ?></a></span>
|
1560 |
+
<span style="font-size: 10px; color: #FFA500; line-height: 10px;">(<?php _e('new feature', 'wpvivid'); ?>)</span>
|
1561 |
</div>
|
1562 |
<div class="quickstart-storage-setting">
|
1563 |
+
<span class="list-top-chip backup" name="ismerge" value="1" style="margin: 10px 10px 10px 0;"><?php _e('Local Storage Directory:'); ?></span>
|
1564 |
<span class="list-top-chip" id="wpvivid_local_storage_path" style="margin: 10px 10px 10px 0;"><?php _e(WP_CONTENT_DIR.DIRECTORY_SEPARATOR.$backupdir); ?></span>
|
1565 |
+
<span class="list-top-chip" style="margin: 10px 10px 10px 0;"><a href="#" onclick="wpvivid_click_switch_page('wrap', 'wpvivid_tab_setting', true);" style="text-decoration: none;"><?php _e('rename directory', 'wpvivid'); ?></a></span>
|
1566 |
</div>
|
1567 |
<?php
|
1568 |
}
|
1715 |
wpvivid_delete_ready_task(err);
|
1716 |
}
|
1717 |
}, function (XMLHttpRequest, textStatus, errorThrown) {
|
1718 |
+
//var error_message = wpvivid_output_ajaxerror('preparing the backup', textStatus, errorThrown);
|
1719 |
+
var error_message='Calculating the size of files, folder and database timed out. If you continue to receive this error, please go to the plugin settings, uncheck \'Calculate the size of files, folder and database before backing up\', save changes, then try again.';
|
1720 |
wpvivid_delete_ready_task(error_message);
|
1721 |
});
|
1722 |
}
|
1784 |
function wpvivid_backup_module_add_tips(){
|
1785 |
?>
|
1786 |
<div class="custom-info" style="float:left; width:100%;">
|
1787 |
+
<strong><?php _e('Tips:', 'wpvivid'); ?></strong> <?php _e('The settings are only for manual backup, which won\'t affect schedule settings.', 'wpvivid'); ?>
|
1788 |
</div>
|
1789 |
<?php
|
1790 |
}
|
admin/partials/wpvivid-schedule-page-display.php
CHANGED
@@ -17,11 +17,11 @@ function wpvivid_schedule_settings()
|
|
17 |
<label>
|
18 |
<div style="float: left;">
|
19 |
<input type="checkbox" disabled />
|
20 |
-
<span class="wpvivid-element-space-right" style="color: #ddd;"
|
21 |
</div>
|
22 |
<div style="float: left; height: 32px; line-height: 32px;">
|
23 |
<span class="wpvivid-feature-pro">
|
24 |
-
<a href="https://wpvivid.com/wpvivid-backup-pro-incremental-backup"
|
25 |
</span>
|
26 |
</div>
|
27 |
<div style="clear: both;"></div>
|
@@ -29,11 +29,11 @@ function wpvivid_schedule_settings()
|
|
29 |
<label>
|
30 |
<div style="float: left;">
|
31 |
<input type="checkbox" disabled />
|
32 |
-
<span class="wpvivid-element-space-right" style="color: #ddd;"
|
33 |
</div>
|
34 |
<div style="float: left; height: 32px; line-height: 32px;">
|
35 |
<span class="wpvivid-feature-pro">
|
36 |
-
<a href="https://wpvivid.com/wpvivid-backup-pro-schedule-overview?utm_source=client_advanced_schedule&utm_medium=inner_link&utm_campaign=access"
|
37 |
</span>
|
38 |
</div>
|
39 |
<div style="clear: both;"></div>
|
@@ -82,7 +82,7 @@ function wpvivid_schedule_settings()
|
|
82 |
echo $html;
|
83 |
?>
|
84 |
</div>
|
85 |
-
<div id="schedule_upload_storage" style="cursor:pointer;" title="Highlighted icon illuminates that you have choosed a remote storage to store backups">
|
86 |
<?php
|
87 |
$pic='';
|
88 |
$pic= apply_filters('wpvivid_schedule_add_remote_pic',$pic);
|
@@ -92,10 +92,10 @@ function wpvivid_schedule_settings()
|
|
92 |
</div>
|
93 |
<div class="postbox schedule-tab-block">
|
94 |
<div style="float:left; color: #ddd; margin-right: 10px;">
|
95 |
-
+ Add another schedule
|
96 |
</div>
|
97 |
<span class="wpvivid-feature-pro">
|
98 |
-
<a href="https://wpvivid.com/wpvivid-backup-pro-creating-schedules?utm_source=client_multi_schedule&utm_medium=inner_link&utm_campaign=access"
|
99 |
</span>
|
100 |
</div>
|
101 |
</div>
|
@@ -114,8 +114,8 @@ function wpvivid_schedule_notice($html)
|
|
114 |
$offset=get_option('gmt_offset');
|
115 |
$time = '00:00:00';
|
116 |
$utime = strtotime($time) + $offset * 60 * 60;
|
117 |
-
$html='<p>1) Scheduled job will start at <strong>UTC</strong> time: '.date('H:i:s', $utime).'</p>';
|
118 |
-
$html.='<p>2) Being subjected to mechanisms of PHP, a scheduled backup task for your site will be triggered only when the site receives at least a visit at any page
|
119 |
return $html;
|
120 |
}
|
121 |
|
@@ -123,27 +123,27 @@ function wpvivid_schedule_backup_type($html)
|
|
123 |
{
|
124 |
$html='<label>';
|
125 |
$html.='<input type="radio" option="schedule" name="backup_type" value="files+db"/>';
|
126 |
-
$html.='<span>Database + Files (WordPress Files)</span>';
|
127 |
$html.='</label><br>';
|
128 |
|
129 |
$html.='<label>';
|
130 |
$html.='<input type="radio" option="schedule" name="backup_type" value="files"/>';
|
131 |
-
$html.='<span>WordPress Files (Exclude Database)</span>';
|
132 |
$html.='</label><br>';
|
133 |
|
134 |
$html.='<label>';
|
135 |
$html.='<input type="radio" option="schedule" name="backup_type" value="db"/>';
|
136 |
-
$html.='<span>Only Database</span>';
|
137 |
$html.='</label><br>';
|
138 |
|
139 |
$html.='<label>';
|
140 |
$html.='<div style="float: left;">';
|
141 |
$html.='<input type="radio" disabled />';
|
142 |
-
$html.='<span class="wpvivid-element-space-right" style="color: #ddd;">'.__('Custom').'</span>';
|
143 |
$html.='</div>';
|
144 |
$html.='<div style="float: left; height: 32px; line-height: 32px;">';
|
145 |
$html.='<span class="wpvivid-feature-pro">';
|
146 |
-
$html.='<a href="https://wpvivid.com/wpvivid-backup-pro-customize-what-to-backup-for-schedule?utm_source=client_schedule_custom_backup&utm_medium=inner_link&utm_campaign=access" style="text-decoration: none;">Pro feature: learn more</a>';
|
147 |
$html.='</span>';
|
148 |
$html.='</div>';
|
149 |
$html.='</label><br>';
|
17 |
<label>
|
18 |
<div style="float: left;">
|
19 |
<input type="checkbox" disabled />
|
20 |
+
<span class="wpvivid-element-space-right" style="color: #ddd;"><?php _e('Enable Incremental Backup', 'wpvivid'); ?></span>
|
21 |
</div>
|
22 |
<div style="float: left; height: 32px; line-height: 32px;">
|
23 |
<span class="wpvivid-feature-pro">
|
24 |
+
<a href="https://wpvivid.com/wpvivid-backup-pro-incremental-backup"><?php _e('Pro feature: learn more', 'wpvivid'); ?></a>
|
25 |
</span>
|
26 |
</div>
|
27 |
<div style="clear: both;"></div>
|
29 |
<label>
|
30 |
<div style="float: left;">
|
31 |
<input type="checkbox" disabled />
|
32 |
+
<span class="wpvivid-element-space-right" style="color: #ddd;"><?php _e('Advanced Schedule', 'wpvivid'); ?></span>
|
33 |
</div>
|
34 |
<div style="float: left; height: 32px; line-height: 32px;">
|
35 |
<span class="wpvivid-feature-pro">
|
36 |
+
<a href="https://wpvivid.com/wpvivid-backup-pro-schedule-overview?utm_source=client_advanced_schedule&utm_medium=inner_link&utm_campaign=access"><?php _e('Pro feature: learn more', 'wpvivid'); ?></a>
|
37 |
</span>
|
38 |
</div>
|
39 |
<div style="clear: both;"></div>
|
82 |
echo $html;
|
83 |
?>
|
84 |
</div>
|
85 |
+
<div id="schedule_upload_storage" style="cursor:pointer;" title="<?php _e('Highlighted icon illuminates that you have choosed a remote storage to store backups', 'wpvivid'); ?>">
|
86 |
<?php
|
87 |
$pic='';
|
88 |
$pic= apply_filters('wpvivid_schedule_add_remote_pic',$pic);
|
92 |
</div>
|
93 |
<div class="postbox schedule-tab-block">
|
94 |
<div style="float:left; color: #ddd; margin-right: 10px;">
|
95 |
+
<?php _e('+ Add another schedule', 'wpvivid'); ?>
|
96 |
</div>
|
97 |
<span class="wpvivid-feature-pro">
|
98 |
+
<a href="https://wpvivid.com/wpvivid-backup-pro-creating-schedules?utm_source=client_multi_schedule&utm_medium=inner_link&utm_campaign=access"><?php _e('Pro feature: learn more', 'wpvivid'); ?></a>
|
99 |
</span>
|
100 |
</div>
|
101 |
</div>
|
114 |
$offset=get_option('gmt_offset');
|
115 |
$time = '00:00:00';
|
116 |
$utime = strtotime($time) + $offset * 60 * 60;
|
117 |
+
$html='<p>1) '.__('Scheduled job will start at <strong>UTC</strong> time:', 'wpvivid').' '.date('H:i:s', $utime).'</p>';
|
118 |
+
$html.='<p>2) '.__('Being subjected to mechanisms of PHP, a scheduled backup task for your site will be triggered only when the site receives at least a visit at any page.', 'wpvivid').'</p>';
|
119 |
return $html;
|
120 |
}
|
121 |
|
123 |
{
|
124 |
$html='<label>';
|
125 |
$html.='<input type="radio" option="schedule" name="backup_type" value="files+db"/>';
|
126 |
+
$html.='<span>'.__('Database + Files (WordPress Files)', 'wpvivid').'</span>';
|
127 |
$html.='</label><br>';
|
128 |
|
129 |
$html.='<label>';
|
130 |
$html.='<input type="radio" option="schedule" name="backup_type" value="files"/>';
|
131 |
+
$html.='<span>'.__('WordPress Files (Exclude Database)', 'wpvivid').'</span>';
|
132 |
$html.='</label><br>';
|
133 |
|
134 |
$html.='<label>';
|
135 |
$html.='<input type="radio" option="schedule" name="backup_type" value="db"/>';
|
136 |
+
$html.='<span>'.__('Only Database', 'wpvivid').'</span>';
|
137 |
$html.='</label><br>';
|
138 |
|
139 |
$html.='<label>';
|
140 |
$html.='<div style="float: left;">';
|
141 |
$html.='<input type="radio" disabled />';
|
142 |
+
$html.='<span class="wpvivid-element-space-right" style="color: #ddd;">'.__('Custom', 'wpvivid').'</span>';
|
143 |
$html.='</div>';
|
144 |
$html.='<div style="float: left; height: 32px; line-height: 32px;">';
|
145 |
$html.='<span class="wpvivid-feature-pro">';
|
146 |
+
$html.='<a href="https://wpvivid.com/wpvivid-backup-pro-customize-what-to-backup-for-schedule?utm_source=client_schedule_custom_backup&utm_medium=inner_link&utm_campaign=access" style="text-decoration: none;">'.__('Pro feature: learn more', 'wpvivid').'</a>';
|
147 |
$html.='</span>';
|
148 |
$html.='</div>';
|
149 |
$html.='</label><br>';
|
includes/class-wpvivid-backup-uploader.php
CHANGED
@@ -270,6 +270,8 @@ class Wpvivid_BackupUploader
|
|
270 |
|
271 |
function clean_tmp_files($path, $filename){
|
272 |
$handler=opendir($path);
|
|
|
|
|
273 |
while(($file=readdir($handler))!==false) {
|
274 |
if (!is_dir($path.$file) && preg_match('/wpvivid-.*_.*_.*\.tmp$/', $file)) {
|
275 |
$iPos = strrpos($file, '_');
|
@@ -294,6 +296,8 @@ class Wpvivid_BackupUploader
|
|
294 |
$need_update = false;
|
295 |
if (is_dir($path)) {
|
296 |
$handler = opendir($path);
|
|
|
|
|
297 |
while (($filename = readdir($handler)) !== false) {
|
298 |
if ($filename != "." && $filename != "..") {
|
299 |
if (!is_dir($path . $filename)) {
|
@@ -380,29 +384,32 @@ class Wpvivid_BackupUploader
|
|
380 |
if(is_dir($path))
|
381 |
{
|
382 |
$handler = opendir($path);
|
383 |
-
|
384 |
{
|
385 |
-
|
386 |
{
|
387 |
-
$
|
388 |
-
|
389 |
-
if (is_dir($path . $filename))
|
390 |
{
|
391 |
-
|
392 |
-
|
393 |
-
if(
|
394 |
{
|
395 |
-
|
|
|
|
|
396 |
{
|
397 |
-
if($this->
|
398 |
-
|
|
|
|
|
|
|
399 |
}
|
400 |
}
|
401 |
}
|
402 |
}
|
|
|
|
|
403 |
}
|
404 |
-
if($handler)
|
405 |
-
@closedir($handler);
|
406 |
}
|
407 |
else{
|
408 |
global $wpvivid_plugin;
|
@@ -483,10 +490,10 @@ class Wpvivid_BackupUploader
|
|
483 |
$backupdir=WPvivid_Setting::get_backupdir();
|
484 |
?>
|
485 |
<div style="padding-top: 10px;">
|
486 |
-
<span
|
487 |
</div>
|
488 |
<div style="padding-top: 10px;">
|
489 |
-
<input type="submit" class="button-primary" value="Scan uploaded backup or received backup" onclick="wpvivid_rescan_local_folder();" />
|
490 |
</div>
|
491 |
<script type="text/javascript">
|
492 |
function wpvivid_rescan_local_folder()
|
270 |
|
271 |
function clean_tmp_files($path, $filename){
|
272 |
$handler=opendir($path);
|
273 |
+
if($handler===false)
|
274 |
+
return;
|
275 |
while(($file=readdir($handler))!==false) {
|
276 |
if (!is_dir($path.$file) && preg_match('/wpvivid-.*_.*_.*\.tmp$/', $file)) {
|
277 |
$iPos = strrpos($file, '_');
|
296 |
$need_update = false;
|
297 |
if (is_dir($path)) {
|
298 |
$handler = opendir($path);
|
299 |
+
if($handler===false)
|
300 |
+
return true;
|
301 |
while (($filename = readdir($handler)) !== false) {
|
302 |
if ($filename != "." && $filename != "..") {
|
303 |
if (!is_dir($path . $filename)) {
|
384 |
if(is_dir($path))
|
385 |
{
|
386 |
$handler = opendir($path);
|
387 |
+
if($handler!==false)
|
388 |
{
|
389 |
+
while (($filename = readdir($handler)) !== false)
|
390 |
{
|
391 |
+
if ($filename != "." && $filename != "..")
|
|
|
|
|
392 |
{
|
393 |
+
$count++;
|
394 |
+
|
395 |
+
if (is_dir($path . $filename))
|
396 |
{
|
397 |
+
continue;
|
398 |
+
} else {
|
399 |
+
if($this->check_file_is_a_wpvivid_backup($filename,$backup_id))
|
400 |
{
|
401 |
+
if($this->zip_check_sum($path . $filename))
|
402 |
+
{
|
403 |
+
if($this->check_is_a_wpvivid_backup($path.$filename) === true)
|
404 |
+
$backups[$backup_id]['files'][]=$filename;
|
405 |
+
}
|
406 |
}
|
407 |
}
|
408 |
}
|
409 |
}
|
410 |
+
if($handler)
|
411 |
+
@closedir($handler);
|
412 |
}
|
|
|
|
|
413 |
}
|
414 |
else{
|
415 |
global $wpvivid_plugin;
|
490 |
$backupdir=WPvivid_Setting::get_backupdir();
|
491 |
?>
|
492 |
<div style="padding-top: 10px;">
|
493 |
+
<span><?php _e('Tips: Click the button below to scan all uploaded or received backups in directory', 'wpvivid'); ?> <?php echo WP_CONTENT_DIR.'/'.$backupdir; ?></span>
|
494 |
</div>
|
495 |
<div style="padding-top: 10px;">
|
496 |
+
<input type="submit" class="button-primary" value="<?php esc_attr_e('Scan uploaded backup or received backup', 'wpvivid'); ?>" onclick="wpvivid_rescan_local_folder();" />
|
497 |
</div>
|
498 |
<script type="text/javascript">
|
499 |
function wpvivid_rescan_local_folder()
|
includes/class-wpvivid-backup.php
CHANGED
@@ -148,10 +148,11 @@ class WPvivid_Backup_Task
|
|
148 |
}
|
149 |
}
|
150 |
$this->task['options']['backup_prefix']=$backup_prefix;
|
|
|
151 |
if(empty($backup_prefix))
|
152 |
-
$this->task['options']['file_prefix'] = $this->task['id'] . '_' . date('Y-m-d-H-i', $this->task['status']['start_time']);
|
153 |
else
|
154 |
-
$this->task['options']['file_prefix'] = $backup_prefix . '_' . $this->task['id'] . '_' . date('Y-m-d-H-i', $this->task['status']['start_time']);
|
155 |
|
156 |
if(isset($general_setting['options']['wpvivid_common_setting']['ismerge']))
|
157 |
{
|
@@ -476,21 +477,25 @@ class WPvivid_Backup_Task
|
|
476 |
if(is_dir($root))
|
477 |
{
|
478 |
$handler = opendir($root);
|
479 |
-
|
480 |
{
|
481 |
-
|
482 |
-
|
|
|
|
|
483 |
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
|
|
489 |
}
|
490 |
}
|
|
|
|
|
491 |
}
|
492 |
-
|
493 |
-
@closedir($handler);
|
494 |
}
|
495 |
return $size;
|
496 |
}
|
@@ -770,39 +775,44 @@ class WPvivid_Backup_Task
|
|
770 |
if(is_dir($path))
|
771 |
{
|
772 |
$handler = opendir($path);
|
773 |
-
|
774 |
-
|
775 |
-
|
|
|
|
|
|
|
776 |
|
777 |
-
|
778 |
-
|
779 |
-
|
780 |
-
|
781 |
-
|
782 |
-
}
|
783 |
-
}
|
784 |
-
} else {
|
785 |
-
if($this->regex_match($exclude_regex, $path . DIRECTORY_SEPARATOR . $filename, 0)){
|
786 |
-
if ($exclude_file_size == 0)
|
787 |
-
{
|
788 |
-
if(is_readable($path . DIRECTORY_SEPARATOR . $filename))
|
789 |
-
{
|
790 |
-
$files[] = $path . DIRECTORY_SEPARATOR . $filename;
|
791 |
}
|
792 |
-
}
|
793 |
-
|
|
|
|
|
794 |
{
|
795 |
-
if
|
|
|
796 |
$files[] = $path . DIRECTORY_SEPARATOR . $filename;
|
797 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
798 |
}
|
799 |
}
|
800 |
}
|
801 |
}
|
802 |
}
|
|
|
|
|
803 |
}
|
804 |
-
|
805 |
-
@closedir($handler);
|
806 |
}
|
807 |
if($include_dir && $count == 0){
|
808 |
$files[] = $path;
|
@@ -1266,44 +1276,47 @@ class WPvivid_Backup_Task
|
|
1266 |
if(is_dir($path))
|
1267 |
{
|
1268 |
$handler = opendir($path);
|
1269 |
-
|
1270 |
{
|
1271 |
-
|
1272 |
{
|
1273 |
-
$
|
1274 |
-
|
1275 |
-
if (is_dir($path . DIRECTORY_SEPARATOR . $filename))
|
1276 |
{
|
1277 |
-
|
|
|
|
|
1278 |
{
|
1279 |
-
if ($this->regex_match($
|
1280 |
-
{
|
1281 |
-
$files[] = $path . DIRECTORY_SEPARATOR . $filename;
|
1282 |
-
}
|
1283 |
-
}
|
1284 |
-
} else {
|
1285 |
-
if($this->regex_match($exclude_regex, $path . DIRECTORY_SEPARATOR . $filename, 0)){
|
1286 |
-
if ($exclude_file_size == 0)
|
1287 |
{
|
1288 |
-
if(
|
1289 |
{
|
1290 |
$files[] = $path . DIRECTORY_SEPARATOR . $filename;
|
1291 |
}
|
1292 |
-
}
|
1293 |
-
|
|
|
|
|
1294 |
{
|
1295 |
-
if
|
1296 |
{
|
1297 |
$files[] = $path . DIRECTORY_SEPARATOR . $filename;
|
1298 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1299 |
}
|
1300 |
}
|
1301 |
}
|
1302 |
}
|
1303 |
}
|
|
|
|
|
1304 |
}
|
1305 |
-
if($handler)
|
1306 |
-
@closedir($handler);
|
1307 |
}
|
1308 |
if($include_dir && $count == 0)
|
1309 |
{
|
@@ -1337,6 +1350,8 @@ class WPvivid_Backup_Task
|
|
1337 |
if(is_dir($path))
|
1338 |
{
|
1339 |
$handler = opendir($path);
|
|
|
|
|
1340 |
while (($filename = readdir($handler)) !== false)
|
1341 |
{
|
1342 |
if ($filename != "." && $filename != "..")
|
@@ -2421,14 +2436,17 @@ class WPvivid_Backup
|
|
2421 |
{
|
2422 |
$path = WP_CONTENT_DIR.DIRECTORY_SEPARATOR.WPvivid_Setting::get_backupdir();
|
2423 |
$handler=opendir($path);
|
2424 |
-
|
2425 |
{
|
2426 |
-
|
2427 |
{
|
2428 |
-
|
|
|
|
|
|
|
2429 |
}
|
|
|
2430 |
}
|
2431 |
-
@closedir($handler);
|
2432 |
}
|
2433 |
|
2434 |
public function clearcache()
|
@@ -2436,24 +2454,28 @@ class WPvivid_Backup
|
|
2436 |
$task_id=$this->task->get_prefix();
|
2437 |
$path = WP_CONTENT_DIR.DIRECTORY_SEPARATOR.WPvivid_Setting::get_backupdir();
|
2438 |
$handler=opendir($path);
|
2439 |
-
|
2440 |
{
|
2441 |
-
|
2442 |
-
{
|
2443 |
-
$this->deldir($path.DIRECTORY_SEPARATOR.$filename,'',true);
|
2444 |
-
}
|
2445 |
-
if(is_dir($path.DIRECTORY_SEPARATOR.$filename) && preg_match('#temp-'.$task_id.'#',$filename))
|
2446 |
{
|
2447 |
-
|
2448 |
-
|
2449 |
-
|
2450 |
-
|
2451 |
-
|
2452 |
-
|
2453 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2454 |
}
|
|
|
2455 |
}
|
2456 |
-
|
2457 |
}
|
2458 |
|
2459 |
public function deldir($path,$exclude=array(),$flag = false)
|
148 |
}
|
149 |
}
|
150 |
$this->task['options']['backup_prefix']=$backup_prefix;
|
151 |
+
$offset=get_option('gmt_offset');
|
152 |
if(empty($backup_prefix))
|
153 |
+
$this->task['options']['file_prefix'] = $this->task['id'] . '_' . date('Y-m-d-H-i', $this->task['status']['start_time']+$offset*60*60);
|
154 |
else
|
155 |
+
$this->task['options']['file_prefix'] = $backup_prefix . '_' . $this->task['id'] . '_' . date('Y-m-d-H-i', $this->task['status']['start_time']+$offset*60*60);
|
156 |
|
157 |
if(isset($general_setting['options']['wpvivid_common_setting']['ismerge']))
|
158 |
{
|
477 |
if(is_dir($root))
|
478 |
{
|
479 |
$handler = opendir($root);
|
480 |
+
if($handler!==false)
|
481 |
{
|
482 |
+
while (($filename = readdir($handler)) !== false)
|
483 |
+
{
|
484 |
+
if ($filename != "." && $filename != "..") {
|
485 |
+
$count++;
|
486 |
|
487 |
+
if (is_dir($root . DIRECTORY_SEPARATOR . $filename))
|
488 |
+
{
|
489 |
+
$size=$this->get_folder_size($root . DIRECTORY_SEPARATOR . $filename,$size);
|
490 |
+
} else {
|
491 |
+
$size+=filesize($root . DIRECTORY_SEPARATOR . $filename);
|
492 |
+
}
|
493 |
}
|
494 |
}
|
495 |
+
if($handler)
|
496 |
+
@closedir($handler);
|
497 |
}
|
498 |
+
|
|
|
499 |
}
|
500 |
return $size;
|
501 |
}
|
775 |
if(is_dir($path))
|
776 |
{
|
777 |
$handler = opendir($path);
|
778 |
+
if($handler!==false)
|
779 |
+
{
|
780 |
+
while (($filename = readdir($handler)) !== false)
|
781 |
+
{
|
782 |
+
if ($filename != "." && $filename != "..") {
|
783 |
+
$count++;
|
784 |
|
785 |
+
if (is_dir($path . DIRECTORY_SEPARATOR . $filename))
|
786 |
+
{
|
787 |
+
if ($this->regex_match($exclude_regex, $path . DIRECTORY_SEPARATOR . $filename, 0)) {
|
788 |
+
if ($this->regex_match($include_regex, $path . DIRECTORY_SEPARATOR . $filename, 1)) {
|
789 |
+
$this->getFileLoop($files, $path . DIRECTORY_SEPARATOR . $filename, $exclude_regex, $include_regex, $exclude_file_size, $include_dir);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
790 |
}
|
791 |
+
}
|
792 |
+
} else {
|
793 |
+
if($this->regex_match($exclude_regex, $path . DIRECTORY_SEPARATOR . $filename, 0)){
|
794 |
+
if ($exclude_file_size == 0)
|
795 |
{
|
796 |
+
if(is_readable($path . DIRECTORY_SEPARATOR . $filename))
|
797 |
+
{
|
798 |
$files[] = $path . DIRECTORY_SEPARATOR . $filename;
|
799 |
}
|
800 |
+
} else {
|
801 |
+
if(is_readable($path . DIRECTORY_SEPARATOR . $filename))
|
802 |
+
{
|
803 |
+
if (filesize($path . DIRECTORY_SEPARATOR . $filename) < $exclude_file_size * 1024 * 1024) {
|
804 |
+
$files[] = $path . DIRECTORY_SEPARATOR . $filename;
|
805 |
+
}
|
806 |
+
}
|
807 |
}
|
808 |
}
|
809 |
}
|
810 |
}
|
811 |
}
|
812 |
+
if($handler)
|
813 |
+
@closedir($handler);
|
814 |
}
|
815 |
+
|
|
|
816 |
}
|
817 |
if($include_dir && $count == 0){
|
818 |
$files[] = $path;
|
1276 |
if(is_dir($path))
|
1277 |
{
|
1278 |
$handler = opendir($path);
|
1279 |
+
if($handler!==false)
|
1280 |
{
|
1281 |
+
while (($filename = readdir($handler)) !== false)
|
1282 |
{
|
1283 |
+
if ($filename != "." && $filename != "..")
|
|
|
|
|
1284 |
{
|
1285 |
+
$count++;
|
1286 |
+
|
1287 |
+
if (is_dir($path . DIRECTORY_SEPARATOR . $filename))
|
1288 |
{
|
1289 |
+
if ($this->regex_match($exclude_regex, $path . DIRECTORY_SEPARATOR . $filename, 0))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1290 |
{
|
1291 |
+
if ($this->regex_match($include_regex, $path . DIRECTORY_SEPARATOR . $filename, 1))
|
1292 |
{
|
1293 |
$files[] = $path . DIRECTORY_SEPARATOR . $filename;
|
1294 |
}
|
1295 |
+
}
|
1296 |
+
} else {
|
1297 |
+
if($this->regex_match($exclude_regex, $path . DIRECTORY_SEPARATOR . $filename, 0)){
|
1298 |
+
if ($exclude_file_size == 0)
|
1299 |
{
|
1300 |
+
if(is_readable($path . DIRECTORY_SEPARATOR . $filename))
|
1301 |
{
|
1302 |
$files[] = $path . DIRECTORY_SEPARATOR . $filename;
|
1303 |
}
|
1304 |
+
} else {
|
1305 |
+
if(is_readable($path . DIRECTORY_SEPARATOR . $filename))
|
1306 |
+
{
|
1307 |
+
if (filesize($path . DIRECTORY_SEPARATOR . $filename) < $exclude_file_size * 1024 * 1024)
|
1308 |
+
{
|
1309 |
+
$files[] = $path . DIRECTORY_SEPARATOR . $filename;
|
1310 |
+
}
|
1311 |
+
}
|
1312 |
}
|
1313 |
}
|
1314 |
}
|
1315 |
}
|
1316 |
}
|
1317 |
+
if($handler)
|
1318 |
+
@closedir($handler);
|
1319 |
}
|
|
|
|
|
1320 |
}
|
1321 |
if($include_dir && $count == 0)
|
1322 |
{
|
1350 |
if(is_dir($path))
|
1351 |
{
|
1352 |
$handler = opendir($path);
|
1353 |
+
if($handler===false)
|
1354 |
+
return;
|
1355 |
while (($filename = readdir($handler)) !== false)
|
1356 |
{
|
1357 |
if ($filename != "." && $filename != "..")
|
2436 |
{
|
2437 |
$path = WP_CONTENT_DIR.DIRECTORY_SEPARATOR.WPvivid_Setting::get_backupdir();
|
2438 |
$handler=opendir($path);
|
2439 |
+
if($handler!==false)
|
2440 |
{
|
2441 |
+
while(($filename=readdir($handler))!==false)
|
2442 |
{
|
2443 |
+
if(preg_match('#'.$this->task->get_id().'#',$filename))
|
2444 |
+
{
|
2445 |
+
@unlink($path.DIRECTORY_SEPARATOR.$filename);
|
2446 |
+
}
|
2447 |
}
|
2448 |
+
@closedir($handler);
|
2449 |
}
|
|
|
2450 |
}
|
2451 |
|
2452 |
public function clearcache()
|
2454 |
$task_id=$this->task->get_prefix();
|
2455 |
$path = WP_CONTENT_DIR.DIRECTORY_SEPARATOR.WPvivid_Setting::get_backupdir();
|
2456 |
$handler=opendir($path);
|
2457 |
+
if($handler!==false)
|
2458 |
{
|
2459 |
+
while(($filename=readdir($handler))!==false)
|
|
|
|
|
|
|
|
|
2460 |
{
|
2461 |
+
if(is_dir($path.DIRECTORY_SEPARATOR.$filename) && preg_match('#temp-'.$task_id.'#',$filename))
|
2462 |
+
{
|
2463 |
+
$this->deldir($path.DIRECTORY_SEPARATOR.$filename,'',true);
|
2464 |
+
}
|
2465 |
+
if(is_dir($path.DIRECTORY_SEPARATOR.$filename) && preg_match('#temp-'.$task_id.'#',$filename))
|
2466 |
+
{
|
2467 |
+
$this->deldir($path.DIRECTORY_SEPARATOR.$filename,'',true);
|
2468 |
+
}
|
2469 |
+
if(preg_match('#pclzip-.*\.tmp#', $filename)){
|
2470 |
+
@unlink($path.DIRECTORY_SEPARATOR.$filename);
|
2471 |
+
}
|
2472 |
+
if(preg_match('#pclzip-.*\.gz#', $filename)){
|
2473 |
+
@unlink($path.DIRECTORY_SEPARATOR.$filename);
|
2474 |
+
}
|
2475 |
}
|
2476 |
+
@closedir($handler);
|
2477 |
}
|
2478 |
+
|
2479 |
}
|
2480 |
|
2481 |
public function deldir($path,$exclude=array(),$flag = false)
|
includes/class-wpvivid-export-import.php
CHANGED
@@ -746,7 +746,7 @@ class WPvivid_Export_Import
|
|
746 |
<tr>
|
747 |
<td class="plugin-title column-primary">
|
748 |
<div class="wpvivid-storage-form">
|
749 |
-
<input class="button-primary" id="wpvivid-post-query-submit" type="submit" name="<?php
|
750 |
</div>
|
751 |
</td>
|
752 |
<td class="column-description desc">
|
@@ -784,7 +784,7 @@ class WPvivid_Export_Import
|
|
784 |
</div>
|
785 |
|
786 |
<div>
|
787 |
-
<input class="button-primary" id="wpvivid_start_export" type="submit" name="<?php
|
788 |
</div>
|
789 |
<?php
|
790 |
|
@@ -2334,6 +2334,8 @@ class WPvivid_Export_Import
|
|
2334 |
|
2335 |
function clean_tmp_files($path, $filename){
|
2336 |
$handler=opendir($path);
|
|
|
|
|
2337 |
while(($file=readdir($handler))!==false) {
|
2338 |
if (!is_dir($path.$file) && preg_match('/wpvivid-.*_.*_.*\.tmp$/', $file)) {
|
2339 |
$iPos = strrpos($file, '_');
|
@@ -2404,15 +2406,18 @@ class WPvivid_Export_Import
|
|
2404 |
if(is_dir($path))
|
2405 |
{
|
2406 |
$handler = opendir($path);
|
2407 |
-
|
2408 |
-
|
2409 |
-
|
2410 |
-
|
2411 |
-
|
2412 |
-
|
2413 |
-
|
2414 |
-
|
2415 |
-
|
|
|
|
|
|
|
2416 |
}
|
2417 |
}
|
2418 |
}
|
@@ -2461,35 +2466,38 @@ class WPvivid_Export_Import
|
|
2461 |
if(is_dir($path))
|
2462 |
{
|
2463 |
$handler = opendir($path);
|
2464 |
-
|
2465 |
{
|
2466 |
-
|
2467 |
{
|
2468 |
-
$
|
2469 |
-
|
2470 |
-
if (is_dir($path . $filename))
|
2471 |
{
|
2472 |
-
|
2473 |
-
}
|
2474 |
-
else {
|
2475 |
|
2476 |
-
|
2477 |
-
if($res['result'] =='success')
|
2478 |
{
|
2479 |
-
|
2480 |
-
|
2481 |
-
|
2482 |
-
|
2483 |
-
$
|
2484 |
-
$
|
2485 |
-
|
2486 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2487 |
}
|
2488 |
}
|
2489 |
}
|
|
|
|
|
2490 |
}
|
2491 |
-
if($handler)
|
2492 |
-
@closedir($handler);
|
2493 |
}
|
2494 |
else{
|
2495 |
global $wpvivid_plugin;
|
746 |
<tr>
|
747 |
<td class="plugin-title column-primary">
|
748 |
<div class="wpvivid-storage-form">
|
749 |
+
<input class="button-primary" id="wpvivid-post-query-submit" type="submit" name="<?php echo $post_type; ?>" value="Search" />
|
750 |
</div>
|
751 |
</td>
|
752 |
<td class="column-description desc">
|
784 |
</div>
|
785 |
|
786 |
<div>
|
787 |
+
<input class="button-primary" id="wpvivid_start_export" type="submit" name="<?php echo $post_type; ?>" value="Export and Download" style="pointer-events: none; opacity: 0.4;">
|
788 |
</div>
|
789 |
<?php
|
790 |
|
2334 |
|
2335 |
function clean_tmp_files($path, $filename){
|
2336 |
$handler=opendir($path);
|
2337 |
+
if($handler===false)
|
2338 |
+
return;
|
2339 |
while(($file=readdir($handler))!==false) {
|
2340 |
if (!is_dir($path.$file) && preg_match('/wpvivid-.*_.*_.*\.tmp$/', $file)) {
|
2341 |
$iPos = strrpos($file, '_');
|
2406 |
if(is_dir($path))
|
2407 |
{
|
2408 |
$handler = opendir($path);
|
2409 |
+
if($handler!==false)
|
2410 |
+
{
|
2411 |
+
while (($filename = readdir($handler)) !== false){
|
2412 |
+
if ($filename != "." && $filename != ".."){
|
2413 |
+
if (is_dir($path . $filename)) {
|
2414 |
+
continue;
|
2415 |
+
}
|
2416 |
+
else{
|
2417 |
+
$res=$this->check_is_import_file($path.$filename);
|
2418 |
+
if($res['result'] =='success'){
|
2419 |
+
@unlink($path.$filename);
|
2420 |
+
}
|
2421 |
}
|
2422 |
}
|
2423 |
}
|
2466 |
if(is_dir($path))
|
2467 |
{
|
2468 |
$handler = opendir($path);
|
2469 |
+
if($handler!==false)
|
2470 |
{
|
2471 |
+
while (($filename = readdir($handler)) !== false)
|
2472 |
{
|
2473 |
+
if ($filename != "." && $filename != "..")
|
|
|
|
|
2474 |
{
|
2475 |
+
$count++;
|
|
|
|
|
2476 |
|
2477 |
+
if (is_dir($path . $filename))
|
|
|
2478 |
{
|
2479 |
+
continue;
|
2480 |
+
}
|
2481 |
+
else {
|
2482 |
+
|
2483 |
+
$res=$this->check_is_import_file($path.$filename);
|
2484 |
+
if($res['result'] =='success')
|
2485 |
+
{
|
2486 |
+
$add_file['file_name']=$filename;
|
2487 |
+
$add_file['size']=filesize($path.$filename);
|
2488 |
+
$add_file['export_type']=$res['export_type'];
|
2489 |
+
$add_file['export_comment']=$res['export_comment'];
|
2490 |
+
$add_file['posts_count']=$res['posts_count'];
|
2491 |
+
$add_file['media_size']=size_format($res['media_size'],2);
|
2492 |
+
$add_file['time']=$res['time'];
|
2493 |
+
$data[$this->get_file_id($filename)]=$add_file;
|
2494 |
+
}
|
2495 |
}
|
2496 |
}
|
2497 |
}
|
2498 |
+
if($handler)
|
2499 |
+
@closedir($handler);
|
2500 |
}
|
|
|
|
|
2501 |
}
|
2502 |
else{
|
2503 |
global $wpvivid_plugin;
|
includes/class-wpvivid-exporter.php
CHANGED
@@ -1325,7 +1325,7 @@ class WPvivid_Exporter_Item{
|
|
1325 |
?>
|
1326 |
<div style="float:left;margin:10px 10px 10px 0;text-align:center; width:180px;">
|
1327 |
<span>Part01</span><br>
|
1328 |
-
<span><a class="wpvivid-download-export" id="trtr" name="<?php
|
1329 |
<div style="width:100%;height:5px; background-color:#dcdcdc;">
|
1330 |
<div style="background-color:#0085ba; float:left;width:100%;height:5px;"></div>
|
1331 |
</div>
|
1325 |
?>
|
1326 |
<div style="float:left;margin:10px 10px 10px 0;text-align:center; width:180px;">
|
1327 |
<span>Part01</span><br>
|
1328 |
+
<span><a class="wpvivid-download-export" id="trtr" name="<?php echo $file; ?>" style="cursor: pointer;">Download</a></span><br>
|
1329 |
<div style="width:100%;height:5px; background-color:#dcdcdc;">
|
1330 |
<div style="background-color:#0085ba; float:left;width:100%;height:5px;"></div>
|
1331 |
</div>
|
includes/class-wpvivid-migrate.php
CHANGED
@@ -1252,10 +1252,10 @@ class WPvivid_Migrate
|
|
1252 |
<div class="backup-tab-content wpvivid_tab_upload" id="page-upload" style="display:none;">
|
1253 |
<div style="padding: 10px 0 10px 0;">
|
1254 |
<div style="padding-bottom: 10px;">
|
1255 |
-
<span
|
1256 |
</div>
|
1257 |
<div style="padding-bottom: 10px;">
|
1258 |
-
<span
|
1259 |
</div>
|
1260 |
<?php
|
1261 |
Wpvivid_BackupUploader::upload_meta_box();
|
1252 |
<div class="backup-tab-content wpvivid_tab_upload" id="page-upload" style="display:none;">
|
1253 |
<div style="padding: 10px 0 10px 0;">
|
1254 |
<div style="padding-bottom: 10px;">
|
1255 |
+
<span><?php echo sprintf(__('The backups will be uploaded to %s directory.', 'wpvivid'), WP_CONTENT_DIR.DIRECTORY_SEPARATOR.$backupdir); ?></span>
|
1256 |
</div>
|
1257 |
<div style="padding-bottom: 10px;">
|
1258 |
+
<span><?php echo apply_filters('wpvivid_tran_test', __('Note: The files you want to upload must be a backup created by WPvivid backup plugin. Make sure that uploading every part of a backup to the directory if the backup is split into many parts', 'wpvivid')); ?></span>
|
1259 |
</div>
|
1260 |
<?php
|
1261 |
Wpvivid_BackupUploader::upload_meta_box();
|
includes/class-wpvivid-schedule.php
CHANGED
@@ -87,7 +87,21 @@ class WPvivid_Schedule
|
|
87 |
$schedule_check = $this->check_schedule_type($display);
|
88 |
if($schedule_check['result']){
|
89 |
$html.=' <label><input type="radio" option="schedule" name="recurrence" value="'.$schedule_check['type'].'" />';
|
90 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
}
|
92 |
else{
|
93 |
$html.='<p>Warning: Unable to set '.$display.' backup schedule</p>';
|
@@ -96,11 +110,11 @@ class WPvivid_Schedule
|
|
96 |
$html.='<label>';
|
97 |
$html.='<div style="float: left;">';
|
98 |
$html.='<input type="radio" disabled />';
|
99 |
-
$html.='<span class="wpvivid-element-space-right" style="color: #ddd;">'.__('Custom').'</span>';
|
100 |
$html.='</div>';
|
101 |
$html.='<div style="float: left; height: 32px; line-height: 32px;">';
|
102 |
$html.='<span class="wpvivid-feature-pro">';
|
103 |
-
$html.='<a href="https://wpvivid.com/wpvivid-backup-pro-schedule-overview?utm_source=client_custom_cycles&utm_medium=inner_link&utm_campaign=access" style="text-decoration: none; margin-top: 10px;">Pro feature: learn more</a>';
|
104 |
$html.='</span>';
|
105 |
$html.='</div>';
|
106 |
$html.='</label><br>';
|
87 |
$schedule_check = $this->check_schedule_type($display);
|
88 |
if($schedule_check['result']){
|
89 |
$html.=' <label><input type="radio" option="schedule" name="recurrence" value="'.$schedule_check['type'].'" />';
|
90 |
+
if($display === '12Hours'){
|
91 |
+
$html.='<span>'.__('12Hours', 'wpvivid').'</span></label><br>';
|
92 |
+
}
|
93 |
+
if($display === 'Daily'){
|
94 |
+
$html.='<span>'.__('Daily', 'wpvivid').'</span></label><br>';
|
95 |
+
}
|
96 |
+
if($display === 'Weekly'){
|
97 |
+
$html.='<span>'.__('Weekly', 'wpvivid').'</span></label><br>';
|
98 |
+
}
|
99 |
+
if($display === 'Fortnightly'){
|
100 |
+
$html.='<span>'.__('Fortnightly', 'wpvivid').'</span></label><br>';
|
101 |
+
}
|
102 |
+
if($display === 'Monthly'){
|
103 |
+
$html.='<span>'.__('Monthly', 'wpvivid').'</span></label><br>';
|
104 |
+
}
|
105 |
}
|
106 |
else{
|
107 |
$html.='<p>Warning: Unable to set '.$display.' backup schedule</p>';
|
110 |
$html.='<label>';
|
111 |
$html.='<div style="float: left;">';
|
112 |
$html.='<input type="radio" disabled />';
|
113 |
+
$html.='<span class="wpvivid-element-space-right" style="color: #ddd;">'.__('Custom', 'wpvivid').'</span>';
|
114 |
$html.='</div>';
|
115 |
$html.='<div style="float: left; height: 32px; line-height: 32px;">';
|
116 |
$html.='<span class="wpvivid-feature-pro">';
|
117 |
+
$html.='<a href="https://wpvivid.com/wpvivid-backup-pro-schedule-overview?utm_source=client_custom_cycles&utm_medium=inner_link&utm_campaign=access" style="text-decoration: none; margin-top: 10px;">'.__('Pro feature: learn more', 'wpvivid').'</a>';
|
118 |
$html.='</span>';
|
119 |
$html.='</div>';
|
120 |
$html.='</label><br>';
|
includes/class-wpvivid-tools.php
CHANGED
@@ -13,6 +13,10 @@ class WPvivid_tools
|
|
13 |
$home_url_prefix = $parse['host'].$tmppath;
|
14 |
$path = WP_CONTENT_DIR.DIRECTORY_SEPARATOR.WPvivid_Setting::get_backupdir();
|
15 |
$handler=opendir($path);
|
|
|
|
|
|
|
|
|
16 |
while(($filename=readdir($handler))!==false)
|
17 |
{
|
18 |
if(is_dir($path.DIRECTORY_SEPARATOR.$filename) && preg_match('#temp-'.$home_url_prefix.'_'.'#',$filename))
|
13 |
$home_url_prefix = $parse['host'].$tmppath;
|
14 |
$path = WP_CONTENT_DIR.DIRECTORY_SEPARATOR.WPvivid_Setting::get_backupdir();
|
15 |
$handler=opendir($path);
|
16 |
+
if($handler===false)
|
17 |
+
{
|
18 |
+
return ;
|
19 |
+
}
|
20 |
while(($filename=readdir($handler))!==false)
|
21 |
{
|
22 |
if(is_dir($path.DIRECTORY_SEPARATOR.$filename) && preg_match('#temp-'.$home_url_prefix.'_'.'#',$filename))
|
includes/class-wpvivid-zipclass.php
CHANGED
@@ -659,21 +659,23 @@ class WPvivid_ZipClass extends Wpvivid_Compress_Default
|
|
659 |
function get_folder_file_count_loop($path,&$count)
|
660 |
{
|
661 |
$handler = opendir($path);
|
662 |
-
|
663 |
-
while (($filename = readdir($handler)) !== false)
|
664 |
{
|
665 |
-
|
666 |
{
|
667 |
-
$
|
668 |
-
|
669 |
-
if(is_dir($path . DIRECTORY_SEPARATOR . $filename))
|
670 |
{
|
671 |
-
$
|
|
|
|
|
|
|
|
|
|
|
672 |
}
|
673 |
}
|
|
|
|
|
674 |
}
|
675 |
-
if($handler)
|
676 |
-
@closedir($handler);
|
677 |
}
|
678 |
|
679 |
function get_folder_file_size($file)
|
@@ -687,23 +689,25 @@ class WPvivid_ZipClass extends Wpvivid_Compress_Default
|
|
687 |
function get_folder_file_size_loop($path,&$count)
|
688 |
{
|
689 |
$handler = opendir($path);
|
690 |
-
|
691 |
-
while (($filename = readdir($handler)) !== false)
|
692 |
{
|
693 |
-
|
694 |
{
|
695 |
-
if(
|
696 |
-
{
|
697 |
-
$this->get_folder_file_size_loop($path . DIRECTORY_SEPARATOR . $filename,$count);
|
698 |
-
}
|
699 |
-
else
|
700 |
{
|
701 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
702 |
}
|
703 |
}
|
|
|
|
|
704 |
}
|
705 |
-
if($handler)
|
706 |
-
@closedir($handler);
|
707 |
}
|
708 |
|
709 |
public function get_root_flag_path($flag)
|
@@ -775,6 +779,9 @@ class WPvivid_ZipClass extends Wpvivid_Compress_Default
|
|
775 |
}
|
776 |
$handler = opendir($path);
|
777 |
|
|
|
|
|
|
|
778 |
while (($filename = readdir($handler)) !== false)
|
779 |
{
|
780 |
if ($filename != "." && $filename != "..")
|
659 |
function get_folder_file_count_loop($path,&$count)
|
660 |
{
|
661 |
$handler = opendir($path);
|
662 |
+
if($handler!==false)
|
|
|
663 |
{
|
664 |
+
while (($filename = readdir($handler)) !== false)
|
665 |
{
|
666 |
+
if ($filename != "." && $filename != "..")
|
|
|
|
|
667 |
{
|
668 |
+
$count++;
|
669 |
+
|
670 |
+
if(is_dir($path . DIRECTORY_SEPARATOR . $filename))
|
671 |
+
{
|
672 |
+
$this->get_folder_file_count_loop($path . DIRECTORY_SEPARATOR . $filename,$count);
|
673 |
+
}
|
674 |
}
|
675 |
}
|
676 |
+
if($handler)
|
677 |
+
@closedir($handler);
|
678 |
}
|
|
|
|
|
679 |
}
|
680 |
|
681 |
function get_folder_file_size($file)
|
689 |
function get_folder_file_size_loop($path,&$count)
|
690 |
{
|
691 |
$handler = opendir($path);
|
692 |
+
if($handler!==false)
|
|
|
693 |
{
|
694 |
+
while (($filename = readdir($handler)) !== false)
|
695 |
{
|
696 |
+
if ($filename != "." && $filename != "..")
|
|
|
|
|
|
|
|
|
697 |
{
|
698 |
+
if(is_dir($path . DIRECTORY_SEPARATOR . $filename))
|
699 |
+
{
|
700 |
+
$this->get_folder_file_size_loop($path . DIRECTORY_SEPARATOR . $filename,$count);
|
701 |
+
}
|
702 |
+
else
|
703 |
+
{
|
704 |
+
$count+=filesize($path . DIRECTORY_SEPARATOR . $filename);
|
705 |
+
}
|
706 |
}
|
707 |
}
|
708 |
+
if($handler)
|
709 |
+
@closedir($handler);
|
710 |
}
|
|
|
|
|
711 |
}
|
712 |
|
713 |
public function get_root_flag_path($flag)
|
779 |
}
|
780 |
$handler = opendir($path);
|
781 |
|
782 |
+
if($handler===false)
|
783 |
+
return;
|
784 |
+
|
785 |
while (($filename = readdir($handler)) !== false)
|
786 |
{
|
787 |
if ($filename != "." && $filename != "..")
|
includes/class-wpvivid.php
CHANGED
@@ -4070,6 +4070,8 @@ class WPvivid {
|
|
4070 |
public function get_dir_files(&$files,&$folder,$path,$except_regex,$exclude_files=array(),$exclude_folder=array(),$exclude_file_size=0,$flag = true)
|
4071 |
{
|
4072 |
$handler=opendir($path);
|
|
|
|
|
4073 |
while(($filename=readdir($handler))!==false)
|
4074 |
{
|
4075 |
if($filename != "." && $filename != "..")
|
@@ -4815,6 +4817,11 @@ class WPvivid {
|
|
4815 |
if (empty($value['time'])) {
|
4816 |
$value['time'] = 'N/A';
|
4817 |
}
|
|
|
|
|
|
|
|
|
|
|
4818 |
if (empty($value['des'])) {
|
4819 |
$value['des'] = 'N/A';
|
4820 |
}
|
@@ -4846,23 +4853,26 @@ class WPvivid {
|
|
4846 |
$files=array();
|
4847 |
$handler=opendir($dir);
|
4848 |
$regex='#^wpvivid.*_log.txt#';
|
4849 |
-
|
4850 |
{
|
4851 |
-
|
4852 |
{
|
4853 |
-
if(
|
4854 |
{
|
4855 |
-
|
4856 |
-
}else{
|
4857 |
-
if(preg_match($regex,$filename))
|
4858 |
{
|
4859 |
-
|
|
|
|
|
|
|
|
|
|
|
4860 |
}
|
4861 |
}
|
4862 |
}
|
|
|
|
|
4863 |
}
|
4864 |
-
if($handler)
|
4865 |
-
@closedir($handler);
|
4866 |
|
4867 |
foreach ($files as $file)
|
4868 |
{
|
@@ -5121,7 +5131,7 @@ class WPvivid {
|
|
5121 |
$backuplist=WPvivid_Backuplist::get_backuplist($list_name);
|
5122 |
$remote=array();
|
5123 |
$remote=apply_filters('wpvivid_remote_pic', $remote);
|
5124 |
-
|
5125 |
foreach ($backuplist as $key=>$value) {
|
5126 |
if($value['type'] !== 'Rollback') {
|
5127 |
$row_style = '';
|
@@ -5152,6 +5162,27 @@ class WPvivid {
|
|
5152 |
}
|
5153 |
}
|
5154 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5155 |
$remote_pic_html = '';
|
5156 |
$save_local_pic_y = '/admin/partials/images/storage-local.png';
|
5157 |
$save_local_pic_n = '/admin/partials/images/storage-local(gray).png';
|
@@ -5193,7 +5224,7 @@ class WPvivid {
|
|
5193 |
<th class="check-column"><input name="check_backup" type="checkbox" id="' . esc_attr($key, 'wpvivid') . '" value="' . esc_attr($key, 'wpvivid') . '" onclick="wpvivid_click_check_backup(\'' . $key . '\', \'' . $list_name . '\');" /></th>
|
5194 |
<td class="tablelistcolumn">
|
5195 |
<div style="float:left;padding:0 10px 10px 0;">
|
5196 |
-
<div class="backuptime"><strong>' . $upload_title . '</strong>' . __(date('M d, Y H:i', $
|
5197 |
<div class="common-table">
|
5198 |
<span title="To lock the backup, the backup can only be deleted manually" id="wpvivid_lock_' . $key . '">
|
5199 |
<img src="' . esc_url(WPVIVID_PLUGIN_URL . $backup_lock) . '" name="' . esc_attr($lock_status, 'wpvivid') . '" onclick="wpvivid_set_backup_lock(\'' . $key . '\', \'' . $lock_status . '\');" style="vertical-align:middle; cursor:pointer;"/>
|
@@ -5216,7 +5247,7 @@ class WPvivid {
|
|
5216 |
</td>
|
5217 |
<td class="tablelistcolumn" style="min-width:100px;">
|
5218 |
<div class="' . $tour_class . '" onclick="wpvivid_popup_tour(\'' . $hide . '\');">
|
5219 |
-
' . $tour_message . '<div style="cursor:pointer;padding:10px 0 10px 0;" onclick="wpvivid_initialize_restore(\'' . __($key, 'wpvivid') . '\',\'' . __(date('M d, Y H:i', $
|
5220 |
<img src="' . esc_url(WPVIVID_PLUGIN_URL . '/admin/partials/images/Restore.png') . '" style="vertical-align:middle;" /><span>' . __('Restore', 'wpvivid') . '</span>
|
5221 |
</div>
|
5222 |
</div>
|
4070 |
public function get_dir_files(&$files,&$folder,$path,$except_regex,$exclude_files=array(),$exclude_folder=array(),$exclude_file_size=0,$flag = true)
|
4071 |
{
|
4072 |
$handler=opendir($path);
|
4073 |
+
if($handler===false)
|
4074 |
+
return;
|
4075 |
while(($filename=readdir($handler))!==false)
|
4076 |
{
|
4077 |
if($filename != "." && $filename != "..")
|
4817 |
if (empty($value['time'])) {
|
4818 |
$value['time'] = 'N/A';
|
4819 |
}
|
4820 |
+
else{
|
4821 |
+
$offset=get_option('gmt_offset');
|
4822 |
+
$localtime = strtotime($value['time']) + $offset * 60 * 60;
|
4823 |
+
$value['time'] = date('Y-m-d H:i:s',$localtime);
|
4824 |
+
}
|
4825 |
if (empty($value['des'])) {
|
4826 |
$value['des'] = 'N/A';
|
4827 |
}
|
4853 |
$files=array();
|
4854 |
$handler=opendir($dir);
|
4855 |
$regex='#^wpvivid.*_log.txt#';
|
4856 |
+
if($handler!==false)
|
4857 |
{
|
4858 |
+
while(($filename=readdir($handler))!==false)
|
4859 |
{
|
4860 |
+
if($filename != "." && $filename != "..")
|
4861 |
{
|
4862 |
+
if(is_dir($dir.$filename))
|
|
|
|
|
4863 |
{
|
4864 |
+
continue;
|
4865 |
+
}else{
|
4866 |
+
if(preg_match($regex,$filename))
|
4867 |
+
{
|
4868 |
+
$files[$filename] = $dir.$filename;
|
4869 |
+
}
|
4870 |
}
|
4871 |
}
|
4872 |
}
|
4873 |
+
if($handler)
|
4874 |
+
@closedir($handler);
|
4875 |
}
|
|
|
|
|
4876 |
|
4877 |
foreach ($files as $file)
|
4878 |
{
|
5131 |
$backuplist=WPvivid_Backuplist::get_backuplist($list_name);
|
5132 |
$remote=array();
|
5133 |
$remote=apply_filters('wpvivid_remote_pic', $remote);
|
5134 |
+
$upload_title = '';
|
5135 |
foreach ($backuplist as $key=>$value) {
|
5136 |
if($value['type'] !== 'Rollback') {
|
5137 |
$row_style = '';
|
5162 |
}
|
5163 |
}
|
5164 |
|
5165 |
+
$backup_time=$value['create_time'];
|
5166 |
+
if(isset($value['backup']['files'])){
|
5167 |
+
foreach ($value['backup']['files'] as $file_info){
|
5168 |
+
if(preg_match('/[0-9]{4}-[0-9]{2}-[0-9]{2}-[0-9]{2}-[0-9]{2}/',$file_info['file_name'],$matches))
|
5169 |
+
{
|
5170 |
+
$backup_date=$matches[0];
|
5171 |
+
}
|
5172 |
+
else
|
5173 |
+
{
|
5174 |
+
$backup_date=$value['create_time'];
|
5175 |
+
}
|
5176 |
+
|
5177 |
+
$time_array=explode('-',$backup_date);
|
5178 |
+
if(sizeof($time_array)>4){
|
5179 |
+
$time=$time_array[0].'-'.$time_array[1].'-'.$time_array[2].' '.$time_array[3].':'.$time_array[4];
|
5180 |
+
$backup_time=strtotime($time);
|
5181 |
+
}
|
5182 |
+
break;
|
5183 |
+
}
|
5184 |
+
}
|
5185 |
+
|
5186 |
$remote_pic_html = '';
|
5187 |
$save_local_pic_y = '/admin/partials/images/storage-local.png';
|
5188 |
$save_local_pic_n = '/admin/partials/images/storage-local(gray).png';
|
5224 |
<th class="check-column"><input name="check_backup" type="checkbox" id="' . esc_attr($key, 'wpvivid') . '" value="' . esc_attr($key, 'wpvivid') . '" onclick="wpvivid_click_check_backup(\'' . $key . '\', \'' . $list_name . '\');" /></th>
|
5225 |
<td class="tablelistcolumn">
|
5226 |
<div style="float:left;padding:0 10px 10px 0;">
|
5227 |
+
<div class="backuptime"><strong>' . $upload_title . '</strong>' . __(date('M d, Y H:i', $backup_time), 'wpvivid') . '</div>
|
5228 |
<div class="common-table">
|
5229 |
<span title="To lock the backup, the backup can only be deleted manually" id="wpvivid_lock_' . $key . '">
|
5230 |
<img src="' . esc_url(WPVIVID_PLUGIN_URL . $backup_lock) . '" name="' . esc_attr($lock_status, 'wpvivid') . '" onclick="wpvivid_set_backup_lock(\'' . $key . '\', \'' . $lock_status . '\');" style="vertical-align:middle; cursor:pointer;"/>
|
5247 |
</td>
|
5248 |
<td class="tablelistcolumn" style="min-width:100px;">
|
5249 |
<div class="' . $tour_class . '" onclick="wpvivid_popup_tour(\'' . $hide . '\');">
|
5250 |
+
' . $tour_message . '<div style="cursor:pointer;padding:10px 0 10px 0;" onclick="wpvivid_initialize_restore(\'' . __($key, 'wpvivid') . '\',\'' . __(date('M d, Y H:i', $backup_time), 'wpvivid') . '\',\'' . __($value['type'], 'wpvivid') . '\');" style="float:left;padding:10px 10px 10px 0;">
|
5251 |
<img src="' . esc_url(WPVIVID_PLUGIN_URL . '/admin/partials/images/Restore.png') . '" style="vertical-align:middle;" /><span>' . __('Restore', 'wpvivid') . '</span>
|
5252 |
</div>
|
5253 |
</div>
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Tags: move, clone, migrate, copy, backup, restore, auto backup, cloud backup
|
|
4 |
Requires at least: 4.5
|
5 |
Tested up to: 5.3.2
|
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 |
|
@@ -177,6 +177,10 @@ Thank you for translating WPvivid Backup Plugin to your languages!
|
|
177 |
* [Shohei OKADA](https://ja.gravatar.com/silversword0630)(Japanese)
|
178 |
|
179 |
== Changelog ==
|
|
|
|
|
|
|
|
|
180 |
= 0.9.36 =
|
181 |
- Added an option to overwrite existing pages in an import.
|
182 |
- Fixed: Could not retrieve posts list on a multilingual site in an export.
|
4 |
Requires at least: 4.5
|
5 |
Tested up to: 5.3.2
|
6 |
Requires PHP: 5.3
|
7 |
+
Stable tag: 0.9.37
|
8 |
License: GPLv3 or later
|
9 |
License URI: https://www.gnu.org/licenses/gpl-3.0.en.html
|
10 |
|
177 |
* [Shohei OKADA](https://ja.gravatar.com/silversword0630)(Japanese)
|
178 |
|
179 |
== Changelog ==
|
180 |
+
= 0.9.37 =
|
181 |
+
- Changed the time in the name of the backup zip to the sites local time.
|
182 |
+
- Changed the time showed in the backup list and log list to the sites local time.
|
183 |
+
- Fixed some bugs in the plugin code.
|
184 |
= 0.9.36 =
|
185 |
- Added an option to overwrite existing pages in an import.
|
186 |
- Fixed: Could not retrieve posts list on a multilingual site in an export.
|
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');
|
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.37
|
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.37' );
|
25 |
//
|
26 |
define('WPVIVID_RESTORE_INIT','init');
|
27 |
define('WPVIVID_RESTORE_READY','ready');
|