InfiniteWP Client - Version 1.9.4.4

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 Icon 128x128 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 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
- $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)."%'))";
97
- $where.=" AND (link_name LIKE '%".esc_sql($filter_links)."%' OR link_url LIKE '%".esc_sql($filter_links)."%'".$cus_sql.")";
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','draft') LIMIT 1";
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.1
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.1');
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
- $return = $iwp_mmb_core->post_instance->create($params);
1302
- if (is_int($return))
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
- $activePlugins = get_option('active_plugins');
3092
-
3093
- if (reset($activePlugins) === $pluginBasename) {
3094
return;
3095
}
3096
3097
$iwpKey = array_search($pluginBasename, $activePlugins);
3098
-
3099
- if ($iwpKey === false) {
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.2.2
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.