Version Description
- Dec 17th 2019 =
- Improvement: Implemented a new method to fetch database details for the following operations. Restore, same server staging and existing site cloning.
- Improvement: Support for V3 PPL addon.
- Improvement: Now, the WPTC plugin gets a higher priority than the IWP client plugin.
- Fix: File uploader throws a fatal error if the selected folder doesn't have permission to upload.
- Fix: Error: "Failed to upload to Amazon S3. Please check your details and set Managed Policies on your users to AmazonS3FullAccess" while backing up the site to s3 bucket using the single call method.
- Fix: With the Phoenix method, Backups are shown as completed if the backup folder does not have write permission.
- Fix: iwp-restore-log.txt file excluded in the multicall and single call method backups.
Download this release
Release Info
Developer | infinitewp |
Plugin | InfiniteWP Client |
Version | 1.9.4.4 |
Comparing to | |
See all releases |
Code changes from version 1.9.4.1 to 1.9.4.4
- addons/file_editor/file_editor.class.php +6 -0
- addons/post_links/link.class.php +7 -2
- addons/post_links/post.class.php +1 -1
- backup.class.multicall.php +1 -0
- backup.class.singlecall.php +1 -0
- backup/backup.core.class.php +5 -0
- core.class.php +15 -1
- init.php +111 -18
- lib/amazon/s3IWPBackup.php +6 -0
- readme.txt +10 -1
addons/file_editor/file_editor.class.php
CHANGED
@@ -275,6 +275,12 @@ function iwp_mmb_direct_to_any_copy($source, $destination, $overwrite = false, $
|
|
275 |
if ( is_wp_error($copy_result) ){
|
276 |
$wp_temp_direct2 = new WP_Filesystem_Direct('');
|
277 |
$wp_temp_direct2->delete($new_temp_folder, true);
|
|
|
|
|
|
|
|
|
|
|
|
|
278 |
return $copy_result;
|
279 |
}
|
280 |
|
275 |
if ( is_wp_error($copy_result) ){
|
276 |
$wp_temp_direct2 = new WP_Filesystem_Direct('');
|
277 |
$wp_temp_direct2->delete($new_temp_folder, true);
|
278 |
+
|
279 |
+
if(is_wp_error($copy_result)){
|
280 |
+
$result['error_code'] = $copy_result->get_error_code();
|
281 |
+
$result['error'] = $copy_result->get_error_message();
|
282 |
+
return $result;
|
283 |
+
}
|
284 |
return $copy_result;
|
285 |
}
|
286 |
|
addons/post_links/link.class.php
CHANGED
@@ -93,8 +93,13 @@ class IWP_MMB_Link extends IWP_MMB_Core
|
|
93 |
|
94 |
if(!empty($filter_links))
|
95 |
{
|
96 |
-
|
97 |
-
|
|
|
|
|
|
|
|
|
|
|
98 |
}
|
99 |
|
100 |
$linkcats = $this->getLinkCats();
|
93 |
|
94 |
if(!empty($filter_links))
|
95 |
{
|
96 |
+
$table_name = $wpdb->prefix."links_extrainfo";
|
97 |
+
$cus_sql = '';
|
98 |
+
if($wpdb->get_var("SHOW TABLES LIKE '$table_name'") == $table_name) {
|
99 |
+
$cus_sql= " OR link_id IN(SELECT link_id FROM ".$wpdb->prefix."links_extrainfo WHERE 1=1 AND (link_reciprocal LIKE '%".esc_sql($filter_links)."%' OR link_submitter_email LIKE '%".esc_sql($filter_links)."%'))";
|
100 |
+
}
|
101 |
+
|
102 |
+
$where.=" AND (link_name LIKE '%".esc_sql($filter_links)."%' OR link_url LIKE '%".esc_sql($filter_links)."%'".$cus_sql.")";
|
103 |
}
|
104 |
|
105 |
$linkcats = $this->getLinkCats();
|
addons/post_links/post.class.php
CHANGED
@@ -320,7 +320,7 @@ class IWP_MMB_Post extends IWP_MMB_Core
|
|
320 |
$match_by = "post_name = '".$post_data['post_name']."'";
|
321 |
}
|
322 |
|
323 |
-
$query = "SELECT ID FROM $wpdb->posts WHERE $match_by AND post_status NOT IN('inherit','auto-draft'
|
324 |
|
325 |
$post_result = $wpdb->get_var($query);
|
326 |
|
320 |
$match_by = "post_name = '".$post_data['post_name']."'";
|
321 |
}
|
322 |
|
323 |
+
$query = "SELECT ID FROM $wpdb->posts WHERE $match_by AND post_status NOT IN('inherit','auto-draft') LIMIT 1";
|
324 |
|
325 |
$post_result = $wpdb->get_var($query);
|
326 |
|
backup.class.multicall.php
CHANGED
@@ -1347,6 +1347,7 @@ class IWP_MMB_Backup_Multicall extends IWP_MMB_Core
|
|
1347 |
"wp-snapshots",
|
1348 |
"site_map.xml",
|
1349 |
"iwp-clone-log.txt",
|
|
|
1350 |
);
|
1351 |
manual_debug('', 'beforeExclude', 0);
|
1352 |
if((!empty($exclude_file_size))||(!empty($exclude_extensions)))
|
1347 |
"wp-snapshots",
|
1348 |
"site_map.xml",
|
1349 |
"iwp-clone-log.txt",
|
1350 |
+
"iwp-restore-log.txt"
|
1351 |
);
|
1352 |
manual_debug('', 'beforeExclude', 0);
|
1353 |
if((!empty($exclude_file_size))||(!empty($exclude_extensions)))
|
backup.class.singlecall.php
CHANGED
@@ -634,6 +634,7 @@ function delete_task_now($task_name){
|
|
634 |
"wp-snapshots",
|
635 |
"site_map.xml",
|
636 |
"iwp-clone-log.txt",
|
|
|
637 |
);
|
638 |
|
639 |
//removing files which are larger than the specified size
|
634 |
"wp-snapshots",
|
635 |
"site_map.xml",
|
636 |
"iwp-clone-log.txt",
|
637 |
+
"iwp-restore-log.txt"
|
638 |
);
|
639 |
|
640 |
//removing files which are larger than the specified size
|
backup/backup.core.class.php
CHANGED
@@ -3174,6 +3174,11 @@ class IWP_MMB_Backup_Core {
|
|
3174 |
if(is_writable(IWP_BACKUP_DIR)){
|
3175 |
@file_put_contents(IWP_BACKUP_DIR . '/index.php', ''); //safe
|
3176 |
|
|
|
|
|
|
|
|
|
|
|
3177 |
}
|
3178 |
|
3179 |
$this->backup_dir = IWP_BACKUP_DIR;
|
3174 |
if(is_writable(IWP_BACKUP_DIR)){
|
3175 |
@file_put_contents(IWP_BACKUP_DIR . '/index.php', ''); //safe
|
3176 |
|
3177 |
+
}else{
|
3178 |
+
$chmod = chmod(IWP_BACKUP_DIR, 777);
|
3179 |
+
if(!is_writable(IWP_BACKUP_DIR)){
|
3180 |
+
return array('error' => IWP_BACKUP_DIR.' directory is not writable. Please set 755 or 777 file permission and try again.', 'error_code' => 'backup_dir_is_not_writable');
|
3181 |
+
}
|
3182 |
}
|
3183 |
|
3184 |
$this->backup_dir = IWP_BACKUP_DIR;
|
core.class.php
CHANGED
@@ -208,7 +208,8 @@ class IWP_MMB_Core extends IWP_MMB_Helper
|
|
208 |
'sucuri_change_alert' => 'iwp_mmb_sucuri_change_alert',
|
209 |
'backup_downlaod' => 'iwp_mmb_backup_downlaod',
|
210 |
'cronDoAction' => 'iwp_pheonix_backup_cron_do_action',
|
211 |
-
'get_additional_stats' => 'iwp_get_additional_stats'
|
|
|
212 |
);
|
213 |
|
214 |
add_action('rightnow_end', array( &$this, 'add_right_now_info' ));
|
@@ -1442,6 +1443,19 @@ EOF;
|
|
1442 |
wp_enqueue_style('wp-jquery-ui-dialog');
|
1443 |
}
|
1444 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1445 |
|
1446 |
}
|
1447 |
?>
|
208 |
'sucuri_change_alert' => 'iwp_mmb_sucuri_change_alert',
|
209 |
'backup_downlaod' => 'iwp_mmb_backup_downlaod',
|
210 |
'cronDoAction' => 'iwp_pheonix_backup_cron_do_action',
|
211 |
+
'get_additional_stats' => 'iwp_get_additional_stats',
|
212 |
+
'get_db_details' => 'iwp_get_db_details'
|
213 |
);
|
214 |
|
215 |
add_action('rightnow_end', array( &$this, 'add_right_now_info' ));
|
1443 |
wp_enqueue_style('wp-jquery-ui-dialog');
|
1444 |
}
|
1445 |
|
1446 |
+
function get_db_details($params){
|
1447 |
+
global $wpdb;
|
1448 |
+
$result = array();
|
1449 |
+
if (defined('DB_HOST')) {
|
1450 |
+
$result['dbHost'] = DB_HOST;
|
1451 |
+
$result['dbName'] = DB_NAME;
|
1452 |
+
$result['dbUser'] = DB_USER;
|
1453 |
+
$result['dbPassword'] = DB_PASSWORD;
|
1454 |
+
$result['db_table_prefix'] = $wpdb->base_prefix;
|
1455 |
+
}
|
1456 |
+
|
1457 |
+
return $result;
|
1458 |
+
}
|
1459 |
|
1460 |
}
|
1461 |
?>
|
init.php
CHANGED
@@ -4,7 +4,7 @@ Plugin Name: InfiniteWP - Client
|
|
4 |
Plugin URI: http://infinitewp.com/
|
5 |
Description: This is the client plugin of InfiniteWP that communicates with the InfiniteWP Admin panel.
|
6 |
Author: Revmakx
|
7 |
-
Version: 1.9.4.
|
8 |
Author URI: http://www.revmakx.com
|
9 |
Network: true
|
10 |
*/
|
@@ -29,7 +29,7 @@ if(basename($_SERVER['SCRIPT_FILENAME']) == "init.php"):
|
|
29 |
exit;
|
30 |
endif;
|
31 |
if(!defined('IWP_MMB_CLIENT_VERSION'))
|
32 |
-
define('IWP_MMB_CLIENT_VERSION', '1.9.4.
|
33 |
|
34 |
|
35 |
|
@@ -751,6 +751,27 @@ if( !function_exists ( 'iwp_get_additional_stats' )) {
|
|
751 |
if (is_array($return) && !array_key_exists('error', $return))
|
752 |
$response['wordfence_load'] = $return;
|
753 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
754 |
|
755 |
if (is_array($response) && array_key_exists('error', $response))
|
756 |
iwp_mmb_response($response, false);
|
@@ -778,6 +799,10 @@ if( !function_exists ( 'iwp_mmb_new_scheduled_backup' )) {
|
|
778 |
'success' => 'Backup started',
|
779 |
'wp_content_url' => content_url(),
|
780 |
);
|
|
|
|
|
|
|
|
|
781 |
// Close browser connection not working for some servers so we suggest IWP_PHOENIX_BACKUP_CRON
|
782 |
// iwp_closeBrowserConnection( $msg );
|
783 |
if ((!defined('DISABLE_IWP_CLOUD_VERIFICATION')) && (empty($params['args']['disable_iwp_cloud_verification']))) {
|
@@ -888,6 +913,15 @@ if( !function_exists ( 'iwp_mmb_scheduled_backup' )) {
|
|
888 |
}
|
889 |
}
|
890 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
891 |
if( !function_exists ( 'iwp_mmb_new_run_task_now' )) {
|
892 |
function iwp_mmb_new_run_task_now($params)
|
893 |
{
|
@@ -906,6 +940,10 @@ if( !function_exists ( 'iwp_mmb_new_run_task_now' )) {
|
|
906 |
'success' => 'Backup started',
|
907 |
'wp_content_url' => content_url(),
|
908 |
);
|
|
|
|
|
|
|
|
|
909 |
// Close browser connection not working for some servers so we suggest IWP_PHOENIX_BACKUP_CRON
|
910 |
// iwp_closeBrowserConnection( $msg );
|
911 |
if ((!defined('DISABLE_IWP_CLOUD_VERIFICATION')) && (empty($params['args']['disable_iwp_cloud_verification']))) {
|
@@ -1298,16 +1336,35 @@ if( !function_exists ( 'iwp_mmb_post_create' )) {
|
|
1298 |
{
|
1299 |
global $iwp_mmb_core;
|
1300 |
$iwp_mmb_core->get_post_instance();
|
1301 |
-
|
1302 |
-
|
|
|
|
|
|
|
|
|
1303 |
iwp_mmb_response($return, true);
|
1304 |
else{
|
1305 |
-
if(isset($return['error'])){
|
1306 |
-
iwp_mmb_response($return, false);
|
1307 |
} else {
|
1308 |
-
iwp_mmb_response($return, false);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1309 |
}
|
1310 |
}
|
|
|
1311 |
}
|
1312 |
}
|
1313 |
|
@@ -1342,8 +1399,12 @@ if( !function_exists ('iwp_mmb_delete_post')) {
|
|
1342 |
{
|
1343 |
global $iwp_mmb_core;
|
1344 |
$iwp_mmb_core->get_post_instance();
|
1345 |
-
|
|
|
|
|
|
|
1346 |
$return = $iwp_mmb_core->post_instance->delete_post($params);
|
|
|
1347 |
if (is_array($return) && array_key_exists('error', $return))
|
1348 |
iwp_mmb_response($return, false);
|
1349 |
else {
|
@@ -1357,8 +1418,13 @@ if( !function_exists ('iwp_mmb_delete_posts')) {
|
|
1357 |
{
|
1358 |
global $iwp_mmb_core;
|
1359 |
$iwp_mmb_core->get_post_instance();
|
1360 |
-
|
|
|
|
|
|
|
|
|
1361 |
$return = $iwp_mmb_core->post_instance->delete_posts($params);
|
|
|
1362 |
if (is_array($return) && array_key_exists('error', $return))
|
1363 |
iwp_mmb_response($return, false);
|
1364 |
else {
|
@@ -1397,8 +1463,12 @@ if( !function_exists ('iwp_mmb_delete_page')) {
|
|
1397 |
{
|
1398 |
global $iwp_mmb_core;
|
1399 |
$iwp_mmb_core->get_post_instance();
|
1400 |
-
|
|
|
|
|
|
|
1401 |
$return = $iwp_mmb_core->post_instance->delete_page($params);
|
|
|
1402 |
if (is_array($return) && array_key_exists('error', $return))
|
1403 |
iwp_mmb_response($return, false);
|
1404 |
else {
|
@@ -1428,7 +1498,12 @@ if( !function_exists ( 'iwp_mmb_add_link' )) {
|
|
1428 |
{
|
1429 |
global $iwp_mmb_core;
|
1430 |
$iwp_mmb_core->get_link_instance();
|
|
|
|
|
|
|
|
|
1431 |
$return = $iwp_mmb_core->link_instance->add_link($params);
|
|
|
1432 |
if (is_array($return) && array_key_exists('error', $return)){
|
1433 |
iwp_mmb_response($return, false);
|
1434 |
}
|
@@ -1444,8 +1519,12 @@ if( !function_exists ('iwp_mmb_delete_link')) {
|
|
1444 |
{
|
1445 |
global $iwp_mmb_core;
|
1446 |
$iwp_mmb_core->get_link_instance();
|
1447 |
-
|
|
|
|
|
|
|
1448 |
$return = $iwp_mmb_core->link_instance->delete_link($params);
|
|
|
1449 |
if (is_array($return) && array_key_exists('error', $return)){
|
1450 |
iwp_mmb_response($return, false);
|
1451 |
}
|
@@ -1460,8 +1539,12 @@ if( !function_exists ('iwp_mmb_delete_links')) {
|
|
1460 |
{
|
1461 |
global $iwp_mmb_core;
|
1462 |
$iwp_mmb_core->get_link_instance();
|
1463 |
-
|
|
|
|
|
|
|
1464 |
$return = $iwp_mmb_core->link_instance->delete_links($params);
|
|
|
1465 |
if (is_array($return) && array_key_exists('error', $return)){
|
1466 |
iwp_mmb_response($return, false);
|
1467 |
}
|
@@ -3087,21 +3170,31 @@ function iwp_mmb_get_hosting_disk_quota_free() {
|
|
3087 |
|
3088 |
function iwp_mmb_set_plugin_priority()
|
3089 |
{
|
|
|
3090 |
$pluginBasename = 'iwp-client/init.php';
|
3091 |
-
$
|
3092 |
-
|
3093 |
-
if (reset($activePlugins)
|
3094 |
return;
|
3095 |
}
|
3096 |
|
3097 |
$iwpKey = array_search($pluginBasename, $activePlugins);
|
3098 |
-
|
3099 |
-
if ($iwpKey
|
3100 |
return;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3101 |
}
|
3102 |
-
|
3103 |
unset($activePlugins[$iwpKey]);
|
|
|
3104 |
array_unshift($activePlugins, $pluginBasename);
|
|
|
|
|
3105 |
update_option('active_plugins', array_values($activePlugins));
|
3106 |
}
|
3107 |
|
4 |
Plugin URI: http://infinitewp.com/
|
5 |
Description: This is the client plugin of InfiniteWP that communicates with the InfiniteWP Admin panel.
|
6 |
Author: Revmakx
|
7 |
+
Version: 1.9.4.4
|
8 |
Author URI: http://www.revmakx.com
|
9 |
Network: true
|
10 |
*/
|
29 |
exit;
|
30 |
endif;
|
31 |
if(!defined('IWP_MMB_CLIENT_VERSION'))
|
32 |
+
define('IWP_MMB_CLIENT_VERSION', '1.9.4.4');
|
33 |
|
34 |
|
35 |
|
751 |
if (is_array($return) && !array_key_exists('error', $return))
|
752 |
$response['wordfence_load'] = $return;
|
753 |
}
|
754 |
+
// bulk publish
|
755 |
+
if (!empty($params['requiredActions']) && isset($params['requiredActions']['get_bulkposts'])) {
|
756 |
+
$iwp_mmb_core->get_post_instance();
|
757 |
+
$return = $iwp_mmb_core->post_instance->get_posts($params['requiredActions']['get_bulkposts']);
|
758 |
+
if (is_array($return) && !array_key_exists('error', $return))
|
759 |
+
$response['get_bulkposts'] = $return;
|
760 |
+
}
|
761 |
+
|
762 |
+
if (!empty($params['requiredActions']) && isset($params['requiredActions']['get_bulkpages'])) {
|
763 |
+
$iwp_mmb_core->get_post_instance();
|
764 |
+
$return = $iwp_mmb_core->post_instance->get_pages($params['requiredActions']['get_bulkpages']);
|
765 |
+
if (is_array($return) && !array_key_exists('error', $return))
|
766 |
+
$response['get_bulkpages'] = $return;
|
767 |
+
}
|
768 |
+
|
769 |
+
if (!empty($params['requiredActions']) && isset($params['requiredActions']['get_bulklinks'])) {
|
770 |
+
$iwp_mmb_core->get_link_instance();
|
771 |
+
$return = $iwp_mmb_core->link_instance->get_links($params['requiredActions']['get_bulklinks']);
|
772 |
+
if (is_array($return) && !array_key_exists('error', $return))
|
773 |
+
$response['get_bulklinks'] = $return;
|
774 |
+
}
|
775 |
|
776 |
if (is_array($response) && array_key_exists('error', $response))
|
777 |
iwp_mmb_response($response, false);
|
799 |
'success' => 'Backup started',
|
800 |
'wp_content_url' => content_url(),
|
801 |
);
|
802 |
+
$iwp_backup_dir = $iwp_backup_core->backups_dir_location();
|
803 |
+
if (is_array($iwp_backup_dir) && array_key_exists('error', $iwp_backup_dir)){
|
804 |
+
iwp_closeBrowserConnection($iwp_backup_dir, false);
|
805 |
+
}
|
806 |
// Close browser connection not working for some servers so we suggest IWP_PHOENIX_BACKUP_CRON
|
807 |
// iwp_closeBrowserConnection( $msg );
|
808 |
if ((!defined('DISABLE_IWP_CLOUD_VERIFICATION')) && (empty($params['args']['disable_iwp_cloud_verification']))) {
|
913 |
}
|
914 |
}
|
915 |
|
916 |
+
if( !function_exists ( 'iwp_get_db_details' )) {
|
917 |
+
function iwp_get_db_details($params)
|
918 |
+
{
|
919 |
+
global $iwp_mmb_core;
|
920 |
+
$return = $iwp_mmb_core->get_db_details($params);
|
921 |
+
iwp_mmb_response($return, $return);
|
922 |
+
}
|
923 |
+
}
|
924 |
+
|
925 |
if( !function_exists ( 'iwp_mmb_new_run_task_now' )) {
|
926 |
function iwp_mmb_new_run_task_now($params)
|
927 |
{
|
940 |
'success' => 'Backup started',
|
941 |
'wp_content_url' => content_url(),
|
942 |
);
|
943 |
+
$iwp_backup_dir = $iwp_backup_core->backups_dir_location();
|
944 |
+
if (is_array($iwp_backup_dir) && array_key_exists('error', $iwp_backup_dir)){
|
945 |
+
iwp_closeBrowserConnection($iwp_backup_dir, false);
|
946 |
+
}
|
947 |
// Close browser connection not working for some servers so we suggest IWP_PHOENIX_BACKUP_CRON
|
948 |
// iwp_closeBrowserConnection( $msg );
|
949 |
if ((!defined('DISABLE_IWP_CLOUD_VERIFICATION')) && (empty($params['args']['disable_iwp_cloud_verification']))) {
|
1336 |
{
|
1337 |
global $iwp_mmb_core;
|
1338 |
$iwp_mmb_core->get_post_instance();
|
1339 |
+
if(!empty($params['action_params'])){
|
1340 |
+
// v3
|
1341 |
+
$return['action_response'] = $iwp_mmb_core->post_instance->create($params['action_params']);
|
1342 |
+
$return['additional_response']['additional_posts'] = $iwp_mmb_core->post_instance->get_posts($params['additional_params']);
|
1343 |
+
$return['additional_response']['additional_pages'] = $iwp_mmb_core->post_instance->get_pages($params['additional_params']);
|
1344 |
+
if (is_int($return['action_response']))
|
1345 |
iwp_mmb_response($return, true);
|
1346 |
else{
|
1347 |
+
if(isset($return['action_response']['error'])){
|
1348 |
+
iwp_mmb_response($return['action_response'], false);
|
1349 |
} else {
|
1350 |
+
iwp_mmb_response($return['action_response'], false);
|
1351 |
+
}
|
1352 |
+
}
|
1353 |
+
|
1354 |
+
}else{
|
1355 |
+
// V2
|
1356 |
+
$return = $iwp_mmb_core->post_instance->create($params);
|
1357 |
+
if (is_int($return))
|
1358 |
+
iwp_mmb_response($return, true);
|
1359 |
+
else{
|
1360 |
+
if(isset($return['error'])){
|
1361 |
+
iwp_mmb_response($return, false);
|
1362 |
+
} else {
|
1363 |
+
iwp_mmb_response($return, false);
|
1364 |
+
}
|
1365 |
}
|
1366 |
}
|
1367 |
+
|
1368 |
}
|
1369 |
}
|
1370 |
|
1399 |
{
|
1400 |
global $iwp_mmb_core;
|
1401 |
$iwp_mmb_core->get_post_instance();
|
1402 |
+
if(!empty($params['additional_params'])){
|
1403 |
+
$return['action_response'] = $iwp_mmb_core->post_instance->delete_post($params['action_params']);
|
1404 |
+
$return['additional_response'] = $iwp_mmb_core->post_instance->get_posts($params['additional_params']);
|
1405 |
+
}else{
|
1406 |
$return = $iwp_mmb_core->post_instance->delete_post($params);
|
1407 |
+
}
|
1408 |
if (is_array($return) && array_key_exists('error', $return))
|
1409 |
iwp_mmb_response($return, false);
|
1410 |
else {
|
1418 |
{
|
1419 |
global $iwp_mmb_core;
|
1420 |
$iwp_mmb_core->get_post_instance();
|
1421 |
+
if(!empty($params['action_params'])){
|
1422 |
+
$return['action_response'] = $iwp_mmb_core->post_instance->delete_posts($params['action_params']);
|
1423 |
+
$return['additional_response']['additional_posts'] = $iwp_mmb_core->post_instance->get_posts($params['additional_params']);
|
1424 |
+
$return['additional_response']['additional_pages'] = $iwp_mmb_core->post_instance->get_pages($params['additional_params']);
|
1425 |
+
}else{
|
1426 |
$return = $iwp_mmb_core->post_instance->delete_posts($params);
|
1427 |
+
}
|
1428 |
if (is_array($return) && array_key_exists('error', $return))
|
1429 |
iwp_mmb_response($return, false);
|
1430 |
else {
|
1463 |
{
|
1464 |
global $iwp_mmb_core;
|
1465 |
$iwp_mmb_core->get_post_instance();
|
1466 |
+
if(!empty($params['action_params'])){
|
1467 |
+
$return['action_response'] = $iwp_mmb_core->post_instance->delete_page($params['action_params']);
|
1468 |
+
$return['additional_response'] = $iwp_mmb_core->post_instance->get_pages($params['additional_params']);
|
1469 |
+
}else{
|
1470 |
$return = $iwp_mmb_core->post_instance->delete_page($params);
|
1471 |
+
}
|
1472 |
if (is_array($return) && array_key_exists('error', $return))
|
1473 |
iwp_mmb_response($return, false);
|
1474 |
else {
|
1498 |
{
|
1499 |
global $iwp_mmb_core;
|
1500 |
$iwp_mmb_core->get_link_instance();
|
1501 |
+
if(!empty($params['action_params'])){
|
1502 |
+
$return['action_response'] = $iwp_mmb_core->link_instance->add_link($params['action_params']);
|
1503 |
+
$return['additional_response'] = $iwp_mmb_core->link_instance->get_links($params['additional_params']);
|
1504 |
+
}else{
|
1505 |
$return = $iwp_mmb_core->link_instance->add_link($params);
|
1506 |
+
}
|
1507 |
if (is_array($return) && array_key_exists('error', $return)){
|
1508 |
iwp_mmb_response($return, false);
|
1509 |
}
|
1519 |
{
|
1520 |
global $iwp_mmb_core;
|
1521 |
$iwp_mmb_core->get_link_instance();
|
1522 |
+
if(!empty($params['action_params'])){
|
1523 |
+
$return['action_response'] = $iwp_mmb_core->link_instance->delete_link($params['action_params']);
|
1524 |
+
$return['additional_response'] = $iwp_mmb_core->link_instance->get_links($params['additional_params']);
|
1525 |
+
}else{
|
1526 |
$return = $iwp_mmb_core->link_instance->delete_link($params);
|
1527 |
+
}
|
1528 |
if (is_array($return) && array_key_exists('error', $return)){
|
1529 |
iwp_mmb_response($return, false);
|
1530 |
}
|
1539 |
{
|
1540 |
global $iwp_mmb_core;
|
1541 |
$iwp_mmb_core->get_link_instance();
|
1542 |
+
if(!empty($params['action_params'])){
|
1543 |
+
$return['action_response'] = $iwp_mmb_core->link_instance->delete_links($params['action_params']);
|
1544 |
+
$return['additional_response'] = $iwp_mmb_core->link_instance->get_links($params['additional_params']);
|
1545 |
+
}else{
|
1546 |
$return = $iwp_mmb_core->link_instance->delete_links($params);
|
1547 |
+
}
|
1548 |
if (is_array($return) && array_key_exists('error', $return)){
|
1549 |
iwp_mmb_response($return, false);
|
1550 |
}
|
3170 |
|
3171 |
function iwp_mmb_set_plugin_priority()
|
3172 |
{
|
3173 |
+
$activePlugins = get_option('active_plugins');
|
3174 |
$pluginBasename = 'iwp-client/init.php';
|
3175 |
+
$wptcPluginBasename = 'wp-time-capsule/wp-time-capsule.php';
|
3176 |
+
$array_slice = array_slice($activePlugins, 1, true);
|
3177 |
+
if (!is_array($activePlugins) || (reset($activePlugins) == $wptcPluginBasename && (reset($array_slice) == $pluginBasename))) {
|
3178 |
return;
|
3179 |
}
|
3180 |
|
3181 |
$iwpKey = array_search($pluginBasename, $activePlugins);
|
3182 |
+
$wptcKey = array_search($wptcPluginBasename, $activePlugins);
|
3183 |
+
if ($iwpKey == false && $wptcKey == false) {
|
3184 |
return;
|
3185 |
+
}elseif ($iwpKey == false) {
|
3186 |
+
return;
|
3187 |
+
}elseif ($iwpKey == true && $wptcKey == false) {
|
3188 |
+
unset($activePlugins[$iwpKey]);
|
3189 |
+
array_unshift($activePlugins, $pluginBasename);
|
3190 |
+
update_option('active_plugins', array_values($activePlugins));
|
3191 |
+
return;
|
3192 |
}
|
|
|
3193 |
unset($activePlugins[$iwpKey]);
|
3194 |
+
unset($activePlugins[$wptcKey]);
|
3195 |
array_unshift($activePlugins, $pluginBasename);
|
3196 |
+
array_unshift($activePlugins, $wptcPluginBasename);
|
3197 |
+
|
3198 |
update_option('active_plugins', array_values($activePlugins));
|
3199 |
}
|
3200 |
|
lib/amazon/s3IWPBackup.php
CHANGED
@@ -661,6 +661,12 @@ class IWP_MMB_S3_SINGLECALL extends IWP_MMB_Backup_Multicall
|
|
661 |
$as3_file = $as3_directory . '/' . basename($backup_file);
|
662 |
}
|
663 |
try{
|
|
|
|
|
|
|
|
|
|
|
|
|
664 |
if (empty($as3_bucket_region)) {
|
665 |
$s3 = S3Client::factory(array(
|
666 |
'key' => trim($as3_access_key),
|
661 |
$as3_file = $as3_directory . '/' . basename($backup_file);
|
662 |
}
|
663 |
try{
|
664 |
+
if (empty($as3_bucket_region)) {
|
665 |
+
require_once($GLOBALS['iwp_mmb_plugin_dir']."/lib/S3.php");
|
666 |
+
$s3 = new IWP_MMB_S3(trim($as3_access_key), trim(str_replace(' ', '+', $as3_secure_key)), false, 's3.amazonaws.com');
|
667 |
+
$as3_bucket_region = $s3->getBucketLocationNew($as3_bucket);
|
668 |
+
if (empty($as3_bucket_region) && false !== $as3_bucket_region) $as3_bucket_region = null;
|
669 |
+
}
|
670 |
if (empty($as3_bucket_region)) {
|
671 |
$s3 = S3Client::factory(array(
|
672 |
'key' => trim($as3_access_key),
|
readme.txt
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
Contributors: infinitewp
|
3 |
Tags: admin, administration, amazon, api, authentication, automatic, dashboard, dropbox, events, integration, manage, multisite, multiple, notification, performance, s3, security, seo, stats, tracking, infinitewp, updates, backup, restore, iwp, infinite
|
4 |
Requires at least: 3.1
|
5 |
-
Tested up to: 5.
|
6 |
Stable tag: trunk
|
7 |
|
8 |
Install this plugin on unlimited sites and manage them all from a central dashboard.
|
@@ -47,6 +47,15 @@ Credits: [Vladimir Prelovac](http://prelovac.com/vladimir) for his worker plugin
|
|
47 |
5. One-click updates
|
48 |
|
49 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
= 1.9.4.1 - July 25th 2019 =
|
51 |
* Feature: Full Support for Multisite Installations.
|
52 |
* Feature: SSH support - You can use your SSH keys to backup your WordPress sites.
|
2 |
Contributors: infinitewp
|
3 |
Tags: admin, administration, amazon, api, authentication, automatic, dashboard, dropbox, events, integration, manage, multisite, multiple, notification, performance, s3, security, seo, stats, tracking, infinitewp, updates, backup, restore, iwp, infinite
|
4 |
Requires at least: 3.1
|
5 |
+
Tested up to: 5.3.1
|
6 |
Stable tag: trunk
|
7 |
|
8 |
Install this plugin on unlimited sites and manage them all from a central dashboard.
|
47 |
5. One-click updates
|
48 |
|
49 |
== Changelog ==
|
50 |
+
= 1.9.4.4 - Dec 17th 2019 =
|
51 |
+
* Improvement: Implemented a new method to fetch database details for the following operations. Restore, same server staging and existing site cloning.
|
52 |
+
* Improvement: Support for V3 PPL addon.
|
53 |
+
* Improvement: Now, the WPTC plugin gets a higher priority than the IWP client plugin.
|
54 |
+
* Fix: File uploader throws a fatal error if the selected folder doesn't have permission to upload.
|
55 |
+
* Fix: Error: "Failed to upload to Amazon S3. Please check your details and set Managed Policies on your users to AmazonS3FullAccess" while backing up the site to s3 bucket using the single call method.
|
56 |
+
* Fix: With the Phoenix method, Backups are shown as completed if the backup folder does not have write permission.
|
57 |
+
* Fix: iwp-restore-log.txt file excluded in the multicall and single call method backups.
|
58 |
+
|
59 |
= 1.9.4.1 - July 25th 2019 =
|
60 |
* Feature: Full Support for Multisite Installations.
|
61 |
* Feature: SSH support - You can use your SSH keys to backup your WordPress sites.
|