Version Description
- Fixed: Failed to back up files of 0 KB in PHP 8 environment.
- Changed: The information of backup folder name will not be included when you export the plugin settings.
- 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.60 |
Comparing to | |
See all releases |
Code changes from version 0.9.59 to 0.9.60
- admin/class-wpvivid-admin.php +1 -1
- admin/partials/wpvivid-backup-restore-page-display.php +2 -2
- includes/class-wpvivid-importer.php +1 -1
- includes/class-wpvivid-setting.php +9 -0
- includes/class-wpvivid.php +6 -4
- includes/staging/class-wpvivid-staging-log-page.php +2 -2
- readme.txt +6 -1
- wpvivid-backuprestore.php +2 -2
admin/class-wpvivid-admin.php
CHANGED
@@ -592,7 +592,7 @@ class WPvivid_Admin {
|
|
592 |
|
593 |
$hide_notice = get_option('wpvivid_hide_wp_cron_notice', false);
|
594 |
if(defined( 'DISABLE_WP_CRON' ) && DISABLE_WP_CRON && $hide_notice === false){
|
595 |
-
echo '<div class="notice notice-error notice-wp-cron is-dismissible"><p>'.__('In order to execute the scheduled backups properly, please set the DISABLE_WP_CRON constant to false.', 'wpvivid-backuprestore').'</p></div>';
|
596 |
}
|
597 |
}
|
598 |
|
592 |
|
593 |
$hide_notice = get_option('wpvivid_hide_wp_cron_notice', false);
|
594 |
if(defined( 'DISABLE_WP_CRON' ) && DISABLE_WP_CRON && $hide_notice === false){
|
595 |
+
echo '<div class="notice notice-error notice-wp-cron is-dismissible"><p>'.__('In order to execute the scheduled backups properly, please set the DISABLE_WP_CRON constant to false. If you are using an external cron system, simply click \'X\' to dismiss this message.', 'wpvivid-backuprestore').'</p></div>';
|
596 |
}
|
597 |
}
|
598 |
|
admin/partials/wpvivid-backup-restore-page-display.php
CHANGED
@@ -2506,7 +2506,7 @@ function wpvivid_backuppage_add_schedule_module(){
|
|
2506 |
$schedule=WPvivid_Schedule::get_schedule();
|
2507 |
if($schedule['enable']){
|
2508 |
$schedule_status='Enabled';
|
2509 |
-
$next_backup_time=date("l, F
|
2510 |
}
|
2511 |
else{
|
2512 |
$schedule_status='Disabled';
|
@@ -2520,7 +2520,7 @@ function wpvivid_backuppage_add_schedule_module(){
|
|
2520 |
<div class="schedule-block">
|
2521 |
<p id="wpvivid_schedule_status"><strong><?php _e('Schedule Status: ', 'wpvivid-backuprestore'); ?></strong><?php _e($schedule_status); ?></p>
|
2522 |
<div id="wpvivid_schedule_info">
|
2523 |
-
<p><strong><?php _e('Server Time: ', 'wpvivid-backuprestore'); ?></strong><?php _e(date("l, F
|
2524 |
<p><span id="wpvivid_last_backup_msg"><?php _e($last_message); ?></span></p>
|
2525 |
<p id="wpvivid_next_backup"><strong><?php _e('Next Backup: ', 'wpvivid-backuprestore'); ?></strong><?php _e($next_backup_time); ?></p>
|
2526 |
</div>
|
2506 |
$schedule=WPvivid_Schedule::get_schedule();
|
2507 |
if($schedule['enable']){
|
2508 |
$schedule_status='Enabled';
|
2509 |
+
$next_backup_time=date("l, F-d-Y H:i", $schedule['next_start']);
|
2510 |
}
|
2511 |
else{
|
2512 |
$schedule_status='Disabled';
|
2520 |
<div class="schedule-block">
|
2521 |
<p id="wpvivid_schedule_status"><strong><?php _e('Schedule Status: ', 'wpvivid-backuprestore'); ?></strong><?php _e($schedule_status); ?></p>
|
2522 |
<div id="wpvivid_schedule_info">
|
2523 |
+
<p><strong><?php _e('Server Time: ', 'wpvivid-backuprestore'); ?></strong><?php _e(date("l, F-d-Y H:i",time())); ?></p>
|
2524 |
<p><span id="wpvivid_last_backup_msg"><?php _e($last_message); ?></span></p>
|
2525 |
<p id="wpvivid_next_backup"><strong><?php _e('Next Backup: ', 'wpvivid-backuprestore'); ?></strong><?php _e($next_backup_time); ?></p>
|
2526 |
</div>
|
includes/class-wpvivid-importer.php
CHANGED
@@ -154,7 +154,7 @@ class WPvivid_Export_List extends WP_List_Table
|
|
154 |
'.$item['file_name'].'
|
155 |
</div>
|
156 |
<div style="padding-bottom: 5px;">
|
157 |
-
<div class="backuptime">Data Modified: ' . __(date('M
|
158 |
</div>
|
159 |
</td>';
|
160 |
}
|
154 |
'.$item['file_name'].'
|
155 |
</div>
|
156 |
<div style="padding-bottom: 5px;">
|
157 |
+
<div class="backuptime">Data Modified: ' . __(date('M-d-Y H:i', $item['time']), 'wpvivid-backuprestore') . '</div>
|
158 |
</div>
|
159 |
</td>';
|
160 |
}
|
includes/class-wpvivid-setting.php
CHANGED
@@ -497,6 +497,15 @@ class WPvivid_Setting
|
|
497 |
$json['data']['wpvivid_email_setting']=self::get_option('wpvivid_email_setting');
|
498 |
$json['data']['wpvivid_saved_api_token']=self::get_option('wpvivid_saved_api_token');
|
499 |
$json = apply_filters('wpvivid_export_setting_addon', $json);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
500 |
}
|
501 |
|
502 |
if($history)
|
497 |
$json['data']['wpvivid_email_setting']=self::get_option('wpvivid_email_setting');
|
498 |
$json['data']['wpvivid_saved_api_token']=self::get_option('wpvivid_saved_api_token');
|
499 |
$json = apply_filters('wpvivid_export_setting_addon', $json);
|
500 |
+
if(isset($json['data']['wpvivid_local_setting']['path'])){
|
501 |
+
unset($json['data']['wpvivid_local_setting']['path']);
|
502 |
+
}
|
503 |
+
if(isset($json['data']['wpvivid_common_setting']['log_save_location'])){
|
504 |
+
unset($json['data']['wpvivid_common_setting']['log_save_location']);
|
505 |
+
}
|
506 |
+
if(isset($json['data']['wpvivid_common_setting']['backup_prefix'])){
|
507 |
+
unset($json['data']['wpvivid_common_setting']['backup_prefix']);
|
508 |
+
}
|
509 |
}
|
510 |
|
511 |
if($history)
|
includes/class-wpvivid.php
CHANGED
@@ -3973,6 +3973,7 @@ class WPvivid {
|
|
3973 |
$last_message=__('The last backup message not found.', 'wpvivid-backuprestore');
|
3974 |
}
|
3975 |
else{
|
|
|
3976 |
if($message['status']['str'] == 'completed'){
|
3977 |
$backup_status='Succeeded';
|
3978 |
$last_message=$backup_status.', '.$message['status']['start_time'].' <a onclick="wpvivid_read_log(\''.'wpvivid_read_last_backup_log'.'\', \''.$message['log_file_name'].'\');" style="cursor:pointer;"> Log</a>';
|
@@ -5057,6 +5058,7 @@ class WPvivid {
|
|
5057 |
die();
|
5058 |
}
|
5059 |
if (json_last_error() === JSON_ERROR_NONE && is_array($json) && array_key_exists('plugin', $json) && $json['plugin'] == 'WPvivid') {
|
|
|
5060 |
WPvivid_Setting::import_json_to_setting($json);
|
5061 |
//WPvivid_Schedule::reset_schedule();
|
5062 |
do_action('wpvivid_reset_schedule');
|
@@ -5222,7 +5224,7 @@ class WPvivid {
|
|
5222 |
else{
|
5223 |
$offset=get_option('gmt_offset');
|
5224 |
$localtime = strtotime($value['time']) + $offset * 60 * 60;
|
5225 |
-
$value['time'] = date('
|
5226 |
}
|
5227 |
if (empty($value['des'])) {
|
5228 |
$value['des'] = 'N/A';
|
@@ -5670,7 +5672,7 @@ class WPvivid {
|
|
5670 |
<th class="check-column"><input name="check_backup" type="checkbox" id="' . esc_attr($key, 'wpvivid-backuprestore') . '" value="' . esc_attr($key, 'wpvivid-backuprestore') . '" onclick="wpvivid_click_check_backup(\'' . $key . '\', \'' . $list_name . '\');" /></th>
|
5671 |
<td class="tablelistcolumn">
|
5672 |
<div style="float:left;padding:0 10px 10px 0;">
|
5673 |
-
<div class="backuptime"><strong>' . $upload_title . '</strong>' . __(date('M
|
5674 |
<div class="common-table">
|
5675 |
<span title="To lock the backup, the backup can only be deleted manually" id="wpvivid_lock_' . $key . '">
|
5676 |
<img src="' . esc_url(WPVIVID_PLUGIN_URL . $backup_lock) . '" name="' . esc_attr($lock_status, 'wpvivid-backuprestore') . '" onclick="wpvivid_set_backup_lock(\'' . $key . '\', \'' . $lock_status . '\');" style="vertical-align:middle; cursor:pointer;"/>
|
@@ -5693,7 +5695,7 @@ class WPvivid {
|
|
5693 |
</td>
|
5694 |
<td class="tablelistcolumn" style="min-width:100px;">
|
5695 |
<div class="' . $tour_class . '" onclick="wpvivid_popup_tour(\'' . $hide . '\');">
|
5696 |
-
' . $tour_message . '<div style="cursor:pointer;padding:10px 0 10px 0;" onclick="wpvivid_initialize_restore(\'' . __($key, 'wpvivid-backuprestore') . '\',\'' . __(date('M
|
5697 |
<img src="' . esc_url(WPVIVID_PLUGIN_URL . '/admin/partials/images/Restore.png') . '" style="vertical-align:middle;" /><span>' . __('Restore', 'wpvivid-backuprestore') . '</span>
|
5698 |
</div>
|
5699 |
</div>
|
@@ -6195,7 +6197,7 @@ class WPvivid {
|
|
6195 |
{
|
6196 |
if(version_compare(phpversion(),'8.0.0','>='))
|
6197 |
{
|
6198 |
-
return '
|
6199 |
}
|
6200 |
return $class;
|
6201 |
}
|
3973 |
$last_message=__('The last backup message not found.', 'wpvivid-backuprestore');
|
3974 |
}
|
3975 |
else{
|
3976 |
+
$message['status']['start_time'] = date("l, F-d-Y H:i", strtotime($message['status']['start_time']));
|
3977 |
if($message['status']['str'] == 'completed'){
|
3978 |
$backup_status='Succeeded';
|
3979 |
$last_message=$backup_status.', '.$message['status']['start_time'].' <a onclick="wpvivid_read_log(\''.'wpvivid_read_last_backup_log'.'\', \''.$message['log_file_name'].'\');" style="cursor:pointer;"> Log</a>';
|
5058 |
die();
|
5059 |
}
|
5060 |
if (json_last_error() === JSON_ERROR_NONE && is_array($json) && array_key_exists('plugin', $json) && $json['plugin'] == 'WPvivid') {
|
5061 |
+
$json = apply_filters('wpvivid_trim_import_info', $json);
|
5062 |
WPvivid_Setting::import_json_to_setting($json);
|
5063 |
//WPvivid_Schedule::reset_schedule();
|
5064 |
do_action('wpvivid_reset_schedule');
|
5224 |
else{
|
5225 |
$offset=get_option('gmt_offset');
|
5226 |
$localtime = strtotime($value['time']) + $offset * 60 * 60;
|
5227 |
+
$value['time'] = date('F-d-Y H:i:s',$localtime);
|
5228 |
}
|
5229 |
if (empty($value['des'])) {
|
5230 |
$value['des'] = 'N/A';
|
5672 |
<th class="check-column"><input name="check_backup" type="checkbox" id="' . esc_attr($key, 'wpvivid-backuprestore') . '" value="' . esc_attr($key, 'wpvivid-backuprestore') . '" onclick="wpvivid_click_check_backup(\'' . $key . '\', \'' . $list_name . '\');" /></th>
|
5673 |
<td class="tablelistcolumn">
|
5674 |
<div style="float:left;padding:0 10px 10px 0;">
|
5675 |
+
<div class="backuptime"><strong>' . $upload_title . '</strong>' . __(date('M-d-Y H:i', $backup_time), 'wpvivid-backuprestore') . '</div>
|
5676 |
<div class="common-table">
|
5677 |
<span title="To lock the backup, the backup can only be deleted manually" id="wpvivid_lock_' . $key . '">
|
5678 |
<img src="' . esc_url(WPVIVID_PLUGIN_URL . $backup_lock) . '" name="' . esc_attr($lock_status, 'wpvivid-backuprestore') . '" onclick="wpvivid_set_backup_lock(\'' . $key . '\', \'' . $lock_status . '\');" style="vertical-align:middle; cursor:pointer;"/>
|
5695 |
</td>
|
5696 |
<td class="tablelistcolumn" style="min-width:100px;">
|
5697 |
<div class="' . $tour_class . '" onclick="wpvivid_popup_tour(\'' . $hide . '\');">
|
5698 |
+
' . $tour_message . '<div style="cursor:pointer;padding:10px 0 10px 0;" onclick="wpvivid_initialize_restore(\'' . __($key, 'wpvivid-backuprestore') . '\',\'' . __(date('M-d-Y H:i', $backup_time), 'wpvivid-backuprestore') . '\',\'' . __($value['type'], 'wpvivid-backuprestore') . '\');" style="float:left;padding:10px 10px 10px 0;">
|
5699 |
<img src="' . esc_url(WPVIVID_PLUGIN_URL . '/admin/partials/images/Restore.png') . '" style="vertical-align:middle;" /><span>' . __('Restore', 'wpvivid-backuprestore') . '</span>
|
5700 |
</div>
|
5701 |
</div>
|
6197 |
{
|
6198 |
if(version_compare(phpversion(),'8.0.0','>='))
|
6199 |
{
|
6200 |
+
return 'WPvivid_PclZip_Class_Ex';
|
6201 |
}
|
6202 |
return $class;
|
6203 |
}
|
includes/staging/class-wpvivid-staging-log-page.php
CHANGED
@@ -111,7 +111,7 @@ class WPvivid_Staging_Log_List_Free extends WP_List_Table
|
|
111 |
{
|
112 |
$offset=get_option('gmt_offset');
|
113 |
$localtime = strtotime($log['time']) + $offset * 60 * 60;
|
114 |
-
echo '<td><label for="tablecell">'.date('
|
115 |
}
|
116 |
|
117 |
protected function column_wpvivid_log_type($log)
|
@@ -474,7 +474,7 @@ class WPvivid_Staging_Log_Page_Free
|
|
474 |
else{
|
475 |
$offset=get_option('gmt_offset');
|
476 |
$localtime = strtotime($value['time']) + $offset * 60 * 60;
|
477 |
-
$value['time'] = date('
|
478 |
}
|
479 |
if (empty($value['des'])) {
|
480 |
$value['des'] = 'N/A';
|
111 |
{
|
112 |
$offset=get_option('gmt_offset');
|
113 |
$localtime = strtotime($log['time']) + $offset * 60 * 60;
|
114 |
+
echo '<td><label for="tablecell">'.date('F-d-Y H:i:s',$localtime).'</label></td>';
|
115 |
}
|
116 |
|
117 |
protected function column_wpvivid_log_type($log)
|
474 |
else{
|
475 |
$offset=get_option('gmt_offset');
|
476 |
$localtime = strtotime($value['time']) + $offset * 60 * 60;
|
477 |
+
$value['time'] = date('F-d-Y H:i:s',$localtime);
|
478 |
}
|
479 |
if (empty($value['des'])) {
|
480 |
$value['des'] = 'N/A';
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Tags: move, clone, migrate, staging, 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 |
|
@@ -192,6 +192,11 @@ Thank you for translating WPvivid Backup Plugin to your languages!
|
|
192 |
* [Nima](https://profiles.wordpress.org/nima78600/) (Persian)
|
193 |
|
194 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
195 |
= 0.9.59 =
|
196 |
- Fixed the PHP Guzzle library support compatibility issue which could cause backup failure in some cases.
|
197 |
- Fixed some bugs in the plugin code.
|
4 |
Requires at least: 4.5
|
5 |
Tested up to: 5.8
|
6 |
Requires PHP: 5.3
|
7 |
+
Stable tag: 0.9.60
|
8 |
License: GPLv3 or later
|
9 |
License URI: https://www.gnu.org/licenses/gpl-3.0.en.html
|
10 |
|
192 |
* [Nima](https://profiles.wordpress.org/nima78600/) (Persian)
|
193 |
|
194 |
== Changelog ==
|
195 |
+
= 0.9.60 =
|
196 |
+
- Fixed: Failed to back up files of 0 KB in PHP 8 environment.
|
197 |
+
- Changed: The information of backup folder name will not be included when you export the plugin settings.
|
198 |
+
- Fixed some bugs in the plugin code.
|
199 |
+
- Optimized the plugin code.
|
200 |
= 0.9.59 =
|
201 |
- Fixed the PHP Guzzle library support compatibility issue which could cause backup failure in some cases.
|
202 |
- Fixed some bugs in the plugin code.
|
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.60
|
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.60' );
|
25 |
//
|
26 |
define('WPVIVID_RESTORE_INIT','init');
|
27 |
define('WPVIVID_RESTORE_READY','ready');
|