Version Description
- Optimized the plugin's UI.
- Added a new tab for downloading WPvivid Backup for MainWP.
Download this release
Release Info
Developer | wpvivid |
Plugin | Migration, Backup, Staging – WPvivid |
Version | 0.9.26 |
Comparing to | |
See all releases |
Code changes from version 0.9.25 to 0.9.26
- admin/class-wpvivid-admin.php +52 -0
- admin/css/wpvivid-admin.css +1 -2
- admin/partials/wpvivid-admin-display.php +1 -1
- admin/partials/wpvivid-backup-restore-page-display.php +11 -6
- admin/partials/wpvivid-schedule-page-display.php +28 -6
- admin/partials/wpvivid-settings-page-display.php +3 -3
- includes/class-wpvivid-function-realize.php +18 -3
- includes/class-wpvivid-migrate.php +10 -5
- includes/class-wpvivid-public-interface.php +34 -3
- includes/class-wpvivid-schedule.php +11 -3
- includes/class-wpvivid-setting.php +2 -0
- includes/class-wpvivid.php +17 -2
- includes/customclass/class-wpvivid-amazons3-plus.php +2 -2
- includes/customclass/class-wpvivid-dropbox.php +15 -25
- includes/customclass/class-wpvivid-ftpclass.php +14 -7
- includes/customclass/class-wpvivid-google-drive.php +15 -2
- includes/customclass/class-wpvivid-one-drive.php +15 -2
- includes/customclass/class-wpvivid-s3compat.php +2 -2
- readme.txt +6 -3
- wpvivid-backuprestore.php +30 -4
admin/class-wpvivid-admin.php
CHANGED
@@ -74,6 +74,7 @@ class WPvivid_Admin {
|
|
74 |
$screen_ids[]='wpvivid-backup_page_wpvivid-website';
|
75 |
$screen_ids[]='wpvivid-backup_page_wpvivid-log';
|
76 |
$screen_ids[]='wpvivid-backup_page_wpvivid-key';
|
|
|
77 |
return $screen_ids;
|
78 |
}
|
79 |
|
@@ -148,6 +149,15 @@ class WPvivid_Admin {
|
|
148 |
$menu['href']=$admin_url . 'admin.php?page=WPvivid&tab-key';
|
149 |
$menu['index']=8;
|
150 |
$toolbar_menus[$menu['parent']]['child'][$menu['id']]=$menu;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
151 |
return $toolbar_menus;
|
152 |
}
|
153 |
|
@@ -225,6 +235,15 @@ class WPvivid_Admin {
|
|
225 |
$submenu['index']=8;
|
226 |
$submenus[$submenu['menu_slug']]=$submenu;
|
227 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
228 |
return $submenus;
|
229 |
}
|
230 |
|
@@ -402,6 +421,9 @@ class WPvivid_Admin {
|
|
402 |
else if(isset($_REQUEST['tab-key'])){
|
403 |
self::wpvivid_set_page_request('key');
|
404 |
}
|
|
|
|
|
|
|
405 |
else
|
406 |
{
|
407 |
global $request_page;
|
@@ -521,6 +543,11 @@ class WPvivid_Admin {
|
|
521 |
$this->display_plugin_setup_page();
|
522 |
}
|
523 |
|
|
|
|
|
|
|
|
|
|
|
524 |
public function wpvivid_set_page_request($page){
|
525 |
global $request_page;
|
526 |
switch($page)
|
@@ -549,6 +576,9 @@ class WPvivid_Admin {
|
|
549 |
case "key":
|
550 |
$request_page='wpvivid_tab_key';
|
551 |
break;
|
|
|
|
|
|
|
552 |
default:
|
553 |
$request_page='wpvivid_tab_general';
|
554 |
break;
|
@@ -690,6 +720,7 @@ class WPvivid_Admin {
|
|
690 |
$page_array['website_info'] = array('index' => '6', 'tab_func' => array($this, 'wpvivid_add_tab_website_info'), 'page_func' => array($this, 'wpvivid_add_page_website_info'));
|
691 |
$page_array['log'] = array('index' => '7', 'tab_func' => array($this, 'wpvivid_add_tab_log'), 'page_func' => array($this, 'wpvivid_add_page_log'));
|
692 |
$page_array['read_log'] = array('index' => '9', 'tab_func' => array($this, 'wpvivid_add_tab_read_log'), 'page_func' => array($this, 'wpvivid_add_page_read_log'));
|
|
|
693 |
return $page_array;
|
694 |
}
|
695 |
|
@@ -740,6 +771,12 @@ class WPvivid_Admin {
|
|
740 |
<?php
|
741 |
}
|
742 |
|
|
|
|
|
|
|
|
|
|
|
|
|
743 |
public function wpvivid_add_page_backup(){
|
744 |
$html_progress = '';
|
745 |
$html_backup = '';
|
@@ -1150,4 +1187,19 @@ class WPvivid_Admin {
|
|
1150 |
</div>
|
1151 |
<?php
|
1152 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1153 |
}
|
74 |
$screen_ids[]='wpvivid-backup_page_wpvivid-website';
|
75 |
$screen_ids[]='wpvivid-backup_page_wpvivid-log';
|
76 |
$screen_ids[]='wpvivid-backup_page_wpvivid-key';
|
77 |
+
$screen_ids[]='wpvivid-backup_page_wpvivid-mainwp';
|
78 |
return $screen_ids;
|
79 |
}
|
80 |
|
149 |
$menu['href']=$admin_url . 'admin.php?page=WPvivid&tab-key';
|
150 |
$menu['index']=8;
|
151 |
$toolbar_menus[$menu['parent']]['child'][$menu['id']]=$menu;
|
152 |
+
|
153 |
+
$menu['id']='wpvivid_admin_menu_mwp';
|
154 |
+
$menu['parent']='wpvivid_admin_menu';
|
155 |
+
$menu['title']='MainWP';
|
156 |
+
$menu['tab']= 'admin.php?page=WPvivid&tab-mainwp';
|
157 |
+
$menu['href']=$admin_url . 'admin.php?page=WPvivid&tab-mainwp';
|
158 |
+
$menu['index']=30;
|
159 |
+
$toolbar_menus[$menu['parent']]['child'][$menu['id']]=$menu;
|
160 |
+
|
161 |
return $toolbar_menus;
|
162 |
}
|
163 |
|
235 |
$submenu['index']=8;
|
236 |
$submenus[$submenu['menu_slug']]=$submenu;
|
237 |
|
238 |
+
$submenu['parent_slug']=$this->plugin_name;
|
239 |
+
$submenu['page_title']= __('WPvivid Backup');
|
240 |
+
$submenu['menu_title']=__('MainWP', 'wpvivid');
|
241 |
+
$submenu['capability']='administrator';
|
242 |
+
$submenu['menu_slug']='wpvivid-mainwp';
|
243 |
+
$submenu['function']=array($this, 'display_plugin_mainwp_page');
|
244 |
+
$submenu['index']=30;
|
245 |
+
$submenus[$submenu['menu_slug']]=$submenu;
|
246 |
+
|
247 |
return $submenus;
|
248 |
}
|
249 |
|
421 |
else if(isset($_REQUEST['tab-key'])){
|
422 |
self::wpvivid_set_page_request('key');
|
423 |
}
|
424 |
+
else if(isset($_REQUEST['tab-mainwp'])){
|
425 |
+
self::wpvivid_set_page_request('mainwp');
|
426 |
+
}
|
427 |
else
|
428 |
{
|
429 |
global $request_page;
|
543 |
$this->display_plugin_setup_page();
|
544 |
}
|
545 |
|
546 |
+
public function display_plugin_mainwp_page(){
|
547 |
+
self::wpvivid_set_page_request('mainwp');
|
548 |
+
$this->display_plugin_setup_page();
|
549 |
+
}
|
550 |
+
|
551 |
public function wpvivid_set_page_request($page){
|
552 |
global $request_page;
|
553 |
switch($page)
|
576 |
case "key":
|
577 |
$request_page='wpvivid_tab_key';
|
578 |
break;
|
579 |
+
case "mainwp":
|
580 |
+
$request_page='wpvivid_tab_mainwp';
|
581 |
+
break;
|
582 |
default:
|
583 |
$request_page='wpvivid_tab_general';
|
584 |
break;
|
720 |
$page_array['website_info'] = array('index' => '6', 'tab_func' => array($this, 'wpvivid_add_tab_website_info'), 'page_func' => array($this, 'wpvivid_add_page_website_info'));
|
721 |
$page_array['log'] = array('index' => '7', 'tab_func' => array($this, 'wpvivid_add_tab_log'), 'page_func' => array($this, 'wpvivid_add_page_log'));
|
722 |
$page_array['read_log'] = array('index' => '9', 'tab_func' => array($this, 'wpvivid_add_tab_read_log'), 'page_func' => array($this, 'wpvivid_add_page_read_log'));
|
723 |
+
$page_array['mwp'] = array('index' => '30', 'tab_func' => array($this, 'wpvivid_add_tab_mwp'), 'page_func' => array($this, 'wpvivid_add_page_mwp'));
|
724 |
return $page_array;
|
725 |
}
|
726 |
|
771 |
<?php
|
772 |
}
|
773 |
|
774 |
+
public function wpvivid_add_tab_mwp(){
|
775 |
+
?>
|
776 |
+
<a href="#" id="wpvivid_tab_mainwp" class="nav-tab wrap-nav-tab" onclick="switchTabs(event, 'mwp-page')"><?php _e('MainWP', 'wpvivid'); ?></a>
|
777 |
+
<?php
|
778 |
+
}
|
779 |
+
|
780 |
public function wpvivid_add_page_backup(){
|
781 |
$html_progress = '';
|
782 |
$html_backup = '';
|
1187 |
</div>
|
1188 |
<?php
|
1189 |
}
|
1190 |
+
|
1191 |
+
public function wpvivid_add_page_mwp(){
|
1192 |
+
?>
|
1193 |
+
<div id="mwp-page" class="wrap-tab-content wpvivid_tab_mainwp" name="tab-mwp" style="display:none;">
|
1194 |
+
<div style="padding: 10px; background-color: #fff;">
|
1195 |
+
<div style="margin-bottom: 10px;">
|
1196 |
+
WPvivid Backup Plugin can be managed from MainWP dashboard now. <a target="_blank" href="https://wordpress.org/plugins/wpvivid-backup-mainwp/" style="text-decoration: none;">Download WPvivid Backup for MainWP extension from wordpress.org.</a>
|
1197 |
+
</div>
|
1198 |
+
<div>
|
1199 |
+
<strong>Note: </strong>This extension currently only works with the community version of WPvivid Backup Plugin.
|
1200 |
+
</div>
|
1201 |
+
</div>
|
1202 |
+
</div>
|
1203 |
+
<?php
|
1204 |
+
}
|
1205 |
}
|
admin/css/wpvivid-admin.css
CHANGED
@@ -55,11 +55,10 @@
|
|
55 |
.remote-storage-amazons3-encryption input, span{display:line-block; margin-top:10px; margin-bottom:10px;margin-right:10px;}
|
56 |
.backup-list-head{}
|
57 |
.storage-account-form {padding-top: 1px; padding-bottom: 1px;}
|
58 |
-
|
59 |
.quicktransfer{width:100%; float:left; box-sizing:border-box;margin-right:10px; padding:10px;}
|
60 |
.quicktransfer label{display:inline-block;margin-bottom:10px;}
|
61 |
.quicktransfer-btn{display:block !important; margin:0 auto !important;width:220px;height:50px !important; line-height:48px !important; font-size:20px !important;}
|
62 |
-
|
63 |
@media screen and (max-width:1650px) {
|
64 |
.qucikbackup-schedule{
|
65 |
float:none;
|
55 |
.remote-storage-amazons3-encryption input, span{display:line-block; margin-top:10px; margin-bottom:10px;margin-right:10px;}
|
56 |
.backup-list-head{}
|
57 |
.storage-account-form {padding-top: 1px; padding-bottom: 1px;}
|
|
|
58 |
.quicktransfer{width:100%; float:left; box-sizing:border-box;margin-right:10px; padding:10px;}
|
59 |
.quicktransfer label{display:inline-block;margin-bottom:10px;}
|
60 |
.quicktransfer-btn{display:block !important; margin:0 auto !important;width:220px;height:50px !important; line-height:48px !important; font-size:20px !important;}
|
61 |
+
.wpvivid-feature-pro{font-size:12px;border:1px solid #f1f1f1;padding:3px 5px;margin: 10px 10px 10px 0;border-radius:5px;}
|
62 |
@media screen and (max-width:1650px) {
|
63 |
.qucikbackup-schedule{
|
64 |
float:none;
|
admin/partials/wpvivid-admin-display.php
CHANGED
@@ -45,7 +45,7 @@ function wpvivid_schedule_module($html){
|
|
45 |
function wpvivid_join_pro_testing($html){
|
46 |
$html = '';
|
47 |
$html = '<div class="postbox">
|
48 |
-
<h2><a href="https://wpvivid.com/pro-version-beta-testing?utm_source=client_beta_testing&utm_medium=inner_link&utm_campaign=access">WPvivid Backup Pro Beta Testing</a></h2>
|
49 |
</div>';
|
50 |
return $html;
|
51 |
}
|
45 |
function wpvivid_join_pro_testing($html){
|
46 |
$html = '';
|
47 |
$html = '<div class="postbox">
|
48 |
+
<h2><a href="https://wpvivid.com/pro-version-beta-testing?utm_source=client_beta_testing&utm_medium=inner_link&utm_campaign=access" style="text-decoration: none;">WPvivid Backup Pro Beta Testing</a></h2>
|
49 |
</div>';
|
50 |
return $html;
|
51 |
}
|
admin/partials/wpvivid-backup-restore-page-display.php
CHANGED
@@ -15,8 +15,13 @@ function wpvivid_add_backup_type($html, $type_name)
|
|
15 |
<span>'.__( 'Only Database', 'wpvivid' ).'</span>
|
16 |
</label><br>
|
17 |
<label>
|
18 |
-
<
|
19 |
-
|
|
|
|
|
|
|
|
|
|
|
20 |
</label><br>';
|
21 |
return $html;
|
22 |
}
|
@@ -92,7 +97,7 @@ function wpvivid_download_backup_descript($html){
|
|
92 |
}
|
93 |
|
94 |
function wpvivid_restore_website_descript($html){
|
95 |
-
$html = '<p><a href="#" id="wpvivid_how_to_restore_backup_describe" onclick="wpvivid_click_how_to_restore_backup();">'.__('How to restore your website from a backup(scheduled, manual, uploaded and received backup)', 'wpvivid').'</a></p>';
|
96 |
$html .= '<div id="wpvivid_how_to_restore_backup"></div>';
|
97 |
return $html;
|
98 |
}
|
@@ -1453,8 +1458,8 @@ function wpvivid_backuppage_add_progress_module(){
|
|
1453 |
|
1454 |
function wpvivid_cancel_backup(){
|
1455 |
var ajax_data= {
|
1456 |
-
'action': 'wpvivid_backup_cancel'
|
1457 |
-
'task_id': running_backup_taskid
|
1458 |
};
|
1459 |
jQuery('#wpvivid_backup_cancel_btn').css({'pointer-events': 'none', 'opacity': '0.4'});
|
1460 |
wpvivid_post_request(ajax_data, function(data){
|
@@ -1492,7 +1497,7 @@ function wpvivid_backup_module_add_descript(){
|
|
1492 |
<div class="quickstart-storage-setting">
|
1493 |
<span class="list-top-chip backup" name="ismerge" value="1"><?php _e('Local Storage Directory: '); ?></span>
|
1494 |
<span class="list-top-chip" id="wpvivid_local_storage_path"><?php _e(WP_CONTENT_DIR.DIRECTORY_SEPARATOR.$backupdir); ?></span>
|
1495 |
-
<span class="list-top-chip" id=""><a href="#" onclick="wpvivid_click_switch_page('wrap', 'wpvivid_tab_setting', true);"><?php _e(' rename directory', 'wpvivid'); ?></a></span>
|
1496 |
</div>
|
1497 |
<?php
|
1498 |
}
|
15 |
<span>'.__( 'Only Database', 'wpvivid' ).'</span>
|
16 |
</label><br>
|
17 |
<label>
|
18 |
+
<div style="float: left;">
|
19 |
+
<input type="radio" disabled />
|
20 |
+
<span style="color: #ddd;">'.__('Custom').'</span>
|
21 |
+
</div>
|
22 |
+
<span class="wpvivid-feature-pro">
|
23 |
+
<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>
|
24 |
+
</span>
|
25 |
</label><br>';
|
26 |
return $html;
|
27 |
}
|
97 |
}
|
98 |
|
99 |
function wpvivid_restore_website_descript($html){
|
100 |
+
$html = '<p><a href="#" id="wpvivid_how_to_restore_backup_describe" onclick="wpvivid_click_how_to_restore_backup();" style="text-decoration: none;">'.__('How to restore your website from a backup(scheduled, manual, uploaded and received backup)', 'wpvivid').'</a></p>';
|
101 |
$html .= '<div id="wpvivid_how_to_restore_backup"></div>';
|
102 |
return $html;
|
103 |
}
|
1458 |
|
1459 |
function wpvivid_cancel_backup(){
|
1460 |
var ajax_data= {
|
1461 |
+
'action': 'wpvivid_backup_cancel'
|
1462 |
+
//'task_id': running_backup_taskid
|
1463 |
};
|
1464 |
jQuery('#wpvivid_backup_cancel_btn').css({'pointer-events': 'none', 'opacity': '0.4'});
|
1465 |
wpvivid_post_request(ajax_data, function(data){
|
1497 |
<div class="quickstart-storage-setting">
|
1498 |
<span class="list-top-chip backup" name="ismerge" value="1"><?php _e('Local Storage Directory: '); ?></span>
|
1499 |
<span class="list-top-chip" id="wpvivid_local_storage_path"><?php _e(WP_CONTENT_DIR.DIRECTORY_SEPARATOR.$backupdir); ?></span>
|
1500 |
+
<span class="list-top-chip" id=""><a href="#" onclick="wpvivid_click_switch_page('wrap', 'wpvivid_tab_setting', true);" style="text-decoration: none;"><?php _e(' rename directory', 'wpvivid'); ?></a></span>
|
1501 |
</div>
|
1502 |
<?php
|
1503 |
}
|
admin/partials/wpvivid-schedule-page-display.php
CHANGED
@@ -12,8 +12,20 @@ function wpvivid_schedule_settings()
|
|
12 |
<div class="postbox schedule-tab-block">
|
13 |
<label for="wpvivid_schedule_enable">
|
14 |
<input option="schedule" name="enable" type="checkbox" id="wpvivid_schedule_enable" />
|
15 |
-
<span><?php _e( 'Enable backup schedule', 'wpvivid' ); ?></span
|
16 |
-
</label>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
<div>
|
18 |
<?php
|
19 |
$notice='';
|
@@ -66,9 +78,12 @@ function wpvivid_schedule_settings()
|
|
66 |
</div>
|
67 |
</div>
|
68 |
<div class="postbox schedule-tab-block">
|
69 |
-
<div>
|
70 |
-
|
71 |
</div>
|
|
|
|
|
|
|
72 |
</div>
|
73 |
</div>
|
74 |
</td>
|
@@ -106,9 +121,16 @@ function wpvivid_schedule_backup_type($html)
|
|
106 |
$html.='</label><br>';
|
107 |
|
108 |
$html.='<label>';
|
|
|
109 |
$html.='<input type="radio" disabled />';
|
110 |
-
$html.='<
|
111 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
112 |
return $html;
|
113 |
}
|
114 |
|
12 |
<div class="postbox schedule-tab-block">
|
13 |
<label for="wpvivid_schedule_enable">
|
14 |
<input option="schedule" name="enable" type="checkbox" id="wpvivid_schedule_enable" />
|
15 |
+
<span><?php _e( 'Enable backup schedule', 'wpvivid' ); ?></span>
|
16 |
+
</label><br>
|
17 |
+
<label>
|
18 |
+
<div style="float: left;">
|
19 |
+
<input type="checkbox" disabled />
|
20 |
+
<span style="color: #ddd;">Advanced Schedule</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-schedule-overview?utm_source=client_advanced_schedule&utm_medium=inner_link&utm_campaign=access">Pro feature: learn more</a>
|
25 |
+
</span>
|
26 |
+
</div>
|
27 |
+
</label><br>
|
28 |
+
<div style="clear: both;"></div>
|
29 |
<div>
|
30 |
<?php
|
31 |
$notice='';
|
78 |
</div>
|
79 |
</div>
|
80 |
<div class="postbox schedule-tab-block">
|
81 |
+
<div style="float:left; color: #ddd; margin-right: 10px;">
|
82 |
+
+ Add another schedule
|
83 |
</div>
|
84 |
+
<span class="wpvivid-feature-pro">
|
85 |
+
<a href="https://wpvivid.com/wpvivid-backup-pro-creating-schedules?utm_source=client_multi_schedule&utm_medium=inner_link&utm_campaign=access">Pro feature: learn more</a>
|
86 |
+
</span>
|
87 |
</div>
|
88 |
</div>
|
89 |
</td>
|
121 |
$html.='</label><br>';
|
122 |
|
123 |
$html.='<label>';
|
124 |
+
$html.='<div style="float: left;">';
|
125 |
$html.='<input type="radio" disabled />';
|
126 |
+
$html.='<span style="color: #ddd;">'.__('Custom').'</span>';
|
127 |
+
$html.='</div>';
|
128 |
+
$html.='<div style="float: left; height: 32px; line-height: 32px;">';
|
129 |
+
$html.='<span class="wpvivid-feature-pro">';
|
130 |
+
$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>';
|
131 |
+
$html.='</span>';
|
132 |
+
$html.='</div>';
|
133 |
+
$html.='</label><br>';
|
134 |
return $html;
|
135 |
}
|
136 |
|
admin/partials/wpvivid-settings-page-display.php
CHANGED
@@ -71,7 +71,7 @@ function wpvivid_general_settings()
|
|
71 |
}
|
72 |
}
|
73 |
?>
|
74 |
-
</select><strong style="margin-right: 10px;"><?php _e('backups retained', 'wpvivid'); ?></strong><a href="https://wpvivid.com/pro-version-beta-testing?utm_source=client_backups_retained&utm_medium=inner_link&utm_campaign=access">
|
75 |
</div>
|
76 |
<div>
|
77 |
<label for="wpvivid_estimate_backup">
|
@@ -191,7 +191,7 @@ function wpvivid_email_report()
|
|
191 |
}
|
192 |
?>
|
193 |
<div class="postbox schedule-tab-block" id="wpvivid_email_report">
|
194 |
-
<div><p><?php _e('In order to use this function, please install a ', 'wpvivid'); ?><strong><a target="_blank" href="https://wpvivid.com/8-best-smtp-plugins-for-wordpress.html"><?php _e('WordPress SMTP plugin', 'wpvivid'); ?></a></strong><?php _e(' of your preference and configure your SMTP server first. This is because WordPress uses the PHP Mail function to send its emails by default, which is not supported by many hosts and can cause issues if it is not set properly.', 'wpvivid'); ?></p>
|
195 |
</div>
|
196 |
<div>
|
197 |
<label for="wpvivid_general_email_enable">
|
@@ -223,7 +223,7 @@ function wpvivid_email_report()
|
|
223 |
</label><br>
|
224 |
</fieldset>
|
225 |
<div style="margin-bottom: 10px;">
|
226 |
-
<a href="https://wpvivid.com/wpvivid-backup-pro-email-report?utm_source=client_email_report&utm_medium=inner_link&utm_campaign=access"
|
227 |
</div>
|
228 |
</div>
|
229 |
</div>
|
71 |
}
|
72 |
}
|
73 |
?>
|
74 |
+
</select><strong style="margin-right: 10px;"><?php _e('backups retained', 'wpvivid'); ?></strong><a href="https://wpvivid.com/pro-version-beta-testing?utm_source=client_backups_retained&utm_medium=inner_link&utm_campaign=access" style="text-decoration: none;">Pro feature: Retain more backups</a>
|
75 |
</div>
|
76 |
<div>
|
77 |
<label for="wpvivid_estimate_backup">
|
191 |
}
|
192 |
?>
|
193 |
<div class="postbox schedule-tab-block" id="wpvivid_email_report">
|
194 |
+
<div><p><?php _e('In order to use this function, please install a ', 'wpvivid'); ?><strong><a target="_blank" href="https://wpvivid.com/8-best-smtp-plugins-for-wordpress.html" style="text-decoration: none;"><?php _e('WordPress SMTP plugin', 'wpvivid'); ?></a></strong><?php _e(' of your preference and configure your SMTP server first. This is because WordPress uses the PHP Mail function to send its emails by default, which is not supported by many hosts and can cause issues if it is not set properly.', 'wpvivid'); ?></p>
|
195 |
</div>
|
196 |
<div>
|
197 |
<label for="wpvivid_general_email_enable">
|
223 |
</label><br>
|
224 |
</fieldset>
|
225 |
<div style="margin-bottom: 10px;">
|
226 |
+
<a href="https://wpvivid.com/wpvivid-backup-pro-email-report?utm_source=client_email_report&utm_medium=inner_link&utm_campaign=access" style="text-decoration: none;">Pro feature: Add another email address to get report</a>
|
227 |
</div>
|
228 |
</div>
|
229 |
</div>
|
includes/class-wpvivid-function-realize.php
CHANGED
@@ -7,11 +7,26 @@ class WPvivid_Function_Realize
|
|
7 |
|
8 |
}
|
9 |
|
10 |
-
public function _backup_cancel($task_id)
|
11 |
{
|
12 |
global $wpvivid_plugin;
|
13 |
try {
|
14 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
15 |
$file_name = WPvivid_taskmanager::get_task_options($task_id, 'file_prefix');
|
16 |
$backup_options = WPvivid_taskmanager::get_task_options($task_id, 'backup_options');
|
17 |
$file = WP_CONTENT_DIR . DIRECTORY_SEPARATOR . $backup_options['dir'] . DIRECTORY_SEPARATOR . $file_name . '_cancel';
|
@@ -22,7 +37,7 @@ class WPvivid_Function_Realize
|
|
22 |
|
23 |
if ($timestamp === false) {
|
24 |
$wpvivid_plugin->add_monitor_event($task_id, 10);
|
25 |
-
}
|
26 |
$ret['result'] = 'success';
|
27 |
$ret['msg'] = __('The backup will be canceled after backing up the current chunk ends.', 'wpvivid');
|
28 |
}
|
7 |
|
8 |
}
|
9 |
|
10 |
+
public function _backup_cancel($task_id = '')
|
11 |
{
|
12 |
global $wpvivid_plugin;
|
13 |
try {
|
14 |
+
$tasks = WPvivid_taskmanager::get_tasks();
|
15 |
+
foreach ($tasks as $task){
|
16 |
+
$task_id = $task['id'];
|
17 |
+
$file_name = WPvivid_taskmanager::get_task_options($task_id, 'file_prefix');
|
18 |
+
$backup_options = WPvivid_taskmanager::get_task_options($task_id, 'backup_options');
|
19 |
+
$file = WP_CONTENT_DIR . DIRECTORY_SEPARATOR . $backup_options['dir'] . DIRECTORY_SEPARATOR . $file_name . '_cancel';
|
20 |
+
touch($file);
|
21 |
+
|
22 |
+
$timestamp = wp_next_scheduled(WPVIVID_TASK_MONITOR_EVENT, array($task_id));
|
23 |
+
|
24 |
+
if ($timestamp === false) {
|
25 |
+
$wpvivid_plugin->add_monitor_event($task_id, 10);
|
26 |
+
}
|
27 |
+
}
|
28 |
+
|
29 |
+
/*if (WPvivid_taskmanager::get_task($task_id) !== false) {
|
30 |
$file_name = WPvivid_taskmanager::get_task_options($task_id, 'file_prefix');
|
31 |
$backup_options = WPvivid_taskmanager::get_task_options($task_id, 'backup_options');
|
32 |
$file = WP_CONTENT_DIR . DIRECTORY_SEPARATOR . $backup_options['dir'] . DIRECTORY_SEPARATOR . $file_name . '_cancel';
|
37 |
|
38 |
if ($timestamp === false) {
|
39 |
$wpvivid_plugin->add_monitor_event($task_id, 10);
|
40 |
+
}*/
|
41 |
$ret['result'] = 'success';
|
42 |
$ret['msg'] = __('The backup will be canceled after backing up the current chunk ends.', 'wpvivid');
|
43 |
}
|
includes/class-wpvivid-migrate.php
CHANGED
@@ -831,7 +831,7 @@ class WPvivid_Migrate
|
|
831 |
$html='<div id="wpvivid_transfer_key">';
|
832 |
$options=WPvivid_Setting::get_option('wpvivid_saved_api_token');
|
833 |
if(empty($options)){
|
834 |
-
$html .= '<div style="padding: 0 0 10px 0;"><strong>'.__('Please paste the key below.', 'wpvivid').'</strong><a href="#" style="margin-left: 5px;" onclick="wpvivid_click_how_to_get_key();">How to get a site key?</a></div>
|
835 |
<div id="wpvivid_how_to_get_key"></div>
|
836 |
<div><textarea type="text" id="wpvivid_transfer_key_text" onKeyUp="wpvivid_check_key(this.value)" style="width: 100%; height: 140px;"/></textarea></div>
|
837 |
<div><input class="button-primary" id="wpvivid_save_url_button" type="submit" value="'.esc_attr( 'Save', 'wpvivid' ).'" onclick="wpvivid_click_save_site_url();" /></div>';
|
@@ -1070,7 +1070,7 @@ class WPvivid_Migrate
|
|
1070 |
|
1071 |
public function wpvivid_migrate_part_note($html){
|
1072 |
$html .= ' <p>Note: </p>
|
1073 |
-
<p>1. In order to successfully complete the migration, you\'d better deactivate <a href="https://wpvivid.com/best-redirect-plugins.html" target="_blank">301 redirect plugin</a>, <a href="https://wpvivid.com/8-best-wordpress-firewall-plugins.html" target="_blank">firewall and security plugin</a>, and <a href="https://wpvivid.com/best-free-wordpress-caching-plugins.html" target="_blank">caching plugin</a> (if they exist) before transferring website.</p>
|
1074 |
<p>2. Please migrate website with the manual way when using <strong>Local by Flywheel</strong> environment.</p>';
|
1075 |
return $html;
|
1076 |
}
|
@@ -1101,9 +1101,14 @@ class WPvivid_Migrate
|
|
1101 |
<span>'.__( 'Only Database', 'wpvivid' ).'</span>
|
1102 |
</label><br>
|
1103 |
<label>
|
1104 |
-
|
1105 |
-
|
1106 |
-
|
|
|
|
|
|
|
|
|
|
|
1107 |
return $html;
|
1108 |
}
|
1109 |
|
831 |
$html='<div id="wpvivid_transfer_key">';
|
832 |
$options=WPvivid_Setting::get_option('wpvivid_saved_api_token');
|
833 |
if(empty($options)){
|
834 |
+
$html .= '<div style="padding: 0 0 10px 0;"><strong>'.__('Please paste the key below.', 'wpvivid').'</strong><a href="#" style="margin-left: 5px; text-decoration: none;" onclick="wpvivid_click_how_to_get_key();">How to get a site key?</a></div>
|
835 |
<div id="wpvivid_how_to_get_key"></div>
|
836 |
<div><textarea type="text" id="wpvivid_transfer_key_text" onKeyUp="wpvivid_check_key(this.value)" style="width: 100%; height: 140px;"/></textarea></div>
|
837 |
<div><input class="button-primary" id="wpvivid_save_url_button" type="submit" value="'.esc_attr( 'Save', 'wpvivid' ).'" onclick="wpvivid_click_save_site_url();" /></div>';
|
1070 |
|
1071 |
public function wpvivid_migrate_part_note($html){
|
1072 |
$html .= ' <p>Note: </p>
|
1073 |
+
<p>1. In order to successfully complete the migration, you\'d better deactivate <a href="https://wpvivid.com/best-redirect-plugins.html" target="_blank" style="text-decoration: none;">301 redirect plugin</a>, <a href="https://wpvivid.com/8-best-wordpress-firewall-plugins.html" target="_blank" style="text-decoration: none;">firewall and security plugin</a>, and <a href="https://wpvivid.com/best-free-wordpress-caching-plugins.html" target="_blank" style="text-decoration: none;">caching plugin</a> (if they exist) before transferring website.</p>
|
1074 |
<p>2. Please migrate website with the manual way when using <strong>Local by Flywheel</strong> environment.</p>';
|
1075 |
return $html;
|
1076 |
}
|
1101 |
<span>'.__( 'Only Database', 'wpvivid' ).'</span>
|
1102 |
</label><br>
|
1103 |
<label>
|
1104 |
+
<div style="float: left;">
|
1105 |
+
<input type="radio" disabled />
|
1106 |
+
<span style="color: #ddd;">'.__('Choose what to migrate').'</span>
|
1107 |
+
</div>
|
1108 |
+
<span class="wpvivid-feature-pro">
|
1109 |
+
<a href="https://wpvivid.com/custom-migration-overview?utm_source=client_migration_custom_backup&utm_medium=inner_link&utm_campaign=access" style="text-decoration: none;">Pro feature: learn more</a>
|
1110 |
+
</span>
|
1111 |
+
</label><br>';
|
1112 |
return $html;
|
1113 |
}
|
1114 |
|
includes/class-wpvivid-public-interface.php
CHANGED
@@ -7,6 +7,36 @@ class WPvivid_Public_Interface
|
|
7 |
|
8 |
}
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
public function prepare_backup($backup_options){
|
11 |
global $wpvivid_plugin;
|
12 |
if(isset($backup_options)&&!empty($backup_options)){
|
@@ -264,14 +294,15 @@ class WPvivid_Public_Interface
|
|
264 |
return $ret;
|
265 |
}
|
266 |
|
267 |
-
public function backup_cancel($task_id){
|
268 |
global $wpvivid_plugin;
|
269 |
-
if (!isset($task_id)||empty($task_id)||!is_string($task_id)){
|
270 |
$ret['error']='Backup id not found';
|
271 |
return $ret;
|
272 |
}
|
273 |
$task_id=sanitize_key($task_id);
|
274 |
-
$ret=$wpvivid_plugin->function_realize->_backup_cancel($task_id)
|
|
|
275 |
return $ret;
|
276 |
}
|
277 |
|
7 |
|
8 |
}
|
9 |
|
10 |
+
public function mainwp_data($data){
|
11 |
+
$action = sanitize_text_field($data['mwp_action']);
|
12 |
+
switch ($action)
|
13 |
+
{
|
14 |
+
case 'create_schedule_addon':
|
15 |
+
$ret = apply_filters('wpvivid_create_schedule_addon_mainwp', $data['schedule']);
|
16 |
+
break;
|
17 |
+
case 'get_schedules_addon':
|
18 |
+
$ret = apply_filters('wpvivid_get_schedules_addon_mainwp', array());
|
19 |
+
break;
|
20 |
+
case 'delete_schedules_addon':
|
21 |
+
$ret = apply_filters('wpvivid_delete_schedule_addon_mainwp', $data['schedule_id']);
|
22 |
+
break;
|
23 |
+
case 'save_schedule_status_addon':
|
24 |
+
$ret = apply_filters('wpvivid_save_schedule_status_addon_mainwp', $data['schedule_data']);
|
25 |
+
break;
|
26 |
+
case 'update_schedule_addon':
|
27 |
+
$ret = apply_filters('wpvivid_update_schedule_addon_mainwp', $data['schedule']);
|
28 |
+
break;
|
29 |
+
case 'set_schedule_addon':
|
30 |
+
$ret = apply_filters('wpvivid_sync_schedule_addon_mainwp', $data['schedule']);
|
31 |
+
break;
|
32 |
+
default:
|
33 |
+
$ret['result'] = 'failed';
|
34 |
+
$ret['error'] = 'Unknown action';
|
35 |
+
break;
|
36 |
+
}
|
37 |
+
return $ret;
|
38 |
+
}
|
39 |
+
|
40 |
public function prepare_backup($backup_options){
|
41 |
global $wpvivid_plugin;
|
42 |
if(isset($backup_options)&&!empty($backup_options)){
|
294 |
return $ret;
|
295 |
}
|
296 |
|
297 |
+
public function backup_cancel($task_id = ''){
|
298 |
global $wpvivid_plugin;
|
299 |
+
/*if (!isset($task_id)||empty($task_id)||!is_string($task_id)){
|
300 |
$ret['error']='Backup id not found';
|
301 |
return $ret;
|
302 |
}
|
303 |
$task_id=sanitize_key($task_id);
|
304 |
+
$ret=$wpvivid_plugin->function_realize->_backup_cancel($task_id);*/
|
305 |
+
$ret=$wpvivid_plugin->function_realize->_backup_cancel();
|
306 |
return $ret;
|
307 |
}
|
308 |
|
includes/class-wpvivid-schedule.php
CHANGED
@@ -93,9 +93,17 @@ class WPvivid_Schedule
|
|
93 |
$html.='<p>Warning: Unable to set '.$display.' backup schedule</p>';
|
94 |
}
|
95 |
}
|
96 |
-
$html.='<label
|
97 |
-
$html.='<
|
98 |
-
$html.='
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
return $html;
|
100 |
}
|
101 |
|
93 |
$html.='<p>Warning: Unable to set '.$display.' backup schedule</p>';
|
94 |
}
|
95 |
}
|
96 |
+
$html.='<label>';
|
97 |
+
$html.='<div style="float: left;">';
|
98 |
+
$html.='<input type="radio" disabled />';
|
99 |
+
$html.='<span 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>';
|
107 |
return $html;
|
108 |
}
|
109 |
|
includes/class-wpvivid-setting.php
CHANGED
@@ -596,6 +596,8 @@ class WPvivid_Setting
|
|
596 |
$data['setting']['cron_backup_count']=self::get_option('cron_backup_count');
|
597 |
|
598 |
$data['schedule']=self::get_option('wpvivid_schedule_setting');
|
|
|
|
|
599 |
$data['remote']['upload']=self::get_option('wpvivid_upload_setting');
|
600 |
$data['remote']['history']=self::get_option('wpvivid_user_history');
|
601 |
|
596 |
$data['setting']['cron_backup_count']=self::get_option('cron_backup_count');
|
597 |
|
598 |
$data['schedule']=self::get_option('wpvivid_schedule_setting');
|
599 |
+
$data['schedule_addon']=apply_filters('wpvivid_archieve_schedule_add_settings', array());
|
600 |
+
|
601 |
$data['remote']['upload']=self::get_option('wpvivid_upload_setting');
|
602 |
$data['remote']['history']=self::get_option('wpvivid_user_history');
|
603 |
|
includes/class-wpvivid.php
CHANGED
@@ -797,11 +797,13 @@ class WPvivid {
|
|
797 |
{
|
798 |
$this->ajax_check_security();
|
799 |
try {
|
800 |
-
if (isset($_POST['task_id']) && !empty($_POST['task_id']) && is_string($_POST['task_id'])) {
|
801 |
$task_id = sanitize_key($_POST['task_id']);
|
802 |
$json = $this->function_realize->_backup_cancel($task_id);
|
803 |
echo json_encode($json);
|
804 |
-
}
|
|
|
|
|
805 |
}
|
806 |
catch (Exception $error) {
|
807 |
$message = 'An exception has occurred. class: '.get_class($error).';msg: '.$error->getMessage().';code: '.$error->getCode().';line: '.$error->getLine().';in_file: '.$error->getFile().';';
|
@@ -5678,6 +5680,19 @@ class WPvivid {
|
|
5678 |
die();
|
5679 |
}
|
5680 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5681 |
public function wpvivid_check_zip_valid()
|
5682 |
{
|
5683 |
return true;
|
797 |
{
|
798 |
$this->ajax_check_security();
|
799 |
try {
|
800 |
+
/*if (isset($_POST['task_id']) && !empty($_POST['task_id']) && is_string($_POST['task_id'])) {
|
801 |
$task_id = sanitize_key($_POST['task_id']);
|
802 |
$json = $this->function_realize->_backup_cancel($task_id);
|
803 |
echo json_encode($json);
|
804 |
+
}*/
|
805 |
+
$json = $this->function_realize->_backup_cancel();
|
806 |
+
echo json_encode($json);
|
807 |
}
|
808 |
catch (Exception $error) {
|
809 |
$message = 'An exception has occurred. class: '.get_class($error).';msg: '.$error->getMessage().';code: '.$error->getCode().';line: '.$error->getLine().';in_file: '.$error->getFile().';';
|
5680 |
die();
|
5681 |
}
|
5682 |
|
5683 |
+
public function wpvivid_switch_domain_to_folder($domain){
|
5684 |
+
$parse = parse_url($domain);
|
5685 |
+
$path = '';
|
5686 |
+
if(isset($parse['path'])) {
|
5687 |
+
$parse['path'] = str_replace('/', '_', $parse['path']);
|
5688 |
+
$parse['path'] = str_replace('.', '_', $parse['path']);
|
5689 |
+
$path = $parse['path'];
|
5690 |
+
}
|
5691 |
+
$parse['host'] = str_replace('/', '_', $parse['host']);
|
5692 |
+
$parse['host'] = str_replace('.', '_', $parse['host']);
|
5693 |
+
return $parse['host'].$path;
|
5694 |
+
}
|
5695 |
+
|
5696 |
public function wpvivid_check_zip_valid()
|
5697 |
{
|
5698 |
return true;
|
includes/customclass/class-wpvivid-amazons3-plus.php
CHANGED
@@ -119,7 +119,7 @@ class WPvivid_AMAZONS3Class extends WPvivid_Remote{
|
|
119 |
</td>
|
120 |
<td class="column-description desc">
|
121 |
<div class="wpvivid-storage-form-desc">
|
122 |
-
<i><span>Customize the directory where you want to store backups within the Bucket.</span></i
|
123 |
</div>
|
124 |
</td>
|
125 |
</tr>
|
@@ -255,7 +255,7 @@ class WPvivid_AMAZONS3Class extends WPvivid_Remote{
|
|
255 |
</td>
|
256 |
<td class="column-description desc">
|
257 |
<div class="wpvivid-storage-form-desc">
|
258 |
-
<i><span>Customize the directory where you want to store backups within the Bucket.</span></i
|
259 |
</div>
|
260 |
</td>
|
261 |
</tr>
|
119 |
</td>
|
120 |
<td class="column-description desc">
|
121 |
<div class="wpvivid-storage-form-desc">
|
122 |
+
<i><span>Customize the directory where you want to store backups within the Bucket.</span></i>
|
123 |
</div>
|
124 |
</td>
|
125 |
</tr>
|
255 |
</td>
|
256 |
<td class="column-description desc">
|
257 |
<div class="wpvivid-storage-form-desc">
|
258 |
+
<i><span>Customize the directory where you want to store backups within the Bucket.</span></i>
|
259 |
</div>
|
260 |
</td>
|
261 |
</tr>
|
includes/customclass/class-wpvivid-dropbox.php
CHANGED
@@ -437,11 +437,12 @@ class WPvivid_Dropbox extends WPvivid_Remote {
|
|
437 |
<?php
|
438 |
}
|
439 |
public function wpvivid_add_storage_page_dropbox(){
|
|
|
440 |
$root_path=apply_filters('wpvivid_get_root_path', WPVIVID_REMOTE_DROPBOX);
|
441 |
?>
|
442 |
<div id="storage_account_dropbox" class="storage-account-page" style="display:none;">
|
443 |
<div style="background-color:#f1f1f1; padding: 10px;">Please read
|
444 |
-
<a target="_blank" href="https://wpvivid.com/privacy-policy">this privacy policy</a> for use of our Dropbox authorization app (none of your backup data is sent to us).
|
445 |
</div>
|
446 |
<div style="padding: 10px 10px 10px 0;">
|
447 |
<strong>Enter Your Dropbox Information</strong>
|
@@ -468,7 +469,19 @@ class WPvivid_Dropbox extends WPvivid_Remote {
|
|
468 |
</td>
|
469 |
<td class="column-description desc">
|
470 |
<div class="wpvivid-storage-form-desc">
|
471 |
-
<i
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
472 |
</div>
|
473 |
</td>
|
474 |
</tr>
|
@@ -500,29 +513,6 @@ class WPvivid_Dropbox extends WPvivid_Remote {
|
|
500 |
</tr>
|
501 |
</tbody>
|
502 |
</table>
|
503 |
-
|
504 |
-
|
505 |
-
<!--<p style="padding-left: 10px;">Please read <a target="_blank" href="https://wpvivid.com/privacy-policy">this privacy policy</a> for use of our Dropbox authorization app (none of your backup data is sent to us).</p>
|
506 |
-
<h2><span><?php _e( 'Enter Your Dropbox Information','wpvivid'); ?></span></h2>
|
507 |
-
<div class="storage-account-form">
|
508 |
-
<input type="text" autocomplete="off" option="dropbox" name="name" placeholder="Enter an unique alias: e.g. Dropbox-001" class="regular-text" onkeyup="value=value.replace(/[^a-zA-Z0-9\-_]/g,'')" />
|
509 |
-
</div>
|
510 |
-
<div style="padding-left: 10px; margin-bottom: -16px;">
|
511 |
-
<p><span><?php _e( 'Dropbox Folder:','wpvivid'); ?></span><span option="dropbox" name="path"><?php
|
512 |
-
$root_path=apply_filters('wpvivid_get_root_path', WPVIVID_REMOTE_DROPBOX);
|
513 |
-
_e($root_path.WPVIVID_DROPBOX_DEFAULT_FOLDER); ?>
|
514 |
-
</span></p>
|
515 |
-
<p><?php _e('All backups will be uploaded to this directory.', 'wpvivid'); ?></p>
|
516 |
-
</div>
|
517 |
-
<div class="remote-storage-set-default-block">
|
518 |
-
<label>
|
519 |
-
<input type="checkbox" option="dropbox" name="default" checked><?php _e('Set as the default remote storage.', 'wpvivid'); ?>
|
520 |
-
</label>
|
521 |
-
</div>
|
522 |
-
<div id="wpvivid_storage_account_notice"></div>
|
523 |
-
<div class=""><input onclick="wpvivid_dropbox_auth()" class="button-primary storage-account-button" type="submit" value="<?php _e( 'Authenticate with Dropbox', 'wpvivid' ); ?>" /></div>
|
524 |
-
<div style="clear:both;"></div>
|
525 |
-
<div style="padding-left: 10px;">Tips: Click the button above to get Dropbox authentication and add it to the storage list below.</div>-->
|
526 |
</div>
|
527 |
<script>
|
528 |
function wpvivid_check_dropbox_storage_alias(storage_alias){
|
437 |
<?php
|
438 |
}
|
439 |
public function wpvivid_add_storage_page_dropbox(){
|
440 |
+
global $wpvivid_plugin;
|
441 |
$root_path=apply_filters('wpvivid_get_root_path', WPVIVID_REMOTE_DROPBOX);
|
442 |
?>
|
443 |
<div id="storage_account_dropbox" class="storage-account-page" style="display:none;">
|
444 |
<div style="background-color:#f1f1f1; padding: 10px;">Please read
|
445 |
+
<a target="_blank" href="https://wpvivid.com/privacy-policy" style="text-decoration: none;">this privacy policy</a> for use of our Dropbox authorization app (none of your backup data is sent to us).
|
446 |
</div>
|
447 |
<div style="padding: 10px 10px 10px 0;">
|
448 |
<strong>Enter Your Dropbox Information</strong>
|
469 |
</td>
|
470 |
<td class="column-description desc">
|
471 |
<div class="wpvivid-storage-form-desc">
|
472 |
+
<i>All backups will be uploaded to this directory.</i>
|
473 |
+
</div>
|
474 |
+
</td>
|
475 |
+
</tr>
|
476 |
+
<tr>
|
477 |
+
<td class="plugin-title column-primary">
|
478 |
+
<div class="wpvivid-storage-form">
|
479 |
+
<input type="text" class="regular-text" autocomplete="off" value="" readonly="readonly" />
|
480 |
+
</div>
|
481 |
+
</td>
|
482 |
+
<td class="column-description desc">
|
483 |
+
<div class="wpvivid-storage-form-desc">
|
484 |
+
<a href="https://wpvivid.com/wpvivid-backup-pro-dropbox-custom-folder-name?utm_source=client_dropbox&utm_medium=inner_link&utm_campaign=access">Pro feature: Create a directory for storing the backups of the site</a>
|
485 |
</div>
|
486 |
</td>
|
487 |
</tr>
|
513 |
</tr>
|
514 |
</tbody>
|
515 |
</table>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
516 |
</div>
|
517 |
<script>
|
518 |
function wpvivid_check_dropbox_storage_alias(storage_alias){
|
includes/customclass/class-wpvivid-ftpclass.php
CHANGED
@@ -65,7 +65,19 @@ class WPvivid_FTPClass extends WPvivid_Remote{
|
|
65 |
</td>
|
66 |
<td class="column-description desc">
|
67 |
<div class="wpvivid-storage-form-desc">
|
68 |
-
<i style="margin-right: 10px;">Enter the FTP server.</i
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
</div>
|
70 |
</td>
|
71 |
</tr>
|
@@ -178,7 +190,7 @@ class WPvivid_FTPClass extends WPvivid_Remote{
|
|
178 |
</td>
|
179 |
<td class="column-description desc">
|
180 |
<div class="wpvivid-storage-form-desc">
|
181 |
-
<i style="margin-right: 10px;">Enter the FTP server.</i
|
182 |
</div>
|
183 |
</td>
|
184 |
</tr>
|
@@ -302,11 +314,6 @@ class WPvivid_FTPClass extends WPvivid_Remote{
|
|
302 |
|
303 |
$this->options['server']=sanitize_text_field($this->options['server']);
|
304 |
|
305 |
-
// if(empty($this->options['host']))
|
306 |
-
// {
|
307 |
-
// $ret['error']="Warning: The FTP server is required.";
|
308 |
-
// return $ret;
|
309 |
-
// }
|
310 |
if(empty($this->options['server']))
|
311 |
{
|
312 |
$ret['error']="Warning: The FTP server is required.";
|
65 |
</td>
|
66 |
<td class="column-description desc">
|
67 |
<div class="wpvivid-storage-form-desc">
|
68 |
+
<i style="margin-right: 10px;">Enter the FTP server.</i>
|
69 |
+
</div>
|
70 |
+
</td>
|
71 |
+
</tr>
|
72 |
+
<tr>
|
73 |
+
<td class="plugin-title column-primary">
|
74 |
+
<div class="wpvivid-storage-form">
|
75 |
+
<input type="text" autocomplete="off" class="regular-text" value="" readonly="readonly" />
|
76 |
+
</div>
|
77 |
+
</td>
|
78 |
+
<td class="column-description desc">
|
79 |
+
<div class="wpvivid-storage-form-desc">
|
80 |
+
<a href="https://wpvivid.com/wpvivid-backup-pro-ftp-change-ftp-default-port?utm_source=client_ftp_port&utm_medium=inner_link&utm_campaign=access">Pro feature: Change the FTP default port number</a>
|
81 |
</div>
|
82 |
</td>
|
83 |
</tr>
|
190 |
</td>
|
191 |
<td class="column-description desc">
|
192 |
<div class="wpvivid-storage-form-desc">
|
193 |
+
<i style="margin-right: 10px;">Enter the FTP server.</i>
|
194 |
</div>
|
195 |
</td>
|
196 |
</tr>
|
314 |
|
315 |
$this->options['server']=sanitize_text_field($this->options['server']);
|
316 |
|
|
|
|
|
|
|
|
|
|
|
317 |
if(empty($this->options['server']))
|
318 |
{
|
319 |
$ret['error']="Warning: The FTP server is required.";
|
includes/customclass/class-wpvivid-google-drive.php
CHANGED
@@ -296,11 +296,12 @@ class Wpvivid_Google_drive extends WPvivid_Remote
|
|
296 |
|
297 |
public function wpvivid_add_storage_page_google_drive()
|
298 |
{
|
|
|
299 |
$root_path=apply_filters('wpvivid_get_root_path', WPVIVID_REMOTE_GOOGLEDRIVE);
|
300 |
?>
|
301 |
<div id="storage_account_google_drive" class="storage-account-page">
|
302 |
<div style="background-color:#f1f1f1; padding: 10px;">Please read
|
303 |
-
<a target="_blank" href="https://wpvivid.com/privacy-policy">this privacy policy</a> for use of our Google Drive authorization app (none of your backup data is sent to us).
|
304 |
</div>
|
305 |
<div style="padding: 10px 10px 10px 0;">
|
306 |
<strong>Enter Your Google Drive Information</strong>
|
@@ -327,7 +328,19 @@ class Wpvivid_Google_drive extends WPvivid_Remote
|
|
327 |
</td>
|
328 |
<td class="column-description desc">
|
329 |
<div class="wpvivid-storage-form-desc">
|
330 |
-
<i
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
331 |
</div>
|
332 |
</td>
|
333 |
</tr>
|
296 |
|
297 |
public function wpvivid_add_storage_page_google_drive()
|
298 |
{
|
299 |
+
global $wpvivid_plugin;
|
300 |
$root_path=apply_filters('wpvivid_get_root_path', WPVIVID_REMOTE_GOOGLEDRIVE);
|
301 |
?>
|
302 |
<div id="storage_account_google_drive" class="storage-account-page">
|
303 |
<div style="background-color:#f1f1f1; padding: 10px;">Please read
|
304 |
+
<a target="_blank" href="https://wpvivid.com/privacy-policy" style="text-decoration: none;">this privacy policy</a> for use of our Google Drive authorization app (none of your backup data is sent to us).
|
305 |
</div>
|
306 |
<div style="padding: 10px 10px 10px 0;">
|
307 |
<strong>Enter Your Google Drive Information</strong>
|
328 |
</td>
|
329 |
<td class="column-description desc">
|
330 |
<div class="wpvivid-storage-form-desc">
|
331 |
+
<i>All backups will be uploaded to this directory.</i>
|
332 |
+
</div>
|
333 |
+
</td>
|
334 |
+
</tr>
|
335 |
+
<tr>
|
336 |
+
<td class="plugin-title column-primary">
|
337 |
+
<div class="wpvivid-storage-form">
|
338 |
+
<input type="text" class="regular-text" autocomplete="off" value="" readonly="readonly" />
|
339 |
+
</div>
|
340 |
+
</td>
|
341 |
+
<td class="column-description desc">
|
342 |
+
<div class="wpvivid-storage-form-desc">
|
343 |
+
<a href="https://wpvivid.com/wpvivid-backup-pro-google-drive-custom-folder-name?utm_source=client_google_drive&utm_medium=inner_link&utm_campaign=access">Pro feature: Create a directory for storing the backups of the site</a>
|
344 |
</div>
|
345 |
</td>
|
346 |
</tr>
|
includes/customclass/class-wpvivid-one-drive.php
CHANGED
@@ -280,11 +280,12 @@ class WPvivid_one_drive extends WPvivid_Remote
|
|
280 |
|
281 |
public function wpvivid_add_storage_page_one_drive()
|
282 |
{
|
|
|
283 |
$root_path=apply_filters('wpvivid_get_root_path', WPVIVID_REMOTE_ONEDRIVE);
|
284 |
?>
|
285 |
<div id="storage_account_one_drive" class="storage-account-page" style="display:none;">
|
286 |
<div style="background-color:#f1f1f1; padding: 10px;">Please read
|
287 |
-
<a target="_blank" href="https://wpvivid.com/privacy-policy">this privacy policy</a> for use of our Microsoft OneDrive authorization app (none of your backup data is sent to us).
|
288 |
</div>
|
289 |
<div style="padding: 10px 10px 10px 0;">
|
290 |
<strong>Enter Your Microsoft OneDrive Information</strong>
|
@@ -311,7 +312,19 @@ class WPvivid_one_drive extends WPvivid_Remote
|
|
311 |
</td>
|
312 |
<td class="column-description desc">
|
313 |
<div class="wpvivid-storage-form-desc">
|
314 |
-
<i
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
315 |
</div>
|
316 |
</td>
|
317 |
</tr>
|
280 |
|
281 |
public function wpvivid_add_storage_page_one_drive()
|
282 |
{
|
283 |
+
global $wpvivid_plugin;
|
284 |
$root_path=apply_filters('wpvivid_get_root_path', WPVIVID_REMOTE_ONEDRIVE);
|
285 |
?>
|
286 |
<div id="storage_account_one_drive" class="storage-account-page" style="display:none;">
|
287 |
<div style="background-color:#f1f1f1; padding: 10px;">Please read
|
288 |
+
<a target="_blank" href="https://wpvivid.com/privacy-policy" style="text-decoration: none;">this privacy policy</a> for use of our Microsoft OneDrive authorization app (none of your backup data is sent to us).
|
289 |
</div>
|
290 |
<div style="padding: 10px 10px 10px 0;">
|
291 |
<strong>Enter Your Microsoft OneDrive Information</strong>
|
312 |
</td>
|
313 |
<td class="column-description desc">
|
314 |
<div class="wpvivid-storage-form-desc">
|
315 |
+
<i>All backups will be uploaded to this directory.</i>
|
316 |
+
</div>
|
317 |
+
</td>
|
318 |
+
</tr>
|
319 |
+
<tr>
|
320 |
+
<td class="plugin-title column-primary">
|
321 |
+
<div class="wpvivid-storage-form">
|
322 |
+
<input type="text" class="regular-text" autocomplete="off" value="" readonly="readonly" />
|
323 |
+
</div>
|
324 |
+
</td>
|
325 |
+
<td class="column-description desc">
|
326 |
+
<div class="wpvivid-storage-form-desc">
|
327 |
+
<a href="https://wpvivid.com/wpvivid-backup-pro-microsoft-onedrive-custom-folder-name?utm_source=client_onedrive&utm_medium=inner_link&utm_campaign=access">Pro feature: Create a directory for storing the backups of the site</a>
|
328 |
</div>
|
329 |
</td>
|
330 |
</tr>
|
includes/customclass/class-wpvivid-s3compat.php
CHANGED
@@ -467,7 +467,7 @@ class Wpvivid_S3Compat extends WPvivid_Remote{
|
|
467 |
</td>
|
468 |
<td class="column-description desc">
|
469 |
<div class="wpvivid-storage-form-desc">
|
470 |
-
<i><span>Customize the directory where you want to store backups within the Space.</span></i
|
471 |
</div>
|
472 |
</td>
|
473 |
</tr>
|
@@ -590,7 +590,7 @@ class Wpvivid_S3Compat extends WPvivid_Remote{
|
|
590 |
</td>
|
591 |
<td class="column-description desc">
|
592 |
<div class="wpvivid-storage-form-desc">
|
593 |
-
<i><span>Customize the directory where you want to store backups within the Space.</span></i
|
594 |
</div>
|
595 |
</td>
|
596 |
</tr>
|
467 |
</td>
|
468 |
<td class="column-description desc">
|
469 |
<div class="wpvivid-storage-form-desc">
|
470 |
+
<i><span>Customize the directory where you want to store backups within the Space.</span></i>
|
471 |
</div>
|
472 |
</td>
|
473 |
</tr>
|
590 |
</td>
|
591 |
<td class="column-description desc">
|
592 |
<div class="wpvivid-storage-form-desc">
|
593 |
+
<i><span>Customize the directory where you want to store backups within the Space.</span></i>
|
594 |
</div>
|
595 |
</td>
|
596 |
</tr>
|
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.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 |
|
@@ -114,7 +114,7 @@ We offer free support in 3 channels:
|
|
114 |
== Privacy Policy and GDPR Compliance ==
|
115 |
WPvivid Backup plugin is created and operated with full respect and protection of users personal information, and is in full compliance with General Data Protection Regulation(GDPR). Check out the following content to know the details:
|
116 |
= What personal data can WPvivid Backup plugin access and how is the data processed? =
|
117 |
-
WPvivid Backup plugin
|
118 |
In addition, the implementations of all migrations, backups and restores of your site happen completely on your website server, there are no data come across any of our servers in the whole process.
|
119 |
The only personal data currently we can access are the contact data when you contact us by email, which may include your name, email address and other contact details. The data will only be used for the purposes of handling and resolving your enquiry.
|
120 |
= How does WPvivid Backup plugin help users create a GDPR compliant backup? =
|
@@ -155,12 +155,15 @@ If your website is running on WordPress then yes it will.
|
|
155 |
|
156 |
The plugin has been extensively tested on the shared and dedicated hosting plans from the leading website hosting providers like Godaddy, Siteground, and many others.
|
157 |
= Do you have any get-started guides/docs? =
|
158 |
-
Yes, we do. Here are the guides for [
|
159 |
|
160 |
== Contact us ==
|
161 |
Feel free to let us know how we can help using the [support forum](https://wordpress.org/support/plugin/wpvivid-backuprestore) for the plugin on WordPress.org or our [contact form](https://wpvivid.com/contact-us). You can also reach us with a direct message on [Twitter](https://twitter.com/WPvividcom).
|
162 |
|
163 |
== Changelog ==
|
|
|
|
|
|
|
164 |
= 0.9.25 =
|
165 |
- Fixed: Could not restore websites in some cases.
|
166 |
- Fixed: The setting of PHP version that had been changed in .htaccess was lost after restoration.
|
4 |
Requires at least: 4.5
|
5 |
Tested up to: 5.2
|
6 |
Requires PHP: 5.3
|
7 |
+
Stable tag: 0.9.26
|
8 |
License: GPLv3 or later
|
9 |
License URI: https://www.gnu.org/licenses/gpl-3.0.en.html
|
10 |
|
114 |
== Privacy Policy and GDPR Compliance ==
|
115 |
WPvivid Backup plugin is created and operated with full respect and protection of users personal information, and is in full compliance with General Data Protection Regulation(GDPR). Check out the following content to know the details:
|
116 |
= What personal data can WPvivid Backup plugin access and how is the data processed? =
|
117 |
+
The free version of WPvivid Backup plugin is only available to download from WordPress plugin repository. Thus, all the data related to the updates of the versions as well as the support forum for the plugin on WordPress.org is held by WordPress.org.
|
118 |
In addition, the implementations of all migrations, backups and restores of your site happen completely on your website server, there are no data come across any of our servers in the whole process.
|
119 |
The only personal data currently we can access are the contact data when you contact us by email, which may include your name, email address and other contact details. The data will only be used for the purposes of handling and resolving your enquiry.
|
120 |
= How does WPvivid Backup plugin help users create a GDPR compliant backup? =
|
155 |
|
156 |
The plugin has been extensively tested on the shared and dedicated hosting plans from the leading website hosting providers like Godaddy, Siteground, and many others.
|
157 |
= Do you have any get-started guides/docs? =
|
158 |
+
Yes, we do. Here are the guides for [migrating your site to a new host](https://wpvivid.com/get-started-transfer-site.html), [creating a manual backup](https://wpvivid.com/get-started-create-a-manual-backup.html), [restoring your site from a backup](https://wpvivid.com/get-started-restore-site.html), and more on [our docs page](https://wpvivid.com/documents).
|
159 |
|
160 |
== Contact us ==
|
161 |
Feel free to let us know how we can help using the [support forum](https://wordpress.org/support/plugin/wpvivid-backuprestore) for the plugin on WordPress.org or our [contact form](https://wpvivid.com/contact-us). You can also reach us with a direct message on [Twitter](https://twitter.com/WPvividcom).
|
162 |
|
163 |
== Changelog ==
|
164 |
+
= 0.9.26 =
|
165 |
+
- Optimized the plugin's UI.
|
166 |
+
- Added a new tab for downloading WPvivid Backup for MainWP.
|
167 |
= 0.9.25 =
|
168 |
- Fixed: Could not restore websites in some cases.
|
169 |
- Fixed: The setting of PHP version that had been changed in .htaccess was lost after restoration.
|
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');
|
@@ -102,11 +102,37 @@ function wpvivid_plugin_activate()
|
|
102 |
{
|
103 |
add_option('wpvivid_do_activation_redirect', true);
|
104 |
}
|
105 |
-
function wpvivid_init_plugin_redirect()
|
|
|
106 |
if (get_option('wpvivid_do_activation_redirect', false))
|
107 |
{
|
108 |
delete_option('wpvivid_do_activation_redirect');
|
109 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
}
|
111 |
}
|
112 |
register_activation_hook(__FILE__, 'wpvivid_plugin_activate');
|
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.26
|
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.26' );
|
25 |
//
|
26 |
define('WPVIVID_RESTORE_INIT','init');
|
27 |
define('WPVIVID_RESTORE_READY','ready');
|
102 |
{
|
103 |
add_option('wpvivid_do_activation_redirect', true);
|
104 |
}
|
105 |
+
function wpvivid_init_plugin_redirect()
|
106 |
+
{
|
107 |
if (get_option('wpvivid_do_activation_redirect', false))
|
108 |
{
|
109 |
delete_option('wpvivid_do_activation_redirect');
|
110 |
+
|
111 |
+
$active_plugins = get_option('active_plugins');
|
112 |
+
if(!function_exists('get_plugins'))
|
113 |
+
require_once(ABSPATH . 'wp-admin/includes/plugin.php');
|
114 |
+
$plugins=get_plugins();
|
115 |
+
$pro_wpvivid_slug='wpvivid-backup-pro/wpvivid-backup-pro.php';
|
116 |
+
$b_redirect_pro=false;
|
117 |
+
if(!empty($plugins))
|
118 |
+
{
|
119 |
+
if(isset($plugins[$pro_wpvivid_slug]))
|
120 |
+
{
|
121 |
+
if(in_array($pro_wpvivid_slug, $active_plugins))
|
122 |
+
{
|
123 |
+
$b_redirect_pro=true;
|
124 |
+
}
|
125 |
+
}
|
126 |
+
}
|
127 |
+
|
128 |
+
if($b_redirect_pro)
|
129 |
+
{
|
130 |
+
wp_redirect(admin_url().'admin.php?page=WPvivid&tab-pro');
|
131 |
+
}
|
132 |
+
else
|
133 |
+
{
|
134 |
+
wp_redirect(admin_url().'admin.php?page=WPvivid');
|
135 |
+
}
|
136 |
}
|
137 |
}
|
138 |
register_activation_hook(__FILE__, 'wpvivid_plugin_activate');
|