All-in-One WP Migration - Version 6.83

Version Description

Added

  • Check for minimum required extension version on import
  • Disable Join My Multisite, MultiSite Clone Duplicator and WordPress MU Domain Mapping plugins after restoring a backup

Fixed

  • Support for WordPress 3.3
Download this release

Release Info

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

Code changes from version 6.82 to 6.83

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.82
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.83
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.82' );
35
36
// ===============
37
// = Plugin Name =
@@ -293,6 +293,16 @@ define( 'AI1WM_MAX_CHUNK_SIZE', 5 * 1024 * 1024 );
293
// =====================
294
define( 'AI1WM_MAX_CHUNK_RETRIES', 10 );
295
296
// ===========================
297
// = WP_CONTENT_DIR Constant =
298
// ===========================
31
// ==================
32
// = Plugin Version =
33
// ==================
34
+ define( 'AI1WM_VERSION', '6.83' );
35
36
// ===============
37
// = Plugin Name =
293
// =====================
294
define( 'AI1WM_MAX_CHUNK_RETRIES', 10 );
295
296
+ // ===========================
297
+ // = Max Transaction Queries =
298
+ // ===========================
299
+ define( 'AI1WM_MAX_TRANSACTION_QUERIES', 1000 );
300
+
301
+ // ======================
302
+ // = Max Select Records =
303
+ // ======================
304
+ define( 'AI1WM_MAX_SELECT_RECORDS', 1000 );
305
+
306
// ===========================
307
// = WP_CONTENT_DIR Constant =
308
// ===========================
lib/controller/class-ai1wm-main-controller.php CHANGED
@@ -712,6 +712,10 @@ class Ai1wm_Main_Controller {
712
'secret_key' => get_option( AI1WM_SECRET_KEY ),
713
) );
714
715
wp_localize_script( 'ai1wm_import', 'ai1wm_locale', array(
716
'stop_importing_your_website' => __( 'You are about to stop importing your website, are you sure?', AI1WM_PLUGIN_NAME ),
717
'preparing_to_import' => __( 'Preparing to import...', AI1WM_PLUGIN_NAME ),
712
'secret_key' => get_option( AI1WM_SECRET_KEY ),
713
) );
714
715
+ wp_localize_script( 'ai1wm_import', 'ai1wm_compatibility', array(
716
+ 'messages' => Ai1wm_Compatibility::get( array() ),
717
+ ) );
718
+
719
wp_localize_script( 'ai1wm_import', 'ai1wm_locale', array(
720
'stop_importing_your_website' => __( 'You are about to stop importing your website, are you sure?', AI1WM_PLUGIN_NAME ),
721
'preparing_to_import' => __( 'Preparing to import...', AI1WM_PLUGIN_NAME ),
lib/model/export/class-ai1wm-export-enumerate.php CHANGED
@@ -60,7 +60,7 @@ class Ai1wm_Export_Enumerate {
60
61
// Exclude inactive themes
62
if ( isset( $params['options']['no_inactive_themes'] ) ) {
63
- foreach ( wp_get_themes() as $theme => $info ) {
64
// Exclude current parent and child themes
65
if ( ! in_array( $theme, array( get_template(), get_stylesheet() ) ) ) {
66
$inactive_themes[] = 'themes' . DIRECTORY_SEPARATOR . $theme;
60
61
// Exclude inactive themes
62
if ( isset( $params['options']['no_inactive_themes'] ) ) {
63
+ foreach ( search_theme_directories() as $theme => $info ) {
64
// Exclude current parent and child themes
65
if ( ! in_array( $theme, array( get_template(), get_stylesheet() ) ) ) {
66
$inactive_themes[] = 'themes' . DIRECTORY_SEPARATOR . $theme;
lib/model/import/class-ai1wm-import-done.php CHANGED
@@ -64,6 +64,9 @@ class Ai1wm_Import_Done {
64
ai1wm_discover_plugin_basename( 'lockdown-wp-admin/lockdown-wp-admin.php' ),
65
ai1wm_discover_plugin_basename( 'rename-wp-login/rename-wp-login.php' ),
66
ai1wm_discover_plugin_basename( 'wp-simple-firewall/icwp-wpsf.php' ),
67
) );
68
69
// Deactivate Jetpack modules
@@ -122,6 +125,9 @@ class Ai1wm_Import_Done {
122
ai1wm_discover_plugin_basename( 'lockdown-wp-admin/lockdown-wp-admin.php' ),
123
ai1wm_discover_plugin_basename( 'rename-wp-login/rename-wp-login.php' ),
124
ai1wm_discover_plugin_basename( 'wp-simple-firewall/icwp-wpsf.php' ),
125
) );
126
127
// Deactivate Jetpack modules
@@ -182,6 +188,9 @@ class Ai1wm_Import_Done {
182
ai1wm_discover_plugin_basename( 'lockdown-wp-admin/lockdown-wp-admin.php' ),
183
ai1wm_discover_plugin_basename( 'rename-wp-login/rename-wp-login.php' ),
184
ai1wm_discover_plugin_basename( 'wp-simple-firewall/icwp-wpsf.php' ),
185
) );
186
187
// Deactivate Jetpack modules
64
ai1wm_discover_plugin_basename( 'lockdown-wp-admin/lockdown-wp-admin.php' ),
65
ai1wm_discover_plugin_basename( 'rename-wp-login/rename-wp-login.php' ),
66
ai1wm_discover_plugin_basename( 'wp-simple-firewall/icwp-wpsf.php' ),
67
+ ai1wm_discover_plugin_basename( 'join-my-multisite/joinmymultisite.php' ),
68
+ ai1wm_discover_plugin_basename( 'multisite-clone-duplicator/multisite-clone-duplicator.php' ),
69
+ ai1wm_discover_plugin_basename( 'wordpress-mu-domain-mapping/domain_mapping.php' ),
70
) );
71
72
// Deactivate Jetpack modules
125
ai1wm_discover_plugin_basename( 'lockdown-wp-admin/lockdown-wp-admin.php' ),
126
ai1wm_discover_plugin_basename( 'rename-wp-login/rename-wp-login.php' ),
127
ai1wm_discover_plugin_basename( 'wp-simple-firewall/icwp-wpsf.php' ),
128
+ ai1wm_discover_plugin_basename( 'join-my-multisite/joinmymultisite.php' ),
129
+ ai1wm_discover_plugin_basename( 'multisite-clone-duplicator/multisite-clone-duplicator.php' ),
130
+ ai1wm_discover_plugin_basename( 'wordpress-mu-domain-mapping/domain_mapping.php' ),
131
) );
132
133
// Deactivate Jetpack modules
188
ai1wm_discover_plugin_basename( 'lockdown-wp-admin/lockdown-wp-admin.php' ),
189
ai1wm_discover_plugin_basename( 'rename-wp-login/rename-wp-login.php' ),
190
ai1wm_discover_plugin_basename( 'wp-simple-firewall/icwp-wpsf.php' ),
191
+ ai1wm_discover_plugin_basename( 'join-my-multisite/joinmymultisite.php' ),
192
+ ai1wm_discover_plugin_basename( 'multisite-clone-duplicator/multisite-clone-duplicator.php' ),
193
+ ai1wm_discover_plugin_basename( 'wordpress-mu-domain-mapping/domain_mapping.php' ),
194
) );
195
196
// Deactivate Jetpack modules
lib/vendor/servmask/database/class-ai1wm-database.php CHANGED
@@ -25,13 +25,6 @@
25
26
abstract class Ai1wm_Database {
27
28
- /**
29
- * Number of queries per transaction
30
- *
31
- * @var integer
32
- */
33
- const QUERIES_PER_TRANSACTION = 1000;
34
-
35
/**
36
* WordPress database handler
37
*
@@ -644,7 +637,7 @@ abstract class Ai1wm_Database {
644
$table_where = implode( ' AND ', $table_where );
645
646
// Set query with offset and rows count
647
- $query = sprintf( 'SELECT t1.* FROM `%s` AS t1 JOIN (SELECT %s FROM `%s` WHERE %s ORDER BY %s LIMIT %d, %d) AS t2 USING (%s)', $table_name, $table_keys, $table_name, $table_where, $table_keys, $table_offset, 1000, $table_keys );
648
649
} else {
650
@@ -660,7 +653,7 @@ abstract class Ai1wm_Database {
660
$table_where = implode( ' AND ', $table_where );
661
662
// Set query with offset and rows count
663
- $query = sprintf( 'SELECT * FROM `%s` WHERE %s ORDER BY %s LIMIT %d, %d', $table_name, $table_where, $table_keys, $table_offset, 1000 );
664
}
665
666
// Apply additional table prefix columns
@@ -686,7 +679,7 @@ abstract class Ai1wm_Database {
686
while ( $row = $this->fetch_assoc( $result ) ) {
687
688
// Write start transaction
689
- if ( $table_offset % Ai1wm_Database::QUERIES_PER_TRANSACTION === 0 ) {
690
ai1wm_write( $file_handler, "START TRANSACTION;\n" );
691
}
692
@@ -717,14 +710,14 @@ abstract class Ai1wm_Database {
717
$table_rows++;
718
719
// Write end of transaction
720
- if ( $table_offset % Ai1wm_Database::QUERIES_PER_TRANSACTION === 0 ) {
721
ai1wm_write( $file_handler, "COMMIT;\n" );
722
}
723
}
724
} else {
725
726
// Write end of transaction
727
- if ( $table_offset % Ai1wm_Database::QUERIES_PER_TRANSACTION !== 0 ) {
728
ai1wm_write( $file_handler, "COMMIT;\n" );
729
}
730
25
26
abstract class Ai1wm_Database {
27
28
/**
29
* WordPress database handler
30
*
637
$table_where = implode( ' AND ', $table_where );
638
639
// Set query with offset and rows count
640
+ $query = sprintf( 'SELECT t1.* FROM `%s` AS t1 JOIN (SELECT %s FROM `%s` WHERE %s ORDER BY %s LIMIT %d, %d) AS t2 USING (%s)', $table_name, $table_keys, $table_name, $table_where, $table_keys, $table_offset, AI1WM_MAX_SELECT_RECORDS, $table_keys );
641
642
} else {
643
653
$table_where = implode( ' AND ', $table_where );
654
655
// Set query with offset and rows count
656
+ $query = sprintf( 'SELECT * FROM `%s` WHERE %s ORDER BY %s LIMIT %d, %d', $table_name, $table_where, $table_keys, $table_offset, AI1WM_MAX_SELECT_RECORDS );
657
}
658
659
// Apply additional table prefix columns
679
while ( $row = $this->fetch_assoc( $result ) ) {
680
681
// Write start transaction
682
+ if ( $table_offset % AI1WM_MAX_TRANSACTION_QUERIES === 0 ) {
683
ai1wm_write( $file_handler, "START TRANSACTION;\n" );
684
}
685
710
$table_rows++;
711
712
// Write end of transaction
713
+ if ( $table_offset % AI1WM_MAX_TRANSACTION_QUERIES === 0 ) {
714
ai1wm_write( $file_handler, "COMMIT;\n" );
715
}
716
}
717
} else {
718
719
// Write end of transaction
720
+ if ( $table_offset % AI1WM_MAX_TRANSACTION_QUERIES !== 0 ) {
721
ai1wm_write( $file_handler, "COMMIT;\n" );
722
}
723
lib/view/assets/javascript/import.min.js CHANGED
@@ -1309,10 +1309,23 @@ FileUploader.prototype.init = function () {
1309
});
1310
};
1311
1312
- FileUploader.prototype.onFilesAdded = function (file) {
1313
if (file.name.substr(-6) !== 'wpress') {
1314
throw new Error(ai1wm_locale.invalid_archive_extension);
1315
}
1316
1317
// Initializing beforeunload event
1318
$(window).bind('beforeunload', function () {
@@ -1349,6 +1362,7 @@ FileUploader.prototype.onBeforeUpload = function (file) {
1349
1350
FileUploader.prototype.upload = function (file, retries) {
1351
var self = this;
1352
var formData = new FormData();
1353
formData.append('upload-file', file);
1354
for (var name in ai1wm_uploader.params) {
1309
});
1310
};
1311
1312
+ // Check extension
1313
+ FileUploader.prototype.c1 = function (file) {
1314
if (file.name.substr(-6) !== 'wpress') {
1315
throw new Error(ai1wm_locale.invalid_archive_extension);
1316
}
1317
+ };
1318
+
1319
+ // Check compatibility
1320
+ FileUploader.prototype.c3 = function (file) {
1321
+ if (ai1wm_compatibility.messages.length > 0) {
1322
+ throw new Error(ai1wm_compatibility.messages.join());
1323
+ }
1324
+ };
1325
+
1326
+ FileUploader.prototype.onFilesAdded = function (file) {
1327
+ this.c1(file);
1328
+ this.c3(file);
1329
1330
// Initializing beforeunload event
1331
$(window).bind('beforeunload', function () {
1362
1363
FileUploader.prototype.upload = function (file, retries) {
1364
var self = this;
1365
+
1366
var formData = new FormData();
1367
formData.append('upload-file', file);
1368
for (var name in ai1wm_uploader.params) {
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: 5.0
6
Requires PHP: 5.2.17
7
- Stable tag: 6.82
8
License: GPLv2 or later
9
10
Move, transfer, copy, migrate, and backup a site with 1-click. Quick, easy, and reliable.
@@ -108,6 +108,16 @@ Alternatively you can download the plugin using the download button on this page
108
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)
109
110
== Changelog ==
111
= 6.82 =
112
**Added**
113
4
Requires at least: 3.3
5
Tested up to: 5.0
6
Requires PHP: 5.2.17
7
+ Stable tag: 6.83
8
License: GPLv2 or later
9
10
Move, transfer, copy, migrate, and backup a site with 1-click. Quick, easy, and reliable.
108
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)
109
110
== Changelog ==
111
+ = 6.83 =
112
+ **Added**
113
+
114
+ * Check for minimum required extension version on import
115
+ * Disable Join My Multisite, MultiSite Clone Duplicator and WordPress MU Domain Mapping plugins after restoring a backup
116
+
117
+ **Fixed**
118
+
119
+ * Support for WordPress 3.3
120
+
121
= 6.82 =
122
**Added**
123