Version Description
- Fixed the warning: Undefined array key "page" when editing pages in some cases.
- Fixed: Creating a fresh install failed when Elementor plugin is enabled.
- Fixed some vulnerabilitiesin the plugin code.
- Fixed some UI bugs.
- Fixed some bugs in the plugin code.
Download this release
Release Info
Developer | wpvivid |
Plugin | Migration, Backup, Staging – WPvivid |
Version | 0.9.71 |
Comparing to | |
See all releases |
Code changes from version 0.9.70 to 0.9.71
- admin/css/wpvivid-admin.css +4 -0
- admin/partials/wpvivid-admin-display.php +1 -1
- admin/partials/wpvivid-backup-restore-page-display.php +3 -5
- includes/class-wpvivid.php +25 -23
- includes/customclass/class-wpvivid-ftpclass.php +1 -1
- includes/customclass/class-wpvivid-google-drive.php +1 -1
- includes/staging/class-wpvivid-fresh-install-create-ui-display.php +13 -2
- includes/staging/class-wpvivid-staging-copy-db-ex.php +2 -2
- includes/staging/class-wpvivid-staging-create-new-wp.php +8 -1
- includes/staging/class-wpvivid-staging-log-page.php +15 -1
- includes/staging/class-wpvivid-staging-ui-display.php +2 -0
- includes/upload-cleaner/class-wpvivid-uploads-cleaner.php +29 -0
- readme.txt +15 -5
- wpvivid-backuprestore.php +2 -2
admin/css/wpvivid-admin.css
CHANGED
@@ -263,4 +263,8 @@
|
|
263 |
float:left;
|
264 |
width:100%;
|
265 |
background-color:#f1f1f1;
|
|
|
|
|
|
|
|
|
266 |
}
|
263 |
float:left;
|
264 |
width:100%;
|
265 |
background-color:#f1f1f1;
|
266 |
+
}
|
267 |
+
|
268 |
+
.wpvivid-custom-table-manager.nav-tab-wrapper :nth-child(n+3):nth-child(-n+11) {
|
269 |
+
display:block;
|
270 |
}
|
admin/partials/wpvivid-admin-display.php
CHANGED
@@ -69,7 +69,7 @@ foreach ($page_array as $page_name){
|
|
69 |
<?php do_action('wpvivid_add_schedule_notice'); ?>
|
70 |
<div id="wpvivid_remote_notice"></div>
|
71 |
</div>
|
72 |
-
<h2 class="nav-tab-wrapper">
|
73 |
<?php
|
74 |
do_action('wpvivid_backuprestore_add_tab');
|
75 |
?>
|
69 |
<?php do_action('wpvivid_add_schedule_notice'); ?>
|
70 |
<div id="wpvivid_remote_notice"></div>
|
71 |
</div>
|
72 |
+
<h2 class="nav-tab-wrapper wpvivid-custom-table-manager">
|
73 |
<?php
|
74 |
do_action('wpvivid_backuprestore_add_tab');
|
75 |
?>
|
admin/partials/wpvivid-backup-restore-page-display.php
CHANGED
@@ -708,14 +708,13 @@ function wpvivid_backuppage_add_page_backup(){
|
|
708 |
}
|
709 |
}
|
710 |
|
711 |
-
function wpvivid_read_log(action, param, log_type
|
712 |
var tab_id = '';
|
713 |
var content_id = '';
|
714 |
var ajax_data = '';
|
715 |
var show_page = '';
|
716 |
if(typeof param === 'undefined') param = '';
|
717 |
if(typeof log_type === 'undefined') log_type = '';
|
718 |
-
if(typeof log_result === 'undefined') log_result = '';
|
719 |
switch(action){
|
720 |
case 'wpvivid_view_backup_task_log':
|
721 |
ajax_data = {
|
@@ -747,9 +746,8 @@ function wpvivid_backuppage_add_page_backup(){
|
|
747 |
case 'wpvivid_view_log':
|
748 |
var ajax_data={
|
749 |
'action':action,
|
750 |
-
'
|
751 |
-
'log_type':log_type
|
752 |
-
'log_result':log_result
|
753 |
};
|
754 |
tab_id = 'wpvivid_tab_read_log';
|
755 |
content_id = 'wpvivid_read_log_content';
|
708 |
}
|
709 |
}
|
710 |
|
711 |
+
function wpvivid_read_log(action, param, log_type){
|
712 |
var tab_id = '';
|
713 |
var content_id = '';
|
714 |
var ajax_data = '';
|
715 |
var show_page = '';
|
716 |
if(typeof param === 'undefined') param = '';
|
717 |
if(typeof log_type === 'undefined') log_type = '';
|
|
|
718 |
switch(action){
|
719 |
case 'wpvivid_view_backup_task_log':
|
720 |
ajax_data = {
|
746 |
case 'wpvivid_view_log':
|
747 |
var ajax_data={
|
748 |
'action':action,
|
749 |
+
'id':param,
|
750 |
+
'log_type':log_type
|
|
|
751 |
};
|
752 |
tab_id = 'wpvivid_tab_read_log';
|
753 |
content_id = 'wpvivid_read_log_content';
|
includes/class-wpvivid.php
CHANGED
@@ -5415,7 +5415,7 @@ class WPvivid {
|
|
5415 |
<td>'.__($value['des'], 'wpvivid-backuprestore').'</td>
|
5416 |
<td>'.__($value['file_name'], 'wpvivid-backuprestore').'</td>
|
5417 |
<td>
|
5418 |
-
<a onclick="wpvivid_read_log(\''.'wpvivid_view_log'.'\', \''.$value['
|
5419 |
<img src="'.esc_url(WPVIVID_PLUGIN_URL.$pic_log).'" style="vertical-align:middle;">Log
|
5420 |
</a>
|
5421 |
</td>
|
@@ -5491,6 +5491,13 @@ class WPvivid {
|
|
5491 |
if ($handle)
|
5492 |
{
|
5493 |
$log_file['file_name']=basename($file);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5494 |
$log_file['path']=$file;
|
5495 |
$log_file['des']='';
|
5496 |
$log_file['time']='';
|
@@ -5556,8 +5563,11 @@ class WPvivid {
|
|
5556 |
{
|
5557 |
$this->ajax_check_security();
|
5558 |
try {
|
5559 |
-
if (isset($_POST['
|
5560 |
-
$
|
|
|
|
|
|
|
5561 |
if(isset($_POST['log_type']))
|
5562 |
{
|
5563 |
$log_type = sanitize_text_field($_POST['log_type']);
|
@@ -5566,36 +5576,28 @@ class WPvivid {
|
|
5566 |
{
|
5567 |
$log_type = 'backup';
|
5568 |
}
|
5569 |
-
|
5570 |
-
if(isset($_POST['log_result']))
|
5571 |
-
{
|
5572 |
-
$log_result = sanitize_text_field($_POST['log_result']);
|
5573 |
-
}
|
5574 |
-
else
|
5575 |
-
{
|
5576 |
-
$log_result = 'success';
|
5577 |
-
}
|
5578 |
-
|
5579 |
if($log_type === 'backup')
|
5580 |
{
|
5581 |
-
$
|
5582 |
-
$log_dir = WP_CONTENT_DIR.DIRECTORY_SEPARATOR.$general_setting['options']['wpvivid_local_setting']['path'].DIRECTORY_SEPARATOR.'wpvivid_log'.DIRECTORY_SEPARATOR;
|
5583 |
}
|
5584 |
else
|
5585 |
{
|
5586 |
-
$
|
|
|
5587 |
}
|
5588 |
|
5589 |
-
if($
|
5590 |
-
{
|
5591 |
-
$res_dir = '';
|
5592 |
-
}
|
5593 |
-
else
|
5594 |
{
|
5595 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5596 |
}
|
5597 |
|
5598 |
-
$path = $log_dir.$res_dir.$file_name;
|
5599 |
if (!file_exists($path)) {
|
5600 |
$json['result'] = 'failed';
|
5601 |
$json['error'] = __('The log not found.', 'wpvivid-backuprestore');
|
5415 |
<td>'.__($value['des'], 'wpvivid-backuprestore').'</td>
|
5416 |
<td>'.__($value['file_name'], 'wpvivid-backuprestore').'</td>
|
5417 |
<td>
|
5418 |
+
<a onclick="wpvivid_read_log(\''.'wpvivid_view_log'.'\', \''.$value['id'].'\', \''.'backup'.'\')" style="cursor:pointer;">
|
5419 |
<img src="'.esc_url(WPVIVID_PLUGIN_URL.$pic_log).'" style="vertical-align:middle;">Log
|
5420 |
</a>
|
5421 |
</td>
|
5491 |
if ($handle)
|
5492 |
{
|
5493 |
$log_file['file_name']=basename($file);
|
5494 |
+
$log_file['id']='';
|
5495 |
+
if(preg_match('/wpvivid-(.*?)_/', basename($file), $matches))
|
5496 |
+
{
|
5497 |
+
$id= $matches[0];
|
5498 |
+
$id=substr($id,0,strlen($id)-1);
|
5499 |
+
$log_file['id']=$id;
|
5500 |
+
}
|
5501 |
$log_file['path']=$file;
|
5502 |
$log_file['des']='';
|
5503 |
$log_file['time']='';
|
5563 |
{
|
5564 |
$this->ajax_check_security();
|
5565 |
try {
|
5566 |
+
if (isset($_POST['id']) && !empty($_POST['id']) && is_string($_POST['id'])) {
|
5567 |
+
$id = sanitize_text_field($_POST['id']);
|
5568 |
+
|
5569 |
+
$path = '';
|
5570 |
+
|
5571 |
if(isset($_POST['log_type']))
|
5572 |
{
|
5573 |
$log_type = sanitize_text_field($_POST['log_type']);
|
5576 |
{
|
5577 |
$log_type = 'backup';
|
5578 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5579 |
if($log_type === 'backup')
|
5580 |
{
|
5581 |
+
$loglist=$this->get_log_list_ex();
|
|
|
5582 |
}
|
5583 |
else
|
5584 |
{
|
5585 |
+
$log_page=new WPvivid_Staging_Log_Page_Free();
|
5586 |
+
$loglist=$log_page->get_log_list('staging');
|
5587 |
}
|
5588 |
|
5589 |
+
if(!empty($loglist['log_list']['file']))
|
|
|
|
|
|
|
|
|
5590 |
{
|
5591 |
+
foreach ($loglist['log_list']['file'] as $value)
|
5592 |
+
{
|
5593 |
+
if($value['id'] === $id)
|
5594 |
+
{
|
5595 |
+
$path = str_replace('\\', '/', $value['path']);
|
5596 |
+
break;
|
5597 |
+
}
|
5598 |
+
}
|
5599 |
}
|
5600 |
|
|
|
5601 |
if (!file_exists($path)) {
|
5602 |
$json['result'] = 'failed';
|
5603 |
$json['error'] = __('The log not found.', 'wpvivid-backuprestore');
|
includes/customclass/class-wpvivid-ftpclass.php
CHANGED
@@ -445,7 +445,7 @@ class WPvivid_FTPClass extends WPvivid_Remote{
|
|
445 |
$temp_path = trailingslashit(WP_CONTENT_DIR).WPvivid_Setting::get_backupdir().DIRECTORY_SEPARATOR.$temp_file;
|
446 |
file_put_contents($temp_path,print_r($temp_file,true));
|
447 |
if(! ftp_put($conn,trailingslashit($path).$temp_file,$temp_path,FTP_BINARY)){
|
448 |
-
return array('result'=>WPVIVID_FAILED,'error'=>'
|
449 |
}
|
450 |
@unlink($temp_path);
|
451 |
@ftp_delete($conn,trailingslashit($path).$temp_file);
|
445 |
$temp_path = trailingslashit(WP_CONTENT_DIR).WPvivid_Setting::get_backupdir().DIRECTORY_SEPARATOR.$temp_file;
|
446 |
file_put_contents($temp_path,print_r($temp_file,true));
|
447 |
if(! ftp_put($conn,trailingslashit($path).$temp_file,$temp_path,FTP_BINARY)){
|
448 |
+
return array('result'=>WPVIVID_FAILED,'error'=>'Failed to add FTP storage. It can be because the FTP folder permissions are insufficient, or calling PHP ftp_put function of your web server failed. Please make sure the folder has write permission and the ftp_put function works properly.');
|
449 |
}
|
450 |
@unlink($temp_path);
|
451 |
@ftp_delete($conn,trailingslashit($path).$temp_file);
|
includes/customclass/class-wpvivid-google-drive.php
CHANGED
@@ -74,7 +74,7 @@ class Wpvivid_Google_drive extends WPvivid_Remote
|
|
74 |
|
75 |
public function handle_auth_actions()
|
76 |
{
|
77 |
-
if(isset($_GET['action']))
|
78 |
{
|
79 |
if($_GET['page'] === 'WPvivid')
|
80 |
{
|
74 |
|
75 |
public function handle_auth_actions()
|
76 |
{
|
77 |
+
if(isset($_GET['action']) && isset($_GET['page']))
|
78 |
{
|
79 |
if($_GET['page'] === 'WPvivid')
|
80 |
{
|
includes/staging/class-wpvivid-fresh-install-create-ui-display.php
CHANGED
@@ -102,7 +102,7 @@ class WPvivid_Fresh_Install_Create_UI_Display_Free
|
|
102 |
$plugin_info[$slug] = $this->get_theme_plugin_info($path . DIRECTORY_SEPARATOR . $slug);
|
103 |
$plugin_info[$slug]['Name'] = $plugin['Name'];
|
104 |
$plugin_info[$slug]['slug'] = $slug;
|
105 |
-
if($slug=='wpvivid-
|
106 |
{
|
107 |
$plugin_info[$slug]['active'] = 1;
|
108 |
$plugin_info[$slug]['disable'] = 1;
|
@@ -183,6 +183,17 @@ class WPvivid_Fresh_Install_Create_UI_Display_Free
|
|
183 |
return $size;
|
184 |
}
|
185 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
186 |
public function output_create_wp_page()
|
187 |
{
|
188 |
$options=get_option('wpvivid_staging_options',array());
|
@@ -197,7 +208,7 @@ class WPvivid_Fresh_Install_Create_UI_Display_Free
|
|
197 |
|
198 |
update_option('wpvivid_current_running_staging_task','');
|
199 |
update_option('wpvivid_staging_task_cancel', false);
|
200 |
-
$home_url =
|
201 |
$admin_url = admin_url();
|
202 |
$admin_name = basename($admin_url);
|
203 |
$admin_name = trim($admin_name, '/');
|
102 |
$plugin_info[$slug] = $this->get_theme_plugin_info($path . DIRECTORY_SEPARATOR . $slug);
|
103 |
$plugin_info[$slug]['Name'] = $plugin['Name'];
|
104 |
$plugin_info[$slug]['slug'] = $slug;
|
105 |
+
if($slug=='wpvivid-backuprestore')
|
106 |
{
|
107 |
$plugin_info[$slug]['active'] = 1;
|
108 |
$plugin_info[$slug]['disable'] = 1;
|
183 |
return $size;
|
184 |
}
|
185 |
|
186 |
+
public function get_database_home_url()
|
187 |
+
{
|
188 |
+
$home_url = home_url();
|
189 |
+
global $wpdb;
|
190 |
+
$home_url_sql = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM $wpdb->options WHERE option_name = %s", 'home' ) );
|
191 |
+
foreach ( $home_url_sql as $home ){
|
192 |
+
$home_url = $home->option_value;
|
193 |
+
}
|
194 |
+
return untrailingslashit($home_url);
|
195 |
+
}
|
196 |
+
|
197 |
public function output_create_wp_page()
|
198 |
{
|
199 |
$options=get_option('wpvivid_staging_options',array());
|
208 |
|
209 |
update_option('wpvivid_current_running_staging_task','');
|
210 |
update_option('wpvivid_staging_task_cancel', false);
|
211 |
+
$home_url = $this->get_database_home_url();
|
212 |
$admin_url = admin_url();
|
213 |
$admin_name = basename($admin_url);
|
214 |
$admin_name = trim($admin_name, '/');
|
includes/staging/class-wpvivid-staging-copy-db-ex.php
CHANGED
@@ -402,8 +402,8 @@ class WPvivid_Staging_Copy_DB
|
|
402 |
$current = get_option('active_plugins',array());
|
403 |
}
|
404 |
|
405 |
-
if(!in_array('wpvivid-
|
406 |
-
$current[] = 'wpvivid-
|
407 |
sort( $current );
|
408 |
$value=serialize($current);
|
409 |
$update_query = $db->prepare("UPDATE {$prefix}options SET option_value=%s WHERE option_name='active_plugins'" , $value);
|
402 |
$current = get_option('active_plugins',array());
|
403 |
}
|
404 |
|
405 |
+
if(!in_array('wpvivid-backuprestore/wpvivid-backuprestore.php',$current))
|
406 |
+
$current[] = 'wpvivid-backuprestore/wpvivid-backuprestore.php.php';
|
407 |
sort( $current );
|
408 |
$value=serialize($current);
|
409 |
$update_query = $db->prepare("UPDATE {$prefix}options SET option_value=%s WHERE option_name='active_plugins'" , $value);
|
includes/staging/class-wpvivid-staging-create-new-wp.php
CHANGED
@@ -64,6 +64,13 @@ class WPvivid_Staging_Install_Wordpress_Free
|
|
64 |
$wpdb=$this->get_db_instance(true);
|
65 |
|
66 |
$wpdb->set_prefix($prefix);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
$result = @wp_install($title, $username, $email, 0, '', md5(rand()));
|
68 |
$wpvivid_plugin->staging->log->WriteLog(json_encode($result), 'notice');
|
69 |
$user_id = $result['user_id'];
|
@@ -139,7 +146,7 @@ class WPvivid_Staging_Install_Wordpress_Free
|
|
139 |
}
|
140 |
|
141 |
$current = array();
|
142 |
-
$current[] = 'wpvivid-
|
143 |
sort( $current );
|
144 |
$value=serialize($current);
|
145 |
$update_query = $wpdb->prepare("UPDATE {$prefix}options SET option_value=%s WHERE option_name='active_plugins'" , $value);
|
64 |
$wpdb=$this->get_db_instance(true);
|
65 |
|
66 |
$wpdb->set_prefix($prefix);
|
67 |
+
|
68 |
+
$hook_name = 'update_option_blogname';
|
69 |
+
if(has_action($hook_name))
|
70 |
+
{
|
71 |
+
remove_all_actions($hook_name);
|
72 |
+
}
|
73 |
+
|
74 |
$result = @wp_install($title, $username, $email, 0, '', md5(rand()));
|
75 |
$wpvivid_plugin->staging->log->WriteLog(json_encode($result), 'notice');
|
76 |
$user_id = $result['user_id'];
|
146 |
}
|
147 |
|
148 |
$current = array();
|
149 |
+
$current[] = 'wpvivid-backuprestore/wpvivid-backuprestore.php';
|
150 |
sort( $current );
|
151 |
$value=serialize($current);
|
152 |
$update_query = $wpdb->prepare("UPDATE {$prefix}options SET option_value=%s WHERE option_name='active_plugins'" , $value);
|
includes/staging/class-wpvivid-staging-log-page.php
CHANGED
@@ -486,7 +486,7 @@ class WPvivid_Staging_Log_Page_Free
|
|
486 |
<td>'.__($value['des'], 'wpvivid-backuprestore').'</td>
|
487 |
<td>'.__($value['file_name'], 'wpvivid-backuprestore').'</td>
|
488 |
<td>
|
489 |
-
<a onclick="wpvivid_read_log(\''.'wpvivid_view_log'.'\', \''.$value['
|
490 |
<img src="'.esc_url(WPVIVID_PLUGIN_URL.$pic_log).'" style="vertical-align:middle;">Log
|
491 |
</a>
|
492 |
</td>
|
@@ -638,6 +638,13 @@ class WPvivid_Staging_Log_Page_Free
|
|
638 |
{
|
639 |
$log_file=array();
|
640 |
$log_file['file_name']=basename($file);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
641 |
$log_file['path']=$file;
|
642 |
$log_file['des']='';
|
643 |
$log_file['time']='';
|
@@ -718,6 +725,13 @@ class WPvivid_Staging_Log_Page_Free
|
|
718 |
{
|
719 |
$log_file=array();
|
720 |
$log_file['file_name']=basename($file);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
721 |
$log_file['path']=$file;
|
722 |
$log_file['des']='';
|
723 |
$log_file['time']='';
|
486 |
<td>'.__($value['des'], 'wpvivid-backuprestore').'</td>
|
487 |
<td>'.__($value['file_name'], 'wpvivid-backuprestore').'</td>
|
488 |
<td>
|
489 |
+
<a onclick="wpvivid_read_log(\''.'wpvivid_view_log'.'\', \''.$value['id'].'\', \''.'staging'.'\')" style="cursor:pointer;">
|
490 |
<img src="'.esc_url(WPVIVID_PLUGIN_URL.$pic_log).'" style="vertical-align:middle;">Log
|
491 |
</a>
|
492 |
</td>
|
638 |
{
|
639 |
$log_file=array();
|
640 |
$log_file['file_name']=basename($file);
|
641 |
+
$log_file['id']='';
|
642 |
+
if(preg_match('/wpvivid-(.*?)_/', basename($file), $matches))
|
643 |
+
{
|
644 |
+
$id= $matches[0];
|
645 |
+
$id=substr($id,0,strlen($id)-1);
|
646 |
+
$log_file['id']=$id;
|
647 |
+
}
|
648 |
$log_file['path']=$file;
|
649 |
$log_file['des']='';
|
650 |
$log_file['time']='';
|
725 |
{
|
726 |
$log_file=array();
|
727 |
$log_file['file_name']=basename($file);
|
728 |
+
$log_file['id']='';
|
729 |
+
if(preg_match('/wpvivid-(.*?)_/', basename($file), $matches))
|
730 |
+
{
|
731 |
+
$id= $matches[0];
|
732 |
+
$id=substr($id,0,strlen($id)-1);
|
733 |
+
$log_file['id']=$id;
|
734 |
+
}
|
735 |
$log_file['path']=$file;
|
736 |
$log_file['des']='';
|
737 |
$log_file['time']='';
|
includes/staging/class-wpvivid-staging-ui-display.php
CHANGED
@@ -1238,6 +1238,8 @@ class WPvivid_Staging_UI_Display_Free
|
|
1238 |
{
|
1239 |
$site_url = site_url();
|
1240 |
$home_url = home_url();
|
|
|
|
|
1241 |
$db_site_url = '';
|
1242 |
$db_home_url = '';
|
1243 |
global $wpdb;
|
1238 |
{
|
1239 |
$site_url = site_url();
|
1240 |
$home_url = home_url();
|
1241 |
+
$site_url = untrailingslashit($site_url);
|
1242 |
+
$home_url = untrailingslashit($home_url);
|
1243 |
$db_site_url = '';
|
1244 |
$db_home_url = '';
|
1245 |
global $wpdb;
|
includes/upload-cleaner/class-wpvivid-uploads-cleaner.php
CHANGED
@@ -1057,6 +1057,32 @@ class WPvivid_Uploads_Cleaner
|
|
1057 |
return implode(DIRECTORY_SEPARATOR,$values);
|
1058 |
}
|
1059 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1060 |
public function display()
|
1061 |
{
|
1062 |
$upload_dir=wp_upload_dir();
|
@@ -1078,6 +1104,9 @@ class WPvivid_Uploads_Cleaner
|
|
1078 |
echo __('WPvivid Image Cleaner', 'wpvivid');
|
1079 |
?>
|
1080 |
</h1>
|
|
|
|
|
|
|
1081 |
<?php
|
1082 |
|
1083 |
if(!class_exists('WPvivid_Tab_Page_Container'))
|
1057 |
return implode(DIRECTORY_SEPARATOR,$values);
|
1058 |
}
|
1059 |
|
1060 |
+
public function wpvivid_check_jet_engine()
|
1061 |
+
{
|
1062 |
+
if (!function_exists('get_plugins'))
|
1063 |
+
{
|
1064 |
+
require_once ABSPATH . 'wp-admin/includes/plugin.php';
|
1065 |
+
}
|
1066 |
+
|
1067 |
+
$active_plugins = get_option('active_plugins');
|
1068 |
+
$plugins=get_plugins();
|
1069 |
+
$jet_engine_slug='jet-engine/jet-engine.php';
|
1070 |
+
|
1071 |
+
if(!empty($plugins))
|
1072 |
+
{
|
1073 |
+
if(isset($plugins[$jet_engine_slug]))
|
1074 |
+
{
|
1075 |
+
if(in_array($jet_engine_slug, $active_plugins))
|
1076 |
+
{
|
1077 |
+
_e('<div class="notice notice-warning inline" style="margin: 10px 0 0 0;"><p><strong>Warning:</strong> We detected that you use Jet Engine plugin on this site,
|
1078 |
+
it may have compatibility issues with our plugin, which can result in an inaccuracy of the scan result,
|
1079 |
+
so we recommend not using this feature yet.
|
1080 |
+
</p></div>');
|
1081 |
+
}
|
1082 |
+
}
|
1083 |
+
}
|
1084 |
+
}
|
1085 |
+
|
1086 |
public function display()
|
1087 |
{
|
1088 |
$upload_dir=wp_upload_dir();
|
1104 |
echo __('WPvivid Image Cleaner', 'wpvivid');
|
1105 |
?>
|
1106 |
</h1>
|
1107 |
+
|
1108 |
+
<?php $this->wpvivid_check_jet_engine(); ?>
|
1109 |
+
|
1110 |
<?php
|
1111 |
|
1112 |
if(!class_exists('WPvivid_Tab_Page_Container'))
|
readme.txt
CHANGED
@@ -4,11 +4,11 @@ Tags: move, clone, migrate, staging, backup, restore, auto backup, cloud backup
|
|
4 |
Requires at least: 4.5
|
5 |
Tested up to: 5.9.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 |
|
11 |
-
Migrate, staging,
|
12 |
|
13 |
== Description ==
|
14 |
WPvivid Backup Plugin offers backup, migration, and staging as basic features, and is integrating more and more elegant features, such as unused images cleaner etc.
|
@@ -182,16 +182,26 @@ Yes, we do. Here are the guides for [migrating your site to a new host](https://
|
|
182 |
Feel free to let us know how we can help using the [support forum](https://wordpress.org/support/plugin/wpvivid-backuprestore) for WPvivid Backup 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).
|
183 |
|
184 |
== Languages and Translators ==
|
185 |
-
Thank you for translating WPvivid Backup Plugin to your languages!
|
186 |
|
187 |
* [Andrew Galas](https://profiles.wordpress.org/andrewgalas) (Polish)
|
188 |
* [Shohei OKADA](https://ja.gravatar.com/silversword0630) (Japanese)
|
189 |
* [Francesco Tosi](https://profiles.wordpress.org/seventhose/) (Italian)
|
190 |
* [Valentin Lyong](https://profiles.wordpress.org/icedge/) (Bulgarian)
|
191 |
* [Daniel Wilczkowiak](https://profiles.wordpress.org/virtual03/) (German)
|
192 |
-
* [Nima](https://profiles.wordpress.org/nima78600/) (Persian)
|
193 |
-
|
|
|
|
|
|
|
|
|
194 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
195 |
= 0.9.70 =
|
196 |
- Fixed: There was no notification after restoration in some environments.
|
197 |
- Fixed some vulnerabilities in the plugin code.
|
4 |
Requires at least: 4.5
|
5 |
Tested up to: 5.9.2
|
6 |
Requires PHP: 5.3
|
7 |
+
Stable tag: 0.9.71
|
8 |
License: GPLv3 or later
|
9 |
License URI: https://www.gnu.org/licenses/gpl-3.0.en.html
|
10 |
|
11 |
+
Migrate, staging, backup WP.
|
12 |
|
13 |
== Description ==
|
14 |
WPvivid Backup Plugin offers backup, migration, and staging as basic features, and is integrating more and more elegant features, such as unused images cleaner etc.
|
182 |
Feel free to let us know how we can help using the [support forum](https://wordpress.org/support/plugin/wpvivid-backuprestore) for WPvivid Backup 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).
|
183 |
|
184 |
== Languages and Translators ==
|
185 |
+
Thank you so much for translating WPvivid Backup Plugin to your languages!
|
186 |
|
187 |
* [Andrew Galas](https://profiles.wordpress.org/andrewgalas) (Polish)
|
188 |
* [Shohei OKADA](https://ja.gravatar.com/silversword0630) (Japanese)
|
189 |
* [Francesco Tosi](https://profiles.wordpress.org/seventhose/) (Italian)
|
190 |
* [Valentin Lyong](https://profiles.wordpress.org/icedge/) (Bulgarian)
|
191 |
* [Daniel Wilczkowiak](https://profiles.wordpress.org/virtual03/) (German)
|
192 |
+
* [Nima Nimaee](https://profiles.wordpress.org/nima78600/) (Persian)
|
193 |
+
* [Alex](https://profiles.wordpress.org/alexser/) (Russian)
|
194 |
+
* [Robi Erwin Setiawan](https://www.linkedin.com/in/robi-erwin-setiawan/) (Indonesian)
|
195 |
+
* [Lois](https://profiles.wordpress.org/naoko01/) (Hungarian)
|
196 |
+
* [Khoi](https://profiles.wordpress.org/khoipro/) (Vietnamese)
|
197 |
+
* [Jairo Ochoa](https://profiles.wordpress.org/jairoochoa/) and [Carlos Macías](https://profiles.wordpress.org/cmacias/) (Galician)
|
198 |
== Changelog ==
|
199 |
+
= 0.9.71 =
|
200 |
+
- Fixed the warning: Undefined array key "page" when editing pages in some cases.
|
201 |
+
- Fixed: Creating a fresh install failed when Elementor plugin is enabled.
|
202 |
+
- Fixed some vulnerabilities in the plugin code.
|
203 |
+
- Fixed some UI bugs.
|
204 |
+
- Fixed some bugs in the plugin code.
|
205 |
= 0.9.70 =
|
206 |
- Fixed: There was no notification after restoration in some environments.
|
207 |
- Fixed some vulnerabilities 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.71
|
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.71' );
|
25 |
//
|
26 |
define('WPVIVID_RESTORE_INIT','init');
|
27 |
define('WPVIVID_RESTORE_READY','ready');
|