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 | 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 +1 -1
- constants.php +11 -1
- lib/controller/class-ai1wm-main-controller.php +4 -0
- lib/model/export/class-ai1wm-export-enumerate.php +1 -1
- lib/model/import/class-ai1wm-import-done.php +9 -0
- lib/vendor/servmask/database/class-ai1wm-database.php +5 -12
- lib/view/assets/javascript/import.min.js +15 -1
- readme.txt +11 -1
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.
|
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.
|
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 (
|
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,
|
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,
|
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 %
|
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 %
|
721 |
ai1wm_write( $file_handler, "COMMIT;\n" );
|
722 |
}
|
723 |
}
|
724 |
} else {
|
725 |
|
726 |
// Write end of transaction
|
727 |
-
if ( $table_offset %
|
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 |
-
|
|
|
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.
|
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 |
|