All-in-One WP Migration - Version 6.75

Version Description

Download this release

Release Info

Developer bangelov
Plugin Icon 128x128 All-in-One WP Migration
Version 6.75
Comparing to
See all releases

Code changes from version 6.74 to 6.75

all-in-one-wp-migration.php CHANGED
@@ -5,7 +5,7 @@
5
* Description: Migration tool for all your blog data. Import or Export your blog content with a single click.
6
* Author: ServMask
7
* Author URI: https://servmask.com/
8
- * Version: 6.74
9
* Text Domain: all-in-one-wp-migration
10
* Domain Path: /languages
11
* Network: True
5
* Description: Migration tool for all your blog data. Import or Export your blog content with a single click.
6
* Author: ServMask
7
* Author URI: https://servmask.com/
8
+ * Version: 6.75
9
* Text Domain: all-in-one-wp-migration
10
* Domain Path: /languages
11
* Network: True
constants.php CHANGED
@@ -31,7 +31,7 @@ define( 'AI1WM_DEBUG', false );
31
// ==================
32
// = Plugin Version =
33
// ==================
34
- define( 'AI1WM_VERSION', '6.74' );
35
36
// ===============
37
// = Plugin Name =
31
// ==================
32
// = Plugin Version =
33
// ==================
34
+ define( 'AI1WM_VERSION', '6.75' );
35
36
// ===============
37
// = Plugin Name =
lib/controller/class-ai1wm-main-controller.php CHANGED
@@ -840,7 +840,7 @@ class Ai1wm_Main_Controller {
840
),
841
) );
842
843
- wp_localize_script( 'ai1wm_backups', 'ai1wm_locale', array(
844
'check_for_updates' => __( 'Check for updates', AI1WM_PLUGIN_NAME ),
845
'invalid_purchase_id' => __( 'Your purchase ID is invalid, please <a href="mailto:support@servmask.com">contact us</a>', AI1WM_PLUGIN_NAME ),
846
) );
840
),
841
) );
842
843
+ wp_localize_script( 'ai1wm_updater', 'ai1wm_locale', array(
844
'check_for_updates' => __( 'Check for updates', AI1WM_PLUGIN_NAME ),
845
'invalid_purchase_id' => __( 'Your purchase ID is invalid, please <a href="mailto:support@servmask.com">contact us</a>', AI1WM_PLUGIN_NAME ),
846
) );
lib/model/class-ai1wm-extensions.php CHANGED
@@ -148,7 +148,7 @@ class Ai1wm_Extensions {
148
'about' => AI1WMME_PLUGIN_ABOUT,
149
'basename' => AI1WMME_PLUGIN_BASENAME,
150
'version' => AI1WMME_VERSION,
151
- 'requires' => '3.56',
152
'short' => AI1WMME_PLUGIN_SHORT,
153
);
154
}
148
'about' => AI1WMME_PLUGIN_ABOUT,
149
'basename' => AI1WMME_PLUGIN_BASENAME,
150
'version' => AI1WMME_VERSION,
151
+ 'requires' => '3.57',
152
'short' => AI1WMME_PLUGIN_SHORT,
153
);
154
}
lib/model/class-ai1wm-feedback.php CHANGED
@@ -40,7 +40,7 @@ class Ai1wm_Feedback {
40
41
// Submit feedback to ServMask
42
if ( empty( $type ) ) {
43
- $errors[] = __( 'Feedback type is invalid.', AI1WM_PLUGIN_NAME );
44
} elseif ( ! filter_var( $email, FILTER_VALIDATE_EMAIL ) ) {
45
$errors[] = __( 'Your email is not valid.', AI1WM_PLUGIN_NAME );
46
} elseif ( empty( $message ) ) {
40
41
// Submit feedback to ServMask
42
if ( empty( $type ) ) {
43
+ $errors[] = __( 'Feedback type is not valid.', AI1WM_PLUGIN_NAME );
44
} elseif ( ! filter_var( $email, FILTER_VALIDATE_EMAIL ) ) {
45
$errors[] = __( 'Your email is not valid.', AI1WM_PLUGIN_NAME );
46
} elseif ( empty( $message ) ) {
lib/model/export/class-ai1wm-export-config-file.php CHANGED
@@ -63,7 +63,7 @@ class Ai1wm_Export_Config_File {
63
$archive->set_file_pointer( $archive_bytes_offset );
64
65
// Add package.json to archive
66
- if ( $archive->add_file( ai1wm_package_path( $params ), AI1WM_PACKAGE_NAME, $package_bytes_written, $package_bytes_offset, 10 ) ) {
67
68
// Set progress
69
Ai1wm_Status::info( __( 'Done archiving configuration file.', AI1WM_PLUGIN_NAME ) );
63
$archive->set_file_pointer( $archive_bytes_offset );
64
65
// Add package.json to archive
66
+ if ( $archive->add_file( ai1wm_package_path( $params ), AI1WM_PACKAGE_NAME, $package_bytes_written, $package_bytes_offset ) ) {
67
68
// Set progress
69
Ai1wm_Status::info( __( 'Done archiving configuration file.', AI1WM_PLUGIN_NAME ) );
lib/model/export/class-ai1wm-export-content.php CHANGED
@@ -98,7 +98,7 @@ class Ai1wm_Export_Content {
98
$file_bytes_written = 0;
99
100
// Add file to archive
101
- if ( ( $completed = $archive->add_file( WP_CONTENT_DIR . DIRECTORY_SEPARATOR . $path, $path, $file_bytes_written, $file_bytes_offset, 10 ) ) ) {
102
$file_bytes_offset = 0;
103
104
// Get filemap bytes offset
@@ -115,9 +115,11 @@ class Ai1wm_Export_Content {
115
Ai1wm_Status::info( sprintf( __( 'Archiving %d files...<br />%d%% complete', AI1WM_PLUGIN_NAME ), $total_files_count, $progress ) );
116
117
// More than 10 seconds have passed, break and do another request
118
- if ( ( microtime( true ) - $start ) > 10 ) {
119
- $completed = false;
120
- break;
121
}
122
}
123
98
$file_bytes_written = 0;
99
100
// Add file to archive
101
+ if ( ( $completed = $archive->add_file( WP_CONTENT_DIR . DIRECTORY_SEPARATOR . $path, $path, $file_bytes_written, $file_bytes_offset ) ) ) {
102
$file_bytes_offset = 0;
103
104
// Get filemap bytes offset
115
Ai1wm_Status::info( sprintf( __( 'Archiving %d files...<br />%d%% complete', AI1WM_PLUGIN_NAME ), $total_files_count, $progress ) );
116
117
// More than 10 seconds have passed, break and do another request
118
+ if ( ( $timeout = apply_filters( 'ai1wm_completed_timeout', 10 ) ) ) {
119
+ if ( ( microtime( true ) - $start ) > $timeout ) {
120
+ $completed = false;
121
+ break;
122
+ }
123
}
124
}
125
lib/model/export/class-ai1wm-export-database-file.php CHANGED
@@ -68,7 +68,7 @@ class Ai1wm_Export_Database_File {
68
$archive->set_file_pointer( $archive_bytes_offset );
69
70
// Add database.sql to archive
71
- if ( $archive->add_file( ai1wm_database_path( $params ), AI1WM_DATABASE_NAME, $database_bytes_written, $database_bytes_offset, 10 ) ) {
72
73
// Set progress
74
Ai1wm_Status::info( __( 'Done archiving database.', AI1WM_PLUGIN_NAME ) );
68
$archive->set_file_pointer( $archive_bytes_offset );
69
70
// Add database.sql to archive
71
+ if ( $archive->add_file( ai1wm_database_path( $params ), AI1WM_DATABASE_NAME, $database_bytes_written, $database_bytes_offset ) ) {
72
73
// Set progress
74
Ai1wm_Status::info( __( 'Done archiving database.', AI1WM_PLUGIN_NAME ) );
lib/model/export/class-ai1wm-export-database.php CHANGED
@@ -133,7 +133,7 @@ class Ai1wm_Export_Database {
133
->set_table_prefix_columns( ai1wm_table_prefix() . 'usermeta', array( 'meta_key' ) );
134
135
// Export database
136
- if ( $mysql->export( ai1wm_database_path( $params ), $table_index, $table_offset, 10 ) ) {
137
138
// Set progress
139
Ai1wm_Status::info( __( 'Done exporting database.', AI1WM_PLUGIN_NAME ) );
133
->set_table_prefix_columns( ai1wm_table_prefix() . 'usermeta', array( 'meta_key' ) );
134
135
// Export database
136
+ if ( $mysql->export( ai1wm_database_path( $params ), $table_index, $table_offset ) ) {
137
138
// Set progress
139
Ai1wm_Status::info( __( 'Done exporting database.', AI1WM_PLUGIN_NAME ) );
lib/model/import/class-ai1wm-import-content.php CHANGED
@@ -154,7 +154,7 @@ class Ai1wm_Import_Content {
154
) );
155
156
// Extract a file from archive to WP_CONTENT_DIR
157
- if ( ( $completed = $archive->extract_one_file_to( WP_CONTENT_DIR, $exclude_files, $old_paths, $new_paths, $file_bytes_written, $file_bytes_offset, 10 ) ) ) {
158
$file_bytes_offset = 0;
159
}
160
@@ -171,9 +171,11 @@ class Ai1wm_Import_Content {
171
Ai1wm_Status::info( sprintf( __( 'Restoring %d files...<br />%d%% complete', AI1WM_PLUGIN_NAME ), $total_files_count, $progress ) );
172
173
// More than 10 seconds have passed, break and do another request
174
- if ( ( microtime( true ) - $start ) > 10 ) {
175
- $completed = false;
176
- break;
177
}
178
}
179
154
) );
155
156
// Extract a file from archive to WP_CONTENT_DIR
157
+ if ( ( $completed = $archive->extract_one_file_to( WP_CONTENT_DIR, $exclude_files, $old_paths, $new_paths, $file_bytes_written, $file_bytes_offset ) ) ) {
158
$file_bytes_offset = 0;
159
}
160
171
Ai1wm_Status::info( sprintf( __( 'Restoring %d files...<br />%d%% complete', AI1WM_PLUGIN_NAME ), $total_files_count, $progress ) );
172
173
// More than 10 seconds have passed, break and do another request
174
+ if ( ( $timeout = apply_filters( 'ai1wm_completed_timeout', 10 ) ) ) {
175
+ if ( ( microtime( true ) - $start ) > $timeout ) {
176
+ $completed = false;
177
+ break;
178
+ }
179
}
180
}
181
lib/model/import/class-ai1wm-import-database.php CHANGED
@@ -709,7 +709,7 @@ class Ai1wm_Import_Database {
709
$mysql->set_visual_composer( ! is_wp_error( validate_plugin( 'js_composer/js_composer.php' ) ) );
710
711
// Import database
712
- if ( $mysql->import( ai1wm_database_path( $params ), $query_offset, 10 ) ) {
713
714
// Set progress
715
Ai1wm_Status::info( __( 'Done restoring database.', AI1WM_PLUGIN_NAME ) );
709
$mysql->set_visual_composer( ! is_wp_error( validate_plugin( 'js_composer/js_composer.php' ) ) );
710
711
// Import database
712
+ if ( $mysql->import( ai1wm_database_path( $params ), $query_offset ) ) {
713
714
// Set progress
715
Ai1wm_Status::info( __( 'Done restoring database.', AI1WM_PLUGIN_NAME ) );
lib/model/import/class-ai1wm-import-validate.php CHANGED
@@ -106,7 +106,7 @@ class Ai1wm_Import_Validate {
106
$file_bytes_written = 0;
107
108
// Unpack package.json, multisite.json and database.sql files
109
- if ( ( $completed = $archive->extract_by_files_array( ai1wm_storage_path( $params ), array( AI1WM_PACKAGE_NAME, AI1WM_MULTISITE_NAME, AI1WM_DATABASE_NAME ), array(), $file_bytes_written, $file_bytes_offset, 10 ) ) ) {
110
$file_bytes_offset = 0;
111
}
112
106
$file_bytes_written = 0;
107
108
// Unpack package.json, multisite.json and database.sql files
109
+ if ( ( $completed = $archive->extract_by_files_array( ai1wm_storage_path( $params ), array( AI1WM_PACKAGE_NAME, AI1WM_MULTISITE_NAME, AI1WM_DATABASE_NAME ), array(), $file_bytes_written, $file_bytes_offset ) ) ) {
110
$file_bytes_offset = 0;
111
}
112
lib/vendor/servmask/archiver/class-ai1wm-compressor.php CHANGED
@@ -42,7 +42,6 @@ class Ai1wm_Compressor extends Ai1wm_Archiver {
42
* @param string $new_file_name Write the file with a different name
43
* @param int $file_written File written (in bytes)
44
* @param int $file_offset File offset (in bytes)
45
- * @param int $timeout Process timeout (in seconds)
46
*
47
* @throws \Ai1wm_Not_Seekable_Exception
48
* @throws \Ai1wm_Not_Writable_Exception
@@ -50,7 +49,7 @@ class Ai1wm_Compressor extends Ai1wm_Archiver {
50
*
51
* @return bool
52
*/
53
- public function add_file( $file_name, $new_file_name = '', &$file_written = 0, &$file_offset = 0, $timeout = 0 ) {
54
$file_written = 0;
55
56
// Replace forward slash with current directory separator in file name
@@ -104,7 +103,7 @@ class Ai1wm_Compressor extends Ai1wm_Archiver {
104
}
105
106
// Time elapsed
107
- if ( $timeout ) {
108
if ( ( microtime( true ) - $start ) > $timeout ) {
109
$completed = false;
110
break;
42
* @param string $new_file_name Write the file with a different name
43
* @param int $file_written File written (in bytes)
44
* @param int $file_offset File offset (in bytes)
45
*
46
* @throws \Ai1wm_Not_Seekable_Exception
47
* @throws \Ai1wm_Not_Writable_Exception
49
*
50
* @return bool
51
*/
52
+ public function add_file( $file_name, $new_file_name = '', &$file_written = 0, &$file_offset = 0 ) {
53
$file_written = 0;
54
55
// Replace forward slash with current directory separator in file name
103
}
104
105
// Time elapsed
106
+ if ( ( $timeout = apply_filters( 'ai1wm_completed_timeout', 10 ) ) ) {
107
if ( ( microtime( true ) - $start ) > $timeout ) {
108
$completed = false;
109
break;
lib/vendor/servmask/archiver/class-ai1wm-extractor.php CHANGED
@@ -152,14 +152,13 @@ class Ai1wm_Extractor extends Ai1wm_Archiver {
152
* @param array $new_paths New replace paths
153
* @param int $file_written File written (in bytes)
154
* @param int $file_offset File offset (in bytes)
155
- * @param int $timeout Process timeout (in seconds)
156
*
157
* @throws \Ai1wm_Not_Directory_Exception
158
* @throws \Ai1wm_Not_Seekable_Exception
159
*
160
* @return bool
161
*/
162
- public function extract_one_file_to( $location, $exclude = array(), $old_paths = array(), $new_paths = array(), &$file_written = 0, &$file_offset = 0, $timeout = 0 ) {
163
if ( false === is_dir( $location ) ) {
164
throw new Ai1wm_Not_Directory_Exception( sprintf( 'Location is not a directory: %s', $location ) );
165
}
@@ -243,7 +242,7 @@ class Ai1wm_Extractor extends Ai1wm_Archiver {
243
$file_written = 0;
244
245
// We have a match, let's extract the file
246
- if ( ( $completed = $this->extract_to( $file_name, $file_size, $file_mtime, $file_written, $file_offset, $timeout ) ) ) {
247
$file_offset = 0;
248
}
249
} else {
@@ -268,14 +267,13 @@ class Ai1wm_Extractor extends Ai1wm_Archiver {
268
* @param array $exclude Files to exclude
269
* @param int $file_written File written (in bytes)
270
* @param int $file_offset File offset (in bytes)
271
- * @param int $timeout Process timeout (in seconds)
272
*
273
* @throws \Ai1wm_Not_Directory_Exception
274
* @throws \Ai1wm_Not_Seekable_Exception
275
*
276
* @return bool
277
*/
278
- public function extract_by_files_array( $location, $files = array(), $exclude = array(), &$file_written = 0, &$file_offset = 0, $timeout = 0 ) {
279
if ( false === is_dir( $location ) ) {
280
throw new Ai1wm_Not_Directory_Exception( sprintf( 'Location is not a directory: %s', $location ) );
281
}
@@ -361,7 +359,7 @@ class Ai1wm_Extractor extends Ai1wm_Archiver {
361
$file_written = 0;
362
363
// We have a match, let's extract the file and remove it from the array
364
- if ( ( $completed = $this->extract_to( $file_name, $file_size, $file_mtime, $file_written, $file_offset, $timeout ) ) ) {
365
$file_offset = 0;
366
}
367
} else {
@@ -373,7 +371,7 @@ class Ai1wm_Extractor extends Ai1wm_Archiver {
373
}
374
375
// Time elapsed
376
- if ( $timeout ) {
377
if ( ( microtime( true ) - $start ) > $timeout ) {
378
$completed = false;
379
break;
@@ -394,7 +392,6 @@ class Ai1wm_Extractor extends Ai1wm_Archiver {
394
* @param array $file_mtime File modified time (in seconds)
395
* @param int $file_written File written (in bytes)
396
* @param int $file_offset File offset (in bytes)
397
- * @param int $timeout Process timeout (in seconds)
398
*
399
* @throws \Ai1wm_Not_Seekable_Exception
400
* @throws \Ai1wm_Not_Readable_Exception
@@ -402,7 +399,7 @@ class Ai1wm_Extractor extends Ai1wm_Archiver {
402
*
403
* @return bool
404
*/
405
- private function extract_to( $file_name, $file_size, $file_mtime, &$file_written = 0, &$file_offset = 0, $timeout = 0 ) {
406
$file_written = 0;
407
408
// Flag to hold if file data has been processed
@@ -455,7 +452,7 @@ class Ai1wm_Extractor extends Ai1wm_Archiver {
455
}
456
457
// Time elapsed
458
- if ( $timeout ) {
459
if ( ( microtime( true ) - $start ) > $timeout ) {
460
$completed = false;
461
break;
152
* @param array $new_paths New replace paths
153
* @param int $file_written File written (in bytes)
154
* @param int $file_offset File offset (in bytes)
155
*
156
* @throws \Ai1wm_Not_Directory_Exception
157
* @throws \Ai1wm_Not_Seekable_Exception
158
*
159
* @return bool
160
*/
161
+ public function extract_one_file_to( $location, $exclude = array(), $old_paths = array(), $new_paths = array(), &$file_written = 0, &$file_offset = 0 ) {
162
if ( false === is_dir( $location ) ) {
163
throw new Ai1wm_Not_Directory_Exception( sprintf( 'Location is not a directory: %s', $location ) );
164
}
242
$file_written = 0;
243
244
// We have a match, let's extract the file
245
+ if ( ( $completed = $this->extract_to( $file_name, $file_size, $file_mtime, $file_written, $file_offset ) ) ) {
246
$file_offset = 0;
247
}
248
} else {
267
* @param array $exclude Files to exclude
268
* @param int $file_written File written (in bytes)
269
* @param int $file_offset File offset (in bytes)
270
*
271
* @throws \Ai1wm_Not_Directory_Exception
272
* @throws \Ai1wm_Not_Seekable_Exception
273
*
274
* @return bool
275
*/
276
+ public function extract_by_files_array( $location, $files = array(), $exclude = array(), &$file_written = 0, &$file_offset = 0 ) {
277
if ( false === is_dir( $location ) ) {
278
throw new Ai1wm_Not_Directory_Exception( sprintf( 'Location is not a directory: %s', $location ) );
279
}
359
$file_written = 0;
360
361
// We have a match, let's extract the file and remove it from the array
362
+ if ( ( $completed = $this->extract_to( $file_name, $file_size, $file_mtime, $file_written, $file_offset ) ) ) {
363
$file_offset = 0;
364
}
365
} else {
371
}
372
373
// Time elapsed
374
+ if ( ( $timeout = apply_filters( 'ai1wm_completed_timeout', 10 ) ) ) {
375
if ( ( microtime( true ) - $start ) > $timeout ) {
376
$completed = false;
377
break;
392
* @param array $file_mtime File modified time (in seconds)
393
* @param int $file_written File written (in bytes)
394
* @param int $file_offset File offset (in bytes)
395
*
396
* @throws \Ai1wm_Not_Seekable_Exception
397
* @throws \Ai1wm_Not_Readable_Exception
399
*
400
* @return bool
401
*/
402
+ private function extract_to( $file_name, $file_size, $file_mtime, &$file_written = 0, &$file_offset = 0 ) {
403
$file_written = 0;
404
405
// Flag to hold if file data has been processed
452
}
453
454
// Time elapsed
455
+ if ( ( $timeout = apply_filters( 'ai1wm_completed_timeout', 10 ) ) ) {
456
if ( ( microtime( true ) - $start ) > $timeout ) {
457
$completed = false;
458
break;
lib/vendor/servmask/command/class-ai1wm-wp-cli-command.php CHANGED
@@ -187,6 +187,9 @@ if ( class_exists( 'WP_CLI_Command' ) ) {
187
188
try {
189
190
// Remove filters
191
remove_filter( 'ai1wm_export', 'Ai1wm_Export_Clean::execute', 300 );
192
@@ -248,6 +251,9 @@ if ( class_exists( 'WP_CLI_Command' ) ) {
248
249
try {
250
251
// Remove filters
252
remove_filter( 'ai1wm_import', 'Ai1wm_Import_Upload::execute', 5 );
253
remove_filter( 'ai1wm_import', 'Ai1wm_Import_Confirm::execute', 100 );
187
188
try {
189
190
+ // Disable completed timeout
191
+ add_filter( 'ai1wm_completed_timeout', '__return_zero' );
192
+
193
// Remove filters
194
remove_filter( 'ai1wm_export', 'Ai1wm_Export_Clean::execute', 300 );
195
251
252
try {
253
254
+ // Disable completed timeout
255
+ add_filter( 'ai1wm_completed_timeout', '__return_zero' );
256
+
257
// Remove filters
258
remove_filter( 'ai1wm_import', 'Ai1wm_Import_Upload::execute', 5 );
259
remove_filter( 'ai1wm_import', 'Ai1wm_Import_Confirm::execute', 100 );
lib/vendor/servmask/database/class-ai1wm-database-utility.php CHANGED
@@ -68,14 +68,16 @@ class Ai1wm_Database_Utility {
68
$data = $tmp;
69
unset( $tmp );
70
} elseif ( is_object( $data ) ) {
71
- $tmp = $data;
72
- $props = get_object_vars( $data );
73
- foreach ( $props as $key => $value ) {
74
- $tmp->$key = self::replace_serialized_values( $from, $to, $value, false );
75
- }
76
77
- $data = $tmp;
78
- unset( $tmp );
79
} else {
80
if ( is_string( $data ) ) {
81
if ( ! empty( $from ) && ! empty( $to ) ) {
@@ -88,7 +90,6 @@ class Ai1wm_Database_Utility {
88
return serialize( $data );
89
}
90
} catch ( Exception $e ) {
91
- // pass
92
}
93
94
return $data;
68
$data = $tmp;
69
unset( $tmp );
70
} elseif ( is_object( $data ) ) {
71
+ if ( ! ( $data instanceof __PHP_Incomplete_Class ) ) {
72
+ $tmp = $data;
73
+ $props = get_object_vars( $data );
74
+ foreach ( $props as $key => $value ) {
75
+ $tmp->$key = self::replace_serialized_values( $from, $to, $value, false );
76
+ }
77
78
+ $data = $tmp;
79
+ unset( $tmp );
80
+ }
81
} else {
82
if ( is_string( $data ) ) {
83
if ( ! empty( $from ) && ! empty( $to ) ) {
90
return serialize( $data );
91
}
92
} catch ( Exception $e ) {
93
}
94
95
return $data;
lib/vendor/servmask/database/class-ai1wm-database.php CHANGED
@@ -530,10 +530,9 @@ abstract class Ai1wm_Database {
530
* @param string $file_name Name of file
531
* @param int $table_index Table index
532
* @param int $table_offset Table offset
533
- * @param int $timeout Process timeout
534
* @return bool
535
*/
536
- public function export( $file_name, &$table_index = 0, &$table_offset = 0, $timeout = 0 ) {
537
// Set file handler
538
$file_handler = ai1wm_open( $file_name, 'ab' );
539
@@ -708,7 +707,7 @@ abstract class Ai1wm_Database {
708
$this->free_result( $result );
709
710
// Time elapsed
711
- if ( $timeout ) {
712
if ( ( microtime( true ) - $start ) > $timeout ) {
713
$completed = false;
714
break 2;
@@ -728,10 +727,9 @@ abstract class Ai1wm_Database {
728
*
729
* @param string $file_name Name of file
730
* @param int $query_offset Query offset
731
- * @param int $timeout Process timeout
732
* @return bool
733
*/
734
- public function import( $file_name, &$query_offset = 0, $timeout = 0 ) {
735
// Set max allowed packet
736
$max_allowed_packet = $this->get_max_allowed_packet();
737
@@ -794,7 +792,7 @@ abstract class Ai1wm_Database {
794
$query_offset = ftell( $file_handler );
795
796
// Time elapsed
797
- if ( $timeout ) {
798
if ( ! $this->is_atomic_query( $query ) ) {
799
if ( ( microtime( true ) - $start ) > $timeout ) {
800
$completed = false;
530
* @param string $file_name Name of file
531
* @param int $table_index Table index
532
* @param int $table_offset Table offset
533
* @return bool
534
*/
535
+ public function export( $file_name, &$table_index = 0, &$table_offset = 0 ) {
536
// Set file handler
537
$file_handler = ai1wm_open( $file_name, 'ab' );
538
707
$this->free_result( $result );
708
709
// Time elapsed
710
+ if ( ( $timeout = apply_filters( 'ai1wm_completed_timeout', 10 ) ) ) {
711
if ( ( microtime( true ) - $start ) > $timeout ) {
712
$completed = false;
713
break 2;
727
*
728
* @param string $file_name Name of file
729
* @param int $query_offset Query offset
730
* @return bool
731
*/
732
+ public function import( $file_name, &$query_offset = 0 ) {
733
// Set max allowed packet
734
$max_allowed_packet = $this->get_max_allowed_packet();
735
792
$query_offset = ftell( $file_handler );
793
794
// Time elapsed
795
+ if ( ( $timeout = apply_filters( 'ai1wm_completed_timeout', 10 ) ) ) {
796
if ( ! $this->is_atomic_query( $query ) ) {
797
if ( ( microtime( true ) - $start ) > $timeout ) {
798
$completed = false;
lib/vendor/servmask/filesystem/class-ai1wm-file-webconfig.php CHANGED
@@ -35,6 +35,7 @@ class Ai1wm_File_Webconfig {
35
return Ai1wm_File::create( $path, implode( PHP_EOL, array(
36
'<configuration>',
37
'<system.webServer>',
38
'<mimeMap fileExtension=".wpress" mimeType="application/octet-stream" />',
39
'</staticContent>',
40
'<defaultDocument>',
35
return Ai1wm_File::create( $path, implode( PHP_EOL, array(
36
'<configuration>',
37
'<system.webServer>',
38
+ '<staticContent>',
39
'<mimeMap fileExtension=".wpress" mimeType="application/octet-stream" />',
40
'</staticContent>',
41
'<defaultDocument>',
lib/view/assets/javascript/backups.min.js CHANGED
@@ -887,11 +887,8 @@ module.exports = Modal;
887
jQuery(document).ready(function ($) {
888
'use strict';
889
890
- // Reset feedback form
891
-
892
- $('.ai1wm-feedback-type').attr('checked', false);
893
-
894
// Review
895
$('#ai1wm-feedback-type-link-1').click(function (e) {
896
var radio = $('#ai1wm-feedback-type-1');
897
if (radio.is(':checked')) {
@@ -901,16 +898,14 @@ jQuery(document).ready(function ($) {
901
}
902
});
903
904
- // Improvement
905
- $('#ai1wm-feedback-type-2').click(function () {
906
- // Hide other options
907
- $('#ai1wm-feedback-type-1, #ai1wm-feedback-type-3').closest('li').hide();
908
-
909
- // Change placeholder message
910
- $('.ai1wm-feedback-form').find('.ai1wm-feedback-message').attr('placeholder', ai1wm_locale.leave_feedback);
911
-
912
- // Show feedback form
913
- $('.ai1wm-feedback-form').fadeIn();
914
});
915
916
// Help
887
jQuery(document).ready(function ($) {
888
'use strict';
889
890
// Review
891
+
892
$('#ai1wm-feedback-type-link-1').click(function (e) {
893
var radio = $('#ai1wm-feedback-type-1');
894
if (radio.is(':checked')) {
898
}
899
});
900
901
+ // Idea
902
+ $('#ai1wm-feedback-type-link-2').click(function (e) {
903
+ var radio = $('#ai1wm-feedback-type-2');
904
+ if (radio.is(':checked')) {
905
+ radio.attr('checked', false);
906
+ } else {
907
+ radio.attr('checked', true);
908
+ }
909
});
910
911
// Help
lib/view/assets/javascript/export.min.js CHANGED
@@ -126,11 +126,8 @@ module.exports = g;
126
jQuery(document).ready(function ($) {
127
'use strict';
128
129
- // Reset feedback form
130
-
131
- $('.ai1wm-feedback-type').attr('checked', false);
132
-
133
// Review
134
$('#ai1wm-feedback-type-link-1').click(function (e) {
135
var radio = $('#ai1wm-feedback-type-1');
136
if (radio.is(':checked')) {
@@ -140,16 +137,14 @@ jQuery(document).ready(function ($) {
140
}
141
});
142
143
- // Improvement
144
- $('#ai1wm-feedback-type-2').click(function () {
145
- // Hide other options
146
- $('#ai1wm-feedback-type-1, #ai1wm-feedback-type-3').closest('li').hide();
147
-
148
- // Change placeholder message
149
- $('.ai1wm-feedback-form').find('.ai1wm-feedback-message').attr('placeholder', ai1wm_locale.leave_feedback);
150
-
151
- // Show feedback form
152
- $('.ai1wm-feedback-form').fadeIn();
153
});
154
155
// Help
126
jQuery(document).ready(function ($) {
127
'use strict';
128
129
// Review
130
+
131
$('#ai1wm-feedback-type-link-1').click(function (e) {
132
var radio = $('#ai1wm-feedback-type-1');
133
if (radio.is(':checked')) {
137
}
138
});
139
140
+ // Idea
141
+ $('#ai1wm-feedback-type-link-2').click(function (e) {
142
+ var radio = $('#ai1wm-feedback-type-2');
143
+ if (radio.is(':checked')) {
144
+ radio.attr('checked', false);
145
+ } else {
146
+ radio.attr('checked', true);
147
+ }
148
});
149
150
// Help
lib/view/assets/javascript/feedback.min.js CHANGED
@@ -126,11 +126,8 @@ module.exports = g;
126
jQuery(document).ready(function ($) {
127
'use strict';
128
129
- // Reset feedback form
130
-
131
- $('.ai1wm-feedback-type').attr('checked', false);
132
-
133
// Review
134
$('#ai1wm-feedback-type-link-1').click(function (e) {
135
var radio = $('#ai1wm-feedback-type-1');
136
if (radio.is(':checked')) {
@@ -140,16 +137,14 @@ jQuery(document).ready(function ($) {
140
}
141
});
142
143
- // Improvement
144
- $('#ai1wm-feedback-type-2').click(function () {
145
- // Hide other options
146
- $('#ai1wm-feedback-type-1, #ai1wm-feedback-type-3').closest('li').hide();
147
-
148
- // Change placeholder message
149
- $('.ai1wm-feedback-form').find('.ai1wm-feedback-message').attr('placeholder', ai1wm_locale.leave_feedback);
150
-
151
- // Show feedback form
152
- $('.ai1wm-feedback-form').fadeIn();
153
});
154
155
// Help
126
jQuery(document).ready(function ($) {
127
'use strict';
128
129
// Review
130
+
131
$('#ai1wm-feedback-type-link-1').click(function (e) {
132
var radio = $('#ai1wm-feedback-type-1');
133
if (radio.is(':checked')) {
137
}
138
});
139
140
+ // Idea
141
+ $('#ai1wm-feedback-type-link-2').click(function (e) {
142
+ var radio = $('#ai1wm-feedback-type-2');
143
+ if (radio.is(':checked')) {
144
+ radio.attr('checked', false);
145
+ } else {
146
+ radio.attr('checked', true);
147
+ }
148
});
149
150
// Help
lib/view/assets/javascript/import.min.js CHANGED
@@ -153,11 +153,8 @@ if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef
153
jQuery(document).ready(function ($) {
154
'use strict';
155
156
- // Reset feedback form
157
-
158
- $('.ai1wm-feedback-type').attr('checked', false);
159
-
160
// Review
161
$('#ai1wm-feedback-type-link-1').click(function (e) {
162
var radio = $('#ai1wm-feedback-type-1');
163
if (radio.is(':checked')) {
@@ -167,16 +164,14 @@ jQuery(document).ready(function ($) {
167
}
168
});
169
170
- // Improvement
171
- $('#ai1wm-feedback-type-2').click(function () {
172
- // Hide other options
173
- $('#ai1wm-feedback-type-1, #ai1wm-feedback-type-3').closest('li').hide();
174
-
175
- // Change placeholder message
176
- $('.ai1wm-feedback-form').find('.ai1wm-feedback-message').attr('placeholder', ai1wm_locale.leave_feedback);
177
-
178
- // Show feedback form
179
- $('.ai1wm-feedback-form').fadeIn();
180
});
181
182
// Help
153
jQuery(document).ready(function ($) {
154
'use strict';
155
156
// Review
157
+
158
$('#ai1wm-feedback-type-link-1').click(function (e) {
159
var radio = $('#ai1wm-feedback-type-1');
160
if (radio.is(':checked')) {
164
}
165
});
166
167
+ // Idea
168
+ $('#ai1wm-feedback-type-link-2').click(function (e) {
169
+ var radio = $('#ai1wm-feedback-type-2');
170
+ if (radio.is(':checked')) {
171
+ radio.attr('checked', false);
172
+ } else {
173
+ radio.attr('checked', true);
174
+ }
175
});
176
177
// Help
lib/view/common/leave-feedback.php CHANGED
@@ -35,10 +35,10 @@
35
</li>
36
<li>
37
<input type="radio" class="ai1wm-flat-radio-button ai1wm-feedback-type" id="ai1wm-feedback-type-2" name="ai1wm_feedback_type" value="suggestions" />
38
- <label for="ai1wm-feedback-type-2">
39
<i></i>
40
<span><?php _e( 'I have ideas to improve this plugin', AI1WM_PLUGIN_NAME ); ?></span>
41
- </label>
42
</li>
43
<li>
44
<input type="radio" class="ai1wm-flat-radio-button ai1wm-feedback-type" id="ai1wm-feedback-type-3" name="ai1wm_feedback_type" value="help-needed" />
35
</li>
36
<li>
37
<input type="radio" class="ai1wm-flat-radio-button ai1wm-feedback-type" id="ai1wm-feedback-type-2" name="ai1wm_feedback_type" value="suggestions" />
38
+ <a id="ai1wm-feedback-type-link-2" href="https://feedback.wp-migration.com" target="_blank">
39
<i></i>
40
<span><?php _e( 'I have ideas to improve this plugin', AI1WM_PLUGIN_NAME ); ?></span>
41
+ </a>
42
</li>
43
<li>
44
<input type="radio" class="ai1wm-flat-radio-button ai1wm-feedback-type" id="ai1wm-feedback-type-3" name="ai1wm_feedback_type" value="help-needed" />
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: move, transfer, copy, migrate, backup, clone, restore, db migration, wordp
4
Requires at least: 3.3
5
Tested up to: 4.9
6
Requires PHP: 5.2.17
7
- Stable tag: 6.74
8
License: GPLv2 or later
9
10
Move, transfer, copy, migrate, and backup a site with 1-click. Quick, easy, and reliable.
@@ -60,7 +60,7 @@ Mobile device compatible: All in One WP Plugin is the first plugin to offer true
60
* [Microsoft Azure Storage](https://servmask.com/products/microsoft-azure-storage-extension)
61
62
= Supported hosting providers =
63
- **The plugin does not have any dependancies, making it compatible with all PHP hosting providers. We support a vast range of hosting providers. Some of the most popular include:**
64
65
* DigitalOcean
66
* Bluehost
@@ -103,6 +103,13 @@ Alternatively you can download the plugin using the download button on this page
103
All-in-One WP Migration **asks for your consent** to collect **requester's email address** when filling plugin's contact form. [GDPR Compliant Privacy Policy](https://www.iubenda.com/privacy-policy/946881)
104
105
== Changelog ==
106
= 6.74 =
107
**Added**
108
4
Requires at least: 3.3
5
Tested up to: 4.9
6
Requires PHP: 5.2.17
7
+ Stable tag: 6.75
8
License: GPLv2 or later
9
10
Move, transfer, copy, migrate, and backup a site with 1-click. Quick, easy, and reliable.
60
* [Microsoft Azure Storage](https://servmask.com/products/microsoft-azure-storage-extension)
61
62
= Supported hosting providers =
63
+ **The plugin does not have any dependencies, making it compatible with all PHP hosting providers. We support a vast range of hosting providers. Some of the most popular include:**
64
65
* DigitalOcean
66
* Bluehost
103
All-in-One WP Migration **asks for your consent** to collect **requester's email address** when filling plugin's contact form. [GDPR Compliant Privacy Policy](https://www.iubenda.com/privacy-policy/946881)
104
105
== Changelog ==
106
+ = 6.74 =
107
+ **Fixed**
108
+
109
+ * WP-CLI export/import missing data
110
+ * Serialization in PHP 7.2
111
+ * Missing <staticContent> entry in the web.config file
112
+
113
= 6.74 =
114
**Added**
115