Version Description
- May 2nd 2017 =
- Improvement: JSON communication implementation between Admin Panel and Client plugin has been completed.
- Improvement: Unwanted files and folders will be automatically excluded from backups.
- Improvement: Few unwanted folders have been excluded from the list of folders to be backed up.
- Fix: When cloud upload fails during backup, the copy is retained on the server instead of being deleted.
- Fix: The backup process would generate the warning "PHP Warning: fclose(): supplied resource is not a valid stream resource in /home/heidihic/public_html/wp-content/plugins/iwp-client/lib/amazon/s3IWPBackup.php on line 310" during multi-call backups.
Download this release
Release Info
Developer | infinitewp |
Plugin | InfiniteWP Client |
Version | 1.6.4 |
Comparing to | |
See all releases |
Code changes from version 1.6.3.2 to 1.6.4
- backup.class.multicall.php +110 -17
- backup.class.singlecall.php +60 -11
- init.php +7 -13
- lib/amazon/s3IWPBackup.php +1 -1
- readme.txt +8 -1
backup.class.multicall.php
CHANGED
@@ -191,7 +191,7 @@ class IWP_MMB_Backup_Multicall extends IWP_MMB_Core
|
|
191 |
if(!empty($params))
|
192 |
{
|
193 |
initialize_manual_debug();
|
194 |
-
|
195 |
$initialize_result = refresh_iwp_files_db();
|
196 |
if(is_array($initialize_result) && isset($initialize_result['error'])){
|
197 |
return $initialize_result;
|
@@ -994,10 +994,28 @@ class IWP_MMB_Backup_Multicall extends IWP_MMB_Core
|
|
994 |
|
995 |
|
996 |
//Always remove backup folders
|
997 |
-
|
998 |
trim(basename(WP_CONTENT_DIR)) . "/infinitewp/backups",
|
999 |
trim(basename(WP_CONTENT_DIR)) . "/" . md5('iwp_mmb-client') . "/iwp_backups",
|
1000 |
trim(basename(WP_CONTENT_DIR)) . "/cache",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1001 |
trim(basename(WP_CONTENT_DIR)) . "/w3tc",
|
1002 |
trim(basename(WP_CONTENT_DIR)) . "/logs",
|
1003 |
trim(basename(WP_CONTENT_DIR)) . "/widget_cache",
|
@@ -1006,8 +1024,39 @@ class IWP_MMB_Backup_Multicall extends IWP_MMB_Core
|
|
1006 |
trim(basename(WP_CONTENT_DIR)) . "/updraftplus",
|
1007 |
trim(basename(WP_CONTENT_DIR)) . "/backups",
|
1008 |
trim(basename(WP_CONTENT_DIR)) . "/uploads/wp-clone",
|
1009 |
-
trim(basename(WP_CONTENT_DIR)) . "/uploads/db-backup",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1010 |
trim(basename(WP_PLUGIN_DIR)) . "/cache",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1011 |
);
|
1012 |
manual_debug('', 'beforeExclude', 0);
|
1013 |
if((!empty($exclude_file_size))||(!empty($exclude_extensions)))
|
@@ -2308,7 +2357,7 @@ class IWP_MMB_Backup_Multicall extends IWP_MMB_Core
|
|
2308 |
return $fieldParams;
|
2309 |
}
|
2310 |
|
2311 |
-
function get_all_tasks(){
|
2312 |
/*global $wpdb;
|
2313 |
|
2314 |
$stats = array();
|
@@ -2331,16 +2380,20 @@ class IWP_MMB_Backup_Multicall extends IWP_MMB_Core
|
|
2331 |
$stats = array();
|
2332 |
$table_name = $wpdb->base_prefix . "iwp_backup_status";
|
2333 |
|
2334 |
-
$rows = $wpdb->get_results("SELECT ID, taskName, taskResults FROM ".$table_name." ORDER BY ID DESC", ARRAY_A);
|
2335 |
$this->cleanup_failed_backups($rows);
|
2336 |
$task_res = array();
|
2337 |
foreach($rows as $key => $value){
|
2338 |
$task_results = unserialize($value['taskResults']);
|
2339 |
-
|
2340 |
-
if(!empty($task_results['task_results']))
|
2341 |
-
|
2342 |
-
|
2343 |
-
|
|
|
|
|
|
|
|
|
2344 |
}
|
2345 |
}
|
2346 |
|
@@ -2372,6 +2425,13 @@ class IWP_MMB_Backup_Multicall extends IWP_MMB_Core
|
|
2372 |
$deleteRes = $wpdb->query($delete_query);
|
2373 |
}
|
2374 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2375 |
function get_this_tasks(){
|
2376 |
$this->wpdb_reconnect();
|
2377 |
|
@@ -4341,7 +4401,6 @@ function ftp_backup($historyID,$args = '')
|
|
4341 |
$result_arr['nextFunc'] = 'dropbox_backup';
|
4342 |
$result_arr['dropboxArgs'] = $tempArgs;
|
4343 |
$result_arr['current_file_num'] = $current_file_num;
|
4344 |
-
|
4345 |
//updating offset and uploadid values for relooping.
|
4346 |
$offset = isset($chunkResult['offset']) ? $chunkResult['offset'] : 0;
|
4347 |
$uploadid = isset($chunkResult['upload_id']) ? $chunkResult['upload_id'] : 0;
|
@@ -4362,6 +4421,7 @@ function ftp_backup($historyID,$args = '')
|
|
4362 |
}
|
4363 |
else
|
4364 |
{
|
|
|
4365 |
$reloop = true;
|
4366 |
$chunkCount++;
|
4367 |
}
|
@@ -4410,6 +4470,26 @@ function ftp_backup($historyID,$args = '')
|
|
4410 |
|
4411 |
}
|
4412 |
catch (Exception $e) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4413 |
$this->_log($e->getMessage());
|
4414 |
return array(
|
4415 |
'error' => $e->getMessage(),
|
@@ -5722,7 +5802,8 @@ function ftp_backup($historyID,$args = '')
|
|
5722 |
function cleanup()
|
5723 |
{
|
5724 |
$tasks = $this->get_all_tasks(); //all backups task results array.
|
5725 |
-
|
|
|
5726 |
$backup_folder = WP_CONTENT_DIR . '/' . md5('iwp_mmb-client') . '/iwp_backups/';
|
5727 |
$backup_folder_new = IWP_BACKUP_DIR . '/';
|
5728 |
$backup_temp_folder = IWP_PCLZIP_TEMPORARY_DIR;
|
@@ -5765,23 +5846,32 @@ function ftp_backup($historyID,$args = '')
|
|
5765 |
|
5766 |
if (is_array($files) && count($files)) {
|
5767 |
$results = array();
|
|
|
|
|
5768 |
if (!empty($tasks)) {
|
5769 |
-
foreach ((array) $tasks as $task) {
|
5770 |
//if (isset($task) && count($task)) {
|
5771 |
// foreach ($task as $backup) {
|
5772 |
if (isset($task['task_results']) && count($task['task_results'])) {
|
5773 |
-
foreach ($task['task_results'] as $backup) {
|
5774 |
if (isset($backup['server'])) {
|
5775 |
$this_backup_file = $backup['server']['file_path'];
|
5776 |
if(is_array($this_backup_file))
|
5777 |
{
|
5778 |
foreach($this_backup_file as $single_backup_file)
|
5779 |
-
{
|
|
|
|
|
|
|
5780 |
$results[] = $single_backup_file;
|
5781 |
}
|
5782 |
}
|
5783 |
else
|
5784 |
{
|
|
|
|
|
|
|
|
|
5785 |
$results[] = $this_backup_file;
|
5786 |
}
|
5787 |
}
|
@@ -5790,15 +5880,18 @@ function ftp_backup($historyID,$args = '')
|
|
5790 |
}
|
5791 |
}
|
5792 |
$num_deleted = 0;
|
5793 |
-
|
5794 |
foreach ($files as $file) {
|
5795 |
-
if (!in_array($file, $results) && basename($file) != 'index.php') {
|
5796 |
@unlink($file);
|
5797 |
//$deleted[] = basename($file);
|
5798 |
$deleted[] = $file;
|
5799 |
$num_deleted++;
|
5800 |
}
|
5801 |
}
|
|
|
|
|
|
|
|
|
5802 |
}
|
5803 |
return $deleted;
|
5804 |
}
|
191 |
if(!empty($params))
|
192 |
{
|
193 |
initialize_manual_debug();
|
194 |
+
$this->cleanup();
|
195 |
$initialize_result = refresh_iwp_files_db();
|
196 |
if(is_array($initialize_result) && isset($initialize_result['error'])){
|
197 |
return $initialize_result;
|
994 |
|
995 |
|
996 |
//Always remove backup folders
|
997 |
+
$remove = array(
|
998 |
trim(basename(WP_CONTENT_DIR)) . "/infinitewp/backups",
|
999 |
trim(basename(WP_CONTENT_DIR)) . "/" . md5('iwp_mmb-client') . "/iwp_backups",
|
1000 |
trim(basename(WP_CONTENT_DIR)) . "/cache",
|
1001 |
+
trim(basename(WP_CONTENT_DIR)) . "/managewp/backups",
|
1002 |
+
trim(basename(WP_CONTENT_DIR)) . "/backupwordpress",
|
1003 |
+
trim(basename(WP_CONTENT_DIR)) . "/contents/cache",
|
1004 |
+
trim(basename(WP_CONTENT_DIR)) . "/content/cache",
|
1005 |
+
trim(basename(WP_CONTENT_DIR)) . "/old-cache",
|
1006 |
+
trim(basename(WP_CONTENT_DIR)) . "/cmscommander/backups",
|
1007 |
+
trim(basename(WP_CONTENT_DIR)) . "/gt-cache",
|
1008 |
+
trim(basename(WP_CONTENT_DIR)) . "/wfcache",
|
1009 |
+
trim(basename(WP_CONTENT_DIR)) . "/bps-backup",
|
1010 |
+
trim(basename(WP_CONTENT_DIR)) . "/old-cache",
|
1011 |
+
trim(basename(WP_CONTENT_DIR)) . "/nfwlog",
|
1012 |
+
trim(basename(WP_CONTENT_DIR)) . "/upgrade",
|
1013 |
+
trim(basename(WP_CONTENT_DIR)) . "/nfwlog",
|
1014 |
+
trim(basename(WP_CONTENT_DIR)) . "/wflogs",
|
1015 |
+
trim(basename(WP_CONTENT_DIR)) . "/debug.log",
|
1016 |
+
trim(basename(WP_CONTENT_DIR)) . "/wptouch-data/infinity-cache/",
|
1017 |
+
trim(basename(WP_CONTENT_DIR)) . "/mysql.sql",
|
1018 |
+
trim(basename(WP_CONTENT_DIR)) . "/wishlist-backup",
|
1019 |
trim(basename(WP_CONTENT_DIR)) . "/w3tc",
|
1020 |
trim(basename(WP_CONTENT_DIR)) . "/logs",
|
1021 |
trim(basename(WP_CONTENT_DIR)) . "/widget_cache",
|
1024 |
trim(basename(WP_CONTENT_DIR)) . "/updraftplus",
|
1025 |
trim(basename(WP_CONTENT_DIR)) . "/backups",
|
1026 |
trim(basename(WP_CONTENT_DIR)) . "/uploads/wp-clone",
|
1027 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/uploads/db-backup",
|
1028 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/ithemes-security/backups",
|
1029 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/mainwp/backup",
|
1030 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/backupbuddy_backups",
|
1031 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/vcf",
|
1032 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/pb_backupbuddy",
|
1033 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/sucuri",
|
1034 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/aiowps_backups",
|
1035 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/mainwp",
|
1036 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/snapshots",
|
1037 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/wp_system",
|
1038 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/wpcf7_captcha",
|
1039 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/wc-logs",
|
1040 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/siteorigin-widgets",
|
1041 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/wp-hummingbird-cache",
|
1042 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/wp-security-audit-log",
|
1043 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/backwpup-12b462-backups",
|
1044 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/backwpup-12b462-logs",
|
1045 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/backwpup-12b462-temp",
|
1046 |
+
trim(basename(WP_CONTENT_DIR)) . "/Dropbox_Backup",
|
1047 |
trim(basename(WP_PLUGIN_DIR)) . "/cache",
|
1048 |
+
"wp-admin/error_log",
|
1049 |
+
"wp-admin/php_errorlog",
|
1050 |
+
"error_log",
|
1051 |
+
"error.log",
|
1052 |
+
"debug.log",
|
1053 |
+
"WS_FTP.LOG",
|
1054 |
+
"security.log",
|
1055 |
+
"wp-tcapsule-bridge.zip",
|
1056 |
+
"dbcache",
|
1057 |
+
"pgcache",
|
1058 |
+
"objectcache",
|
1059 |
+
"wp-snapshots",
|
1060 |
);
|
1061 |
manual_debug('', 'beforeExclude', 0);
|
1062 |
if((!empty($exclude_file_size))||(!empty($exclude_extensions)))
|
2357 |
return $fieldParams;
|
2358 |
}
|
2359 |
|
2360 |
+
function get_all_tasks($isNeedRequestParams =false){
|
2361 |
/*global $wpdb;
|
2362 |
|
2363 |
$stats = array();
|
2380 |
$stats = array();
|
2381 |
$table_name = $wpdb->base_prefix . "iwp_backup_status";
|
2382 |
|
2383 |
+
$rows = $wpdb->get_results("SELECT ID, taskName, taskResults, requestParams FROM ".$table_name." ORDER BY ID DESC", ARRAY_A);
|
2384 |
$this->cleanup_failed_backups($rows);
|
2385 |
$task_res = array();
|
2386 |
foreach($rows as $key => $value){
|
2387 |
$task_results = unserialize($value['taskResults']);
|
2388 |
+
$requestParams = unserialize($value['requestParams']);
|
2389 |
+
if(!empty($task_results['task_results'])){
|
2390 |
+
foreach($task_results['task_results'] as $key => $data){
|
2391 |
+
if ($isNeedRequestParams===true && !empty($requestParams)) {
|
2392 |
+
$task_res[$value['taskName']]['requestParams'][$key] = $requestParams;
|
2393 |
+
}else{
|
2394 |
+
$task_res[$value['taskName']]['task_results'][$key] = $data;
|
2395 |
+
}
|
2396 |
+
}
|
2397 |
}
|
2398 |
}
|
2399 |
|
2425 |
$deleteRes = $wpdb->query($delete_query);
|
2426 |
}
|
2427 |
|
2428 |
+
function remove_failed_backups_by_hisID($ID){
|
2429 |
+
global $wpdb;
|
2430 |
+
$table_name = $wpdb->base_prefix . "iwp_backup_status";
|
2431 |
+
$delete_query = "DELETE FROM ".$table_name." WHERE historyID IN (".implode(', ', $ID).") ";
|
2432 |
+
$deleteRes = $wpdb->query($delete_query);
|
2433 |
+
}
|
2434 |
+
|
2435 |
function get_this_tasks(){
|
2436 |
$this->wpdb_reconnect();
|
2437 |
|
4401 |
$result_arr['nextFunc'] = 'dropbox_backup';
|
4402 |
$result_arr['dropboxArgs'] = $tempArgs;
|
4403 |
$result_arr['current_file_num'] = $current_file_num;
|
|
|
4404 |
//updating offset and uploadid values for relooping.
|
4405 |
$offset = isset($chunkResult['offset']) ? $chunkResult['offset'] : 0;
|
4406 |
$uploadid = isset($chunkResult['upload_id']) ? $chunkResult['upload_id'] : 0;
|
4421 |
}
|
4422 |
else
|
4423 |
{
|
4424 |
+
|
4425 |
$reloop = true;
|
4426 |
$chunkCount++;
|
4427 |
}
|
4470 |
|
4471 |
}
|
4472 |
catch (Exception $e) {
|
4473 |
+
if (preg_match("/Submitted input out of alignment: got \[(\d+)\] expected \[(\d+)\]/i", $e->getMessage(), $matches)) {
|
4474 |
+
// Try the indicated offset
|
4475 |
+
$we_tried = $matches[1];
|
4476 |
+
$offset = $matches[2];
|
4477 |
+
$chunkResult = $dropbox->chunked_upload($backup_file, $dropbox_destination, true, $uploadid, $offset, $readsize, $isCommit);
|
4478 |
+
$result_arr = array();
|
4479 |
+
$result_arr['response_data'] = $chunkResult;
|
4480 |
+
$result_arr['nextFunc'] = 'dropbox_backup';
|
4481 |
+
$result_arr['dropboxArgs'] = $tempArgs;
|
4482 |
+
$offset = isset($chunkResult['offset']) ? $chunkResult['offset'] : 0;
|
4483 |
+
$uploadid = isset($chunkResult['upload_id']) ? $chunkResult['upload_id'] : 0;
|
4484 |
+
$resArray = array (
|
4485 |
+
'backupParentHID' => $historyID,
|
4486 |
+
);
|
4487 |
+
$result_arr['nextFunc'] = 'dropbox_backup';
|
4488 |
+
$result_arr['current_file_num'] = $current_file_num;
|
4489 |
+
$result_arr['status'] = 'partiallyCompleted';
|
4490 |
+
$this->statusLog($historyID, array('stage' => 'dropboxMultiCall', 'status' => 'completed', 'statusMsg' => 'nextCall','nextFunc' => 'dropbox_backup', 'task_result' => $task_result, 'responseParams' => $result_arr));
|
4491 |
+
return $resArray;
|
4492 |
+
}
|
4493 |
$this->_log($e->getMessage());
|
4494 |
return array(
|
4495 |
'error' => $e->getMessage(),
|
5802 |
function cleanup()
|
5803 |
{
|
5804 |
$tasks = $this->get_all_tasks(); //all backups task results array.
|
5805 |
+
$requestParams = $this->get_all_tasks(true);
|
5806 |
+
$thisTask = $this->get_this_tasks();
|
5807 |
$backup_folder = WP_CONTENT_DIR . '/' . md5('iwp_mmb-client') . '/iwp_backups/';
|
5808 |
$backup_folder_new = IWP_BACKUP_DIR . '/';
|
5809 |
$backup_temp_folder = IWP_PCLZIP_TEMPORARY_DIR;
|
5846 |
|
5847 |
if (is_array($files) && count($files)) {
|
5848 |
$results = array();
|
5849 |
+
$cloudFailedBackup = array();
|
5850 |
+
$failedBackupHisID = array();
|
5851 |
if (!empty($tasks)) {
|
5852 |
+
foreach ((array) $tasks as $taskName => $task) {
|
5853 |
//if (isset($task) && count($task)) {
|
5854 |
// foreach ($task as $backup) {
|
5855 |
if (isset($task['task_results']) && count($task['task_results'])) {
|
5856 |
+
foreach ($task['task_results'] as $historyID => $backup) {
|
5857 |
if (isset($backup['server'])) {
|
5858 |
$this_backup_file = $backup['server']['file_path'];
|
5859 |
if(is_array($this_backup_file))
|
5860 |
{
|
5861 |
foreach($this_backup_file as $single_backup_file)
|
5862 |
+
{ if (!empty($requestParams[$taskName]['requestParams'][$historyID]['account_info']) && $thisTask['historyID'] != $historyID) {
|
5863 |
+
$cloudFailedBackup[]= $single_backup_file;
|
5864 |
+
$failedBackupHisID[$historyID]=$historyID;
|
5865 |
+
}
|
5866 |
$results[] = $single_backup_file;
|
5867 |
}
|
5868 |
}
|
5869 |
else
|
5870 |
{
|
5871 |
+
if (!empty($requestParams[$taskName]['requestParams'][$historyID]['account_info']) && $thisTask['historyID'] != $historyID) {
|
5872 |
+
$cloudFailedBackup[]= $this_backup_file;
|
5873 |
+
$failedBackupHisID[$historyID]=$historyID;
|
5874 |
+
}
|
5875 |
$results[] = $this_backup_file;
|
5876 |
}
|
5877 |
}
|
5880 |
}
|
5881 |
}
|
5882 |
$num_deleted = 0;
|
|
|
5883 |
foreach ($files as $file) {
|
5884 |
+
if ((!in_array($file, $results) || in_array($file, $failedBackupHisID)) && basename($file) != 'index.php') {
|
5885 |
@unlink($file);
|
5886 |
//$deleted[] = basename($file);
|
5887 |
$deleted[] = $file;
|
5888 |
$num_deleted++;
|
5889 |
}
|
5890 |
}
|
5891 |
+
|
5892 |
+
if (!empty($failedBackupHisID)) {
|
5893 |
+
$this->remove_failed_backups_by_hisID($failedBackupHisID);
|
5894 |
+
}
|
5895 |
}
|
5896 |
return $deleted;
|
5897 |
}
|
backup.class.singlecall.php
CHANGED
@@ -544,17 +544,66 @@ function delete_task_now($task_name){
|
|
544 |
$remove = array(
|
545 |
trim(basename(WP_CONTENT_DIR)) . "/infinitewp/backups",
|
546 |
trim(basename(WP_CONTENT_DIR)) . "/" . md5('iwp_mmb-client') . "/iwp_backups",
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
558 |
);
|
559 |
|
560 |
//removing files which are larger than the specified size
|
544 |
$remove = array(
|
545 |
trim(basename(WP_CONTENT_DIR)) . "/infinitewp/backups",
|
546 |
trim(basename(WP_CONTENT_DIR)) . "/" . md5('iwp_mmb-client') . "/iwp_backups",
|
547 |
+
trim(basename(WP_CONTENT_DIR)) . "/cache",
|
548 |
+
trim(basename(WP_CONTENT_DIR)) . "/managewp/backups",
|
549 |
+
trim(basename(WP_CONTENT_DIR)) . "/backupwordpress",
|
550 |
+
trim(basename(WP_CONTENT_DIR)) . "/contents/cache",
|
551 |
+
trim(basename(WP_CONTENT_DIR)) . "/content/cache",
|
552 |
+
trim(basename(WP_CONTENT_DIR)) . "/old-cache",
|
553 |
+
trim(basename(WP_CONTENT_DIR)) . "/cmscommander/backups",
|
554 |
+
trim(basename(WP_CONTENT_DIR)) . "/gt-cache",
|
555 |
+
trim(basename(WP_CONTENT_DIR)) . "/wfcache",
|
556 |
+
trim(basename(WP_CONTENT_DIR)) . "/bps-backup",
|
557 |
+
trim(basename(WP_CONTENT_DIR)) . "/old-cache",
|
558 |
+
trim(basename(WP_CONTENT_DIR)) . "/nfwlog",
|
559 |
+
trim(basename(WP_CONTENT_DIR)) . "/upgrade",
|
560 |
+
trim(basename(WP_CONTENT_DIR)) . "/nfwlog",
|
561 |
+
trim(basename(WP_CONTENT_DIR)) . "/wflogs",
|
562 |
+
trim(basename(WP_CONTENT_DIR)) . "/debug.log",
|
563 |
+
trim(basename(WP_CONTENT_DIR)) . "/wptouch-data/infinity-cache/",
|
564 |
+
trim(basename(WP_CONTENT_DIR)) . "/mysql.sql",
|
565 |
+
trim(basename(WP_CONTENT_DIR)) . "/wishlist-backup",
|
566 |
+
trim(basename(WP_CONTENT_DIR)) . "/w3tc",
|
567 |
+
trim(basename(WP_CONTENT_DIR)) . "/logs",
|
568 |
+
trim(basename(WP_CONTENT_DIR)) . "/widget_cache",
|
569 |
+
trim(basename(WP_CONTENT_DIR)) . "/tmp",
|
570 |
+
trim(basename(WP_CONTENT_DIR)) . "/updraft",
|
571 |
+
trim(basename(WP_CONTENT_DIR)) . "/updraftplus",
|
572 |
+
trim(basename(WP_CONTENT_DIR)) . "/backups",
|
573 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/wp-clone",
|
574 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/uploads/db-backup",
|
575 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/ithemes-security/backups",
|
576 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/mainwp/backup",
|
577 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/backupbuddy_backups",
|
578 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/vcf",
|
579 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/pb_backupbuddy",
|
580 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/sucuri",
|
581 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/aiowps_backups",
|
582 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/mainwp",
|
583 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/snapshots",
|
584 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/wp_system",
|
585 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/wpcf7_captcha",
|
586 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/wc-logs",
|
587 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/siteorigin-widgets",
|
588 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/wp-hummingbird-cache",
|
589 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/wp-security-audit-log",
|
590 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/backwpup-12b462-backups",
|
591 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/backwpup-12b462-logs",
|
592 |
+
trim(basename(WP_CONTENT_DIR)) . "/uploads/backwpup-12b462-temp",
|
593 |
+
trim(basename(WP_CONTENT_DIR)) . "/Dropbox_Backup",
|
594 |
+
trim(basename(WP_PLUGIN_DIR)) . "/cache",
|
595 |
+
"wp-admin/error_log",
|
596 |
+
"wp-admin/php_errorlog",
|
597 |
+
"error_log",
|
598 |
+
"error.log",
|
599 |
+
"debug.log",
|
600 |
+
"WS_FTP.LOG",
|
601 |
+
"security.log",
|
602 |
+
"wp-tcapsule-bridge.zip",
|
603 |
+
"dbcache",
|
604 |
+
"pgcache",
|
605 |
+
"objectcache",
|
606 |
+
"wp-snapshots",
|
607 |
);
|
608 |
|
609 |
//removing files which are larger than the specified size
|
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.6.
|
8 |
Author URI: http://www.revmakx.com
|
9 |
*/
|
10 |
/************************************************************
|
@@ -28,7 +28,7 @@ if(basename($_SERVER['SCRIPT_FILENAME']) == "init.php"):
|
|
28 |
exit;
|
29 |
endif;
|
30 |
if(!defined('IWP_MMB_CLIENT_VERSION'))
|
31 |
-
define('IWP_MMB_CLIENT_VERSION', '1.6.
|
32 |
|
33 |
|
34 |
|
@@ -108,28 +108,22 @@ if( !function_exists ('iwp_mmb_parse_request')) {
|
|
108 |
$request_data_array = explode('_IWP_JSON_PREFIX_', $HTTP_RAW_POST_DATA_LOCAL);
|
109 |
$request_raw_data = $request_data_array[1];
|
110 |
$data = trim(base64_decode($request_raw_data));
|
111 |
-
$request_data = NULL;
|
112 |
$GLOBALS['IWP_JSON_COMMUNICATION'] = 1;
|
113 |
-
}
|
114 |
$request_raw_data = $HTTP_RAW_POST_DATA_LOCAL;
|
115 |
$data = trim(base64_decode($request_raw_data));
|
116 |
if (is_serialized($data)) {
|
117 |
-
|
118 |
-
$request_data = iwp_mmb_safe_unserialize($data);
|
119 |
-
}else{
|
120 |
-
iwp_mmb_response(array('error' => 'Please update your IWP Admin Panel to version 2.10.1', 'error_code' => 'update_panel'), false, true);
|
121 |
-
}
|
122 |
}else{
|
123 |
return false;
|
124 |
}
|
125 |
}
|
|
|
126 |
if ($data){
|
127 |
|
128 |
//$num = @extract(unserialize($data));
|
129 |
-
|
130 |
-
|
131 |
-
}
|
132 |
-
|
133 |
if(isset($request_data['params'])){
|
134 |
$request_data['params'] = iwp_mmb_filter_params($request_data['params']);
|
135 |
}
|
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.6.4
|
8 |
Author URI: http://www.revmakx.com
|
9 |
*/
|
10 |
/************************************************************
|
28 |
exit;
|
29 |
endif;
|
30 |
if(!defined('IWP_MMB_CLIENT_VERSION'))
|
31 |
+
define('IWP_MMB_CLIENT_VERSION', '1.6.4');
|
32 |
|
33 |
|
34 |
|
108 |
$request_data_array = explode('_IWP_JSON_PREFIX_', $HTTP_RAW_POST_DATA_LOCAL);
|
109 |
$request_raw_data = $request_data_array[1];
|
110 |
$data = trim(base64_decode($request_raw_data));
|
|
|
111 |
$GLOBALS['IWP_JSON_COMMUNICATION'] = 1;
|
112 |
+
}else{
|
113 |
$request_raw_data = $HTTP_RAW_POST_DATA_LOCAL;
|
114 |
$data = trim(base64_decode($request_raw_data));
|
115 |
if (is_serialized($data)) {
|
116 |
+
iwp_mmb_response(array('error' => 'Please update your IWP Admin Panel to latest version', 'error_code' => 'update_panel'), false, true);
|
|
|
|
|
|
|
|
|
117 |
}else{
|
118 |
return false;
|
119 |
}
|
120 |
}
|
121 |
+
|
122 |
if ($data){
|
123 |
|
124 |
//$num = @extract(unserialize($data));
|
125 |
+
$request_data = json_decode($data, true);
|
126 |
+
|
|
|
|
|
127 |
if(isset($request_data['params'])){
|
128 |
$request_data['params'] = iwp_mmb_filter_params($request_data['params']);
|
129 |
}
|
lib/amazon/s3IWPBackup.php
CHANGED
@@ -307,7 +307,7 @@ class IWP_MMB_S3_MULTICALL extends IWP_MMB_Backup_Multicall
|
|
307 |
$partNumber++;
|
308 |
}
|
309 |
}
|
310 |
-
fclose($file);
|
311 |
}
|
312 |
catch (S3Exception $e) {
|
313 |
$this->statusLog($this -> hisID, array('stage' => 's3MultiCall', 'status' => 'partiallyCompleted', 'statusMsg' => 'retracingValues','nextFunc' => 'amazons3_backup', 'task_result' => $task_result, 'responseParams' => $result_arr));
|
307 |
$partNumber++;
|
308 |
}
|
309 |
}
|
310 |
+
@fclose($file);
|
311 |
}
|
312 |
catch (S3Exception $e) {
|
313 |
$this->statusLog($this -> hisID, array('stage' => 's3MultiCall', 'status' => 'partiallyCompleted', 'statusMsg' => 'retracingValues','nextFunc' => 'amazons3_backup', 'task_result' => $task_result, 'responseParams' => $result_arr));
|
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: 4.7
|
6 |
Stable tag: trunk
|
7 |
|
8 |
Install this plugin on unlimited sites and manage them all from a central dashboard.
|
@@ -47,6 +47,13 @@ Credits: [Vladimir Prelovac](http://prelovac.com/vladimir) for his worker plugin
|
|
47 |
5. One-click updates
|
48 |
|
49 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
= 1.6.3.2 - Jan 4th 2017 =
|
51 |
* Improvement: JSON communication between Admin Panel and Client plugin has been implemented.
|
52 |
* Improvement: If the PHP version of WordPress site is less than 5.4.0 then the single call backups will fail with "Fatal error: Cannot use string offset as an array in /home/asogerb6/public_html/wp-content/plugins/iwp-client/backup.class.singlecall.php on line 340".
|
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: 4.7.4
|
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.6.4 - May 2nd 2017 =
|
51 |
+
* Improvement: JSON communication implementation between Admin Panel and Client plugin has been completed.
|
52 |
+
* Improvement: Unwanted files and folders will be automatically excluded from backups.
|
53 |
+
* Improvement: Few unwanted folders have been excluded from the list of folders to be backed up.
|
54 |
+
* Fix: When cloud upload fails during backup, the copy is retained on the server instead of being deleted.
|
55 |
+
* Fix: The backup process would generate the warning "PHP Warning: fclose(): supplied resource is not a valid stream resource in /home/heidihic/public_html/wp-content/plugins/iwp-client/lib/amazon/s3IWPBackup.php on line 310" during multi-call backups.
|
56 |
+
|
57 |
= 1.6.3.2 - Jan 4th 2017 =
|
58 |
* Improvement: JSON communication between Admin Panel and Client plugin has been implemented.
|
59 |
* Improvement: If the PHP version of WordPress site is less than 5.4.0 then the single call backups will fail with "Fatal error: Cannot use string offset as an array in /home/asogerb6/public_html/wp-content/plugins/iwp-client/backup.class.singlecall.php on line 340".
|