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