All-in-One WP Migration - Version 6.47

Version Description

Added

  • Elementor plugin support

Fixed

  • Site URL and Home URL replacement in JSON data
Download this release

Release Info

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

Code changes from version 6.46 to 6.47

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.46
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.47
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.46' );
35
 
36
  // ===============
37
  // = Plugin Name =
31
  // ==================
32
  // = Plugin Version =
33
  // ==================
34
+ define( 'AI1WM_VERSION', '6.47' );
35
 
36
  // ===============
37
  // = Plugin Name =
lib/model/import/class-ai1wm-import-database.php CHANGED
@@ -118,10 +118,16 @@ class Ai1wm_Import_Database {
118
  $new_values[] = ai1wm_blogsdir_path( $blog['New']['BlogID'] );
119
  }
120
 
121
- // Get escaped Upload Path
122
- if ( ! in_array( addslashes( addcslashes( ai1wm_blogsdir_path( $blog['Old']['BlogID'] ), '\/' ) ), $old_values ) ) {
123
- $old_values[] = addslashes( addcslashes( ai1wm_blogsdir_path( $blog['Old']['BlogID'] ), '\/' ) );
124
- $new_values[] = addslashes( addcslashes( ai1wm_blogsdir_path( $blog['New']['BlogID'] ), '\/' ) );
 
 
 
 
 
 
125
  }
126
 
127
  // Get Upload Path
@@ -130,10 +136,16 @@ class Ai1wm_Import_Database {
130
  $new_values[] = ai1wm_blogsdir_path( $blog['New']['BlogID'] );
131
  }
132
 
133
- // Get escaped Upload Path
134
- if ( ! in_array( addslashes( addcslashes( ai1wm_uploads_path( $blog['Old']['BlogID'] ), '\/' ) ), $old_values ) ) {
135
- $old_values[] = addslashes( addcslashes( ai1wm_uploads_path( $blog['Old']['BlogID'] ), '\/' ) );
136
- $new_values[] = addslashes( addcslashes( ai1wm_blogsdir_path( $blog['New']['BlogID'] ), '\/' ) );
 
 
 
 
 
 
137
  }
138
  } else {
139
 
@@ -149,10 +161,16 @@ class Ai1wm_Import_Database {
149
  $new_values[] = ai1wm_uploads_path( $blog['New']['BlogID'] );
150
  }
151
 
152
- // Get escaped Upload Path
153
- if ( ! in_array( addslashes( addcslashes( ai1wm_blogsdir_path( $blog['Old']['BlogID'] ), '\/' ) ), $old_values ) ) {
154
- $old_values[] = addslashes( addcslashes( ai1wm_blogsdir_path( $blog['Old']['BlogID'] ), '\/' ) );
155
- $new_values[] = addslashes( addcslashes( ai1wm_uploads_path( $blog['New']['BlogID'] ), '\/' ) );
 
 
 
 
 
 
156
  }
157
 
158
  // Get Upload Path
@@ -161,10 +179,16 @@ class Ai1wm_Import_Database {
161
  $new_values[] = ai1wm_uploads_path( $blog['New']['BlogID'] );
162
  }
163
 
164
- // Get escaped Upload Path
165
- if ( ! in_array( addslashes( addcslashes( ai1wm_uploads_path( $blog['Old']['BlogID'] ), '\/' ) ), $old_values ) ) {
166
- $old_values[] = addslashes( addcslashes( ai1wm_uploads_path( $blog['Old']['BlogID'] ), '\/' ) );
167
- $new_values[] = addslashes( addcslashes( ai1wm_uploads_path( $blog['New']['BlogID'] ), '\/' ) );
 
 
 
 
 
 
168
  }
169
  }
170
  }
@@ -219,7 +243,13 @@ class Ai1wm_Import_Database {
219
  $new_values[] = urlencode( set_url_scheme( $blog['New']['SiteURL'], $new_scheme ) );
220
  }
221
 
222
- // Add escaped Site URL
 
 
 
 
 
 
223
  if ( ! in_array( addslashes( addcslashes( set_url_scheme( $site_url, $old_scheme ), '/' ) ), $old_values ) ) {
224
  $old_values[] = addslashes( addcslashes( set_url_scheme( $site_url, $old_scheme ), '/' ) );
225
  $new_values[] = addslashes( addcslashes( set_url_scheme( $blog['New']['SiteURL'], $new_scheme ), '/' ) );
@@ -286,7 +316,13 @@ class Ai1wm_Import_Database {
286
  $new_values[] = urlencode( set_url_scheme( $blog['New']['HomeURL'], $new_scheme ) );
287
  }
288
 
289
- // Add escaped Home URL
 
 
 
 
 
 
290
  if ( ! in_array( addslashes( addcslashes( set_url_scheme( $home_url, $old_scheme ), '/' ) ), $old_values ) ) {
291
  $old_values[] = addslashes( addcslashes( set_url_scheme( $home_url, $old_scheme ), '/' ) );
292
  $new_values[] = addslashes( addcslashes( set_url_scheme( $blog['New']['HomeURL'], $new_scheme ), '/' ) );
@@ -364,7 +400,20 @@ class Ai1wm_Import_Database {
364
  $new_values[] = urlencode( set_url_scheme( site_url(), $new_scheme ) );
365
  }
366
 
367
- // Add escaped Site URL
 
 
 
 
 
 
 
 
 
 
 
 
 
368
  if ( ! in_array( addslashes( addcslashes( set_url_scheme( $url, $old_scheme ), '/' ) ), $old_values ) ) {
369
  $old_values[] = addslashes( addcslashes( set_url_scheme( $url, $old_scheme ), '/' ) );
370
  $new_values[] = addslashes( addcslashes( set_url_scheme( site_url(), $new_scheme ), '/' ) );
@@ -442,7 +491,20 @@ class Ai1wm_Import_Database {
442
  $new_values[] = urlencode( set_url_scheme( home_url(), $new_scheme ) );
443
  }
444
 
445
- // Add escaped Home URL
 
 
 
 
 
 
 
 
 
 
 
 
 
446
  if ( ! in_array( addslashes( addcslashes( set_url_scheme( $url, $old_scheme ), '/' ) ), $old_values ) ) {
447
  $old_values[] = addslashes( addcslashes( set_url_scheme( $url, $old_scheme ), '/' ) );
448
  $new_values[] = addslashes( addcslashes( set_url_scheme( home_url(), $new_scheme ), '/' ) );
@@ -478,10 +540,16 @@ class Ai1wm_Import_Database {
478
  $new_values[] = urlencode( WP_CONTENT_DIR );
479
  }
480
 
481
- // Add escaped WordPress Content
482
- if ( ! in_array( addslashes( addcslashes( $content_dir, '\/' ) ), $old_values ) ) {
483
- $old_values[] = addslashes( addcslashes( $content_dir, '\/' ) );
484
- $new_values[] = addslashes( addcslashes( WP_CONTENT_DIR, '\/' ) );
 
 
 
 
 
 
485
  }
486
  }
487
  }
118
  $new_values[] = ai1wm_blogsdir_path( $blog['New']['BlogID'] );
119
  }
120
 
121
+ // Get forward slash escaped Upload Path
122
+ if ( ! in_array( addcslashes( ai1wm_blogsdir_path( $blog['Old']['BlogID'] ), '/' ), $old_values ) ) {
123
+ $old_values[] = addcslashes( ai1wm_blogsdir_path( $blog['Old']['BlogID'] ), '/' );
124
+ $new_values[] = addcslashes( ai1wm_blogsdir_path( $blog['New']['BlogID'] ), '/' );
125
+ }
126
+
127
+ // Get backward slash escaped Upload Path
128
+ if ( ! in_array( addslashes( addcslashes( ai1wm_blogsdir_path( $blog['Old']['BlogID'] ), '/' ) ), $old_values ) ) {
129
+ $old_values[] = addslashes( addcslashes( ai1wm_blogsdir_path( $blog['Old']['BlogID'] ), '/' ) );
130
+ $new_values[] = addslashes( addcslashes( ai1wm_blogsdir_path( $blog['New']['BlogID'] ), '/' ) );
131
  }
132
 
133
  // Get Upload Path
136
  $new_values[] = ai1wm_blogsdir_path( $blog['New']['BlogID'] );
137
  }
138
 
139
+ // Get forward slash escaped Upload Path
140
+ if ( ! in_array( addcslashes( ai1wm_uploads_path( $blog['Old']['BlogID'] ), '/' ), $old_values ) ) {
141
+ $old_values[] = addcslashes( ai1wm_uploads_path( $blog['Old']['BlogID'] ), '/' );
142
+ $new_values[] = addcslashes( ai1wm_blogsdir_path( $blog['New']['BlogID'] ), '/' );
143
+ }
144
+
145
+ // Get backward slash escaped Upload Path
146
+ if ( ! in_array( addslashes( addcslashes( ai1wm_uploads_path( $blog['Old']['BlogID'] ), '/' ) ), $old_values ) ) {
147
+ $old_values[] = addslashes( addcslashes( ai1wm_uploads_path( $blog['Old']['BlogID'] ), '/' ) );
148
+ $new_values[] = addslashes( addcslashes( ai1wm_blogsdir_path( $blog['New']['BlogID'] ), '/' ) );
149
  }
150
  } else {
151
 
161
  $new_values[] = ai1wm_uploads_path( $blog['New']['BlogID'] );
162
  }
163
 
164
+ // Get forward slash escaped Upload Path
165
+ if ( ! in_array( addcslashes( ai1wm_blogsdir_path( $blog['Old']['BlogID'] ), '/' ), $old_values ) ) {
166
+ $old_values[] = addcslashes( ai1wm_blogsdir_path( $blog['Old']['BlogID'] ), '/' );
167
+ $new_values[] = addcslashes( ai1wm_uploads_path( $blog['New']['BlogID'] ), '/' );
168
+ }
169
+
170
+ // Get backward slash escaped Upload Path
171
+ if ( ! in_array( addslashes( addcslashes( ai1wm_blogsdir_path( $blog['Old']['BlogID'] ), '/' ) ), $old_values ) ) {
172
+ $old_values[] = addslashes( addcslashes( ai1wm_blogsdir_path( $blog['Old']['BlogID'] ), '/' ) );
173
+ $new_values[] = addslashes( addcslashes( ai1wm_uploads_path( $blog['New']['BlogID'] ), '/' ) );
174
  }
175
 
176
  // Get Upload Path
179
  $new_values[] = ai1wm_uploads_path( $blog['New']['BlogID'] );
180
  }
181
 
182
+ // Get forward slash escaped Upload Path
183
+ if ( ! in_array( addcslashes( ai1wm_uploads_path( $blog['Old']['BlogID'] ), '/' ), $old_values ) ) {
184
+ $old_values[] = addcslashes( ai1wm_uploads_path( $blog['Old']['BlogID'] ), '/' );
185
+ $new_values[] = addcslashes( ai1wm_uploads_path( $blog['New']['BlogID'] ), '/' );
186
+ }
187
+
188
+ // Get backward slash escaped Upload Path
189
+ if ( ! in_array( addslashes( addcslashes( ai1wm_uploads_path( $blog['Old']['BlogID'] ), '/' ) ), $old_values ) ) {
190
+ $old_values[] = addslashes( addcslashes( ai1wm_uploads_path( $blog['Old']['BlogID'] ), '/' ) );
191
+ $new_values[] = addslashes( addcslashes( ai1wm_uploads_path( $blog['New']['BlogID'] ), '/' ) );
192
  }
193
  }
194
  }
243
  $new_values[] = urlencode( set_url_scheme( $blog['New']['SiteURL'], $new_scheme ) );
244
  }
245
 
246
+ // Add forward slash escaped Site URL
247
+ if ( ! in_array( addcslashes( set_url_scheme( $site_url, $old_scheme ), '/' ), $old_values ) ) {
248
+ $old_values[] = addcslashes( set_url_scheme( $site_url, $old_scheme ), '/' );
249
+ $new_values[] = addcslashes( set_url_scheme( $blog['New']['SiteURL'], $new_scheme ), '/' );
250
+ }
251
+
252
+ // Add backward slash escaped Site URL
253
  if ( ! in_array( addslashes( addcslashes( set_url_scheme( $site_url, $old_scheme ), '/' ) ), $old_values ) ) {
254
  $old_values[] = addslashes( addcslashes( set_url_scheme( $site_url, $old_scheme ), '/' ) );
255
  $new_values[] = addslashes( addcslashes( set_url_scheme( $blog['New']['SiteURL'], $new_scheme ), '/' ) );
316
  $new_values[] = urlencode( set_url_scheme( $blog['New']['HomeURL'], $new_scheme ) );
317
  }
318
 
319
+ // Add forward slash escaped Home URL
320
+ if ( ! in_array( addcslashes( set_url_scheme( $home_url, $old_scheme ), '/' ), $old_values ) ) {
321
+ $old_values[] = addcslashes( set_url_scheme( $home_url, $old_scheme ), '/' );
322
+ $new_values[] = addcslashes( set_url_scheme( $blog['New']['HomeURL'], $new_scheme ), '/' );
323
+ }
324
+
325
+ // Add backward slash escaped Home URL
326
  if ( ! in_array( addslashes( addcslashes( set_url_scheme( $home_url, $old_scheme ), '/' ) ), $old_values ) ) {
327
  $old_values[] = addslashes( addcslashes( set_url_scheme( $home_url, $old_scheme ), '/' ) );
328
  $new_values[] = addslashes( addcslashes( set_url_scheme( $blog['New']['HomeURL'], $new_scheme ), '/' ) );
400
  $new_values[] = urlencode( set_url_scheme( site_url(), $new_scheme ) );
401
  }
402
 
403
+ // Add forward slash escaped Site URL
404
+ // This is needed for `json_encode('http://example.org')`
405
+ // When escaped, URLs can look like this: http:\/\/example.org
406
+ // We need to add this escaped URL so the logic in Ai1wm_Database::replace_table_values works
407
+ if ( ! in_array( addcslashes( set_url_scheme( $url, $old_scheme ), '/' ), $old_values ) ) {
408
+ $old_values[] = addcslashes( set_url_scheme( $url, $old_scheme ), '/' );
409
+ $new_values[] = addcslashes( set_url_scheme( site_url(), $new_scheme ), '/' );
410
+ }
411
+
412
+ // Add backward slash escaped Site URL
413
+ // This is needed for `Ai1wm_Database_Utility::escape_mysql(json_encode('http://example.org'))`
414
+ // When escaped, URLs can look like this: http:\\/\\/example.org
415
+ // We need to add this escaped URL so the logic in Ai1wm_Database::replace_table_values works
416
+ // We have a strpos in there that looks if the value in the database matches the searched value
417
  if ( ! in_array( addslashes( addcslashes( set_url_scheme( $url, $old_scheme ), '/' ) ), $old_values ) ) {
418
  $old_values[] = addslashes( addcslashes( set_url_scheme( $url, $old_scheme ), '/' ) );
419
  $new_values[] = addslashes( addcslashes( set_url_scheme( site_url(), $new_scheme ), '/' ) );
491
  $new_values[] = urlencode( set_url_scheme( home_url(), $new_scheme ) );
492
  }
493
 
494
+ // Add forward slash escaped Home URL
495
+ // This is needed for `json_encode('http://example.org')`
496
+ // When escaped, URLs can look like this: http:\/\/example.org
497
+ // We need to add this escaped URL so the logic in Ai1wm_Database::replace_table_values works
498
+ if ( ! in_array( addcslashes( set_url_scheme( $url, $old_scheme ), '/' ), $old_values ) ) {
499
+ $old_values[] = addcslashes( set_url_scheme( $url, $old_scheme ), '/' );
500
+ $new_values[] = addcslashes( set_url_scheme( home_url(), $new_scheme ), '/' );
501
+ }
502
+
503
+ // Add backward slash escaped Home URL
504
+ // This is needed for `Ai1wm_Database_Utility::escape_mysql(json_encode('http://example.org'))`
505
+ // When escaped, URLs can look like this: http:\\/\\/example.org
506
+ // We need to add this escaped URL so the logic in Ai1wm_Database::replace_table_values works
507
+ // We have a strpos in there that looks if the value in the database matches the searched value
508
  if ( ! in_array( addslashes( addcslashes( set_url_scheme( $url, $old_scheme ), '/' ) ), $old_values ) ) {
509
  $old_values[] = addslashes( addcslashes( set_url_scheme( $url, $old_scheme ), '/' ) );
510
  $new_values[] = addslashes( addcslashes( set_url_scheme( home_url(), $new_scheme ), '/' ) );
540
  $new_values[] = urlencode( WP_CONTENT_DIR );
541
  }
542
 
543
+ // Add forward slash escaped WordPress Content
544
+ if ( ! in_array( addcslashes( $content_dir, '/' ), $old_values ) ) {
545
+ $old_values[] = addcslashes( $content_dir, '/' );
546
+ $new_values[] = addcslashes( WP_CONTENT_DIR, '/' );
547
+ }
548
+
549
+ // Add backward slash escaped WordPress Content
550
+ if ( ! in_array( addslashes( addcslashes( $content_dir, '/' ) ), $old_values ) ) {
551
+ $old_values[] = addslashes( addcslashes( $content_dir, '/' ) );
552
+ $new_values[] = addslashes( addcslashes( WP_CONTENT_DIR, '/' ) );
553
  }
554
  }
555
  }
lib/model/import/class-ai1wm-import-done.php CHANGED
@@ -124,7 +124,7 @@ class Ai1wm_Import_Done {
124
  admin_url( 'options-permalink.php#submit' )
125
  ),
126
  __(
127
- 'Your data has been imported successfuly!',
128
  AI1WM_PLUGIN_NAME
129
  )
130
  );
124
  admin_url( 'options-permalink.php#submit' )
125
  ),
126
  __(
127
+ 'Your data has been imported successfully!',
128
  AI1WM_PLUGIN_NAME
129
  )
130
  );
lib/vendor/servmask/database/class-ai1wm-database-utility.php CHANGED
@@ -101,10 +101,12 @@ class Ai1wm_Database_Utility {
101
  * @return string
102
  */
103
  public static function escape_mysql( $data ) {
104
- return str_replace(
105
- array( '\\', '\0', "\n", "\r", "\x1a", "'", '"', "\0" ),
106
- array( '\\\\', '\\0', "\\n", "\\r", '\Z', "\'", '\"', '\0' ),
107
- $data
 
 
108
  );
109
  }
110
 
@@ -115,10 +117,12 @@ class Ai1wm_Database_Utility {
115
  * @return string
116
  */
117
  public static function unescape_mysql( $data ) {
118
- return str_replace(
119
- array( '\\\\', '\\0', "\\n", "\\r", '\Z', "\'", '\"', '\0' ),
120
- array( '\\', '\0', "\n", "\r", "\x1a", "'", '"', "\0" ),
121
- $data
 
 
122
  );
123
  }
124
  }
101
  * @return string
102
  */
103
  public static function escape_mysql( $data ) {
104
+ return strtr(
105
+ $data,
106
+ array_combine(
107
+ array( "\x00", "\n", "\r", '\\', "'", '"', "\x1a" ),
108
+ array( '\\0', '\\n', '\\r', '\\\\', "\\'", '\\"', '\\Z' )
109
+ )
110
  );
111
  }
112
 
117
  * @return string
118
  */
119
  public static function unescape_mysql( $data ) {
120
+ return strtr(
121
+ $data,
122
+ array_combine(
123
+ array( '\\0', '\\n', '\\r', '\\\\', "\\'", '\\"', '\\Z' ),
124
+ array( "\x00", "\n", "\r", '\\', "'", '"', "\x1a" )
125
+ )
126
  );
127
  }
128
  }
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: yani.iliev, bangelov, pimjitsawang
3
  Tags: move, transfer, copy, migrate, backup, clone, restore, db migration, migration, wordpress migration, website migration, database export, database import
4
  Requires at least: 3.3
5
  Tested up to: 4.7
6
- Stable tag: 6.46
7
  License: GPLv2 or later
8
 
9
  Move, transfer, copy, migrate, and backup a site with 1-click. Quick, easy, and reliable.
@@ -78,20 +78,33 @@ All in One WP Plugin is the first plugin to offer true mobile experience on Word
78
  3. Plugin Menu
79
 
80
  == Changelog ==
 
 
 
 
 
 
 
 
 
81
  = 6.46 =
82
  **Fixed**
 
83
  * Domain replacement on import
84
  * Invalid secret key check on import
85
 
86
  = 6.45 =
87
  **Changed**
 
88
  * Better mechanism when enumerating files on import
89
 
90
  **Fixed**
 
91
  * Validation mechanism on export/import
92
 
93
  = 6.44 =
94
  **Added**
 
95
  * PHP and DB version metadata in package.json
96
  * Find/Replace values in package.json
97
  * Internal Site URL and Internal Home URL in package.json
@@ -100,59 +113,72 @@ All in One WP Plugin is the first plugin to offer true mobile experience on Word
100
  * Shutdown handler to catch fatal errors
101
 
102
  **Changed**
 
103
  * Replace TYPE with ENGINE keyword on database export
104
  * Detect Site URL and Home URL in Find/Replace values
105
  * Activate template and stylesheet on import
106
  * Import database chunk by chunk to avoid timeout limitation
107
 
108
  **Fixed**
 
109
  * An issue on export/import when using HipHop for PHP
110
 
111
  = 6.43 =
112
  **Changed**
 
113
  * Plugin tags and description
114
 
115
  = 6.42 =
116
  **Changed**
 
117
  * Improved performance when exporting database
118
 
119
  = 6.41 =
120
  **Added**
 
121
  * Support Visual Composer plugin
122
  * Support Jetpack Photon module
123
 
124
  **Changed**
 
125
  * Improved Maria DB support
126
  * Disable WordPress authentication checking during migration
127
  * Clean any temporary files after migration
128
 
129
  = 6.40 =
130
  **Added**
 
131
  * Separate action hook in advanced settings called "ai1wm_export_advanced_settings" to allow custom checkbox options on export
132
 
133
  **Changed**
 
134
  * Do not extract dropins files on import
135
  * Do not exclude active plugins in package.json and multisite.json on export
136
  * Do not show "Resolving URL address..." on export/import
137
 
138
  **Fixed**
 
139
  * An issue with large files on import
140
  * An issue with inactive plugins option in advanced settings on export
141
 
142
  = 6.39 =
143
  **Added**
 
144
  * Support for MariaDB
145
 
146
  **Changed**
 
147
  * Do not include package.json, multisite.json, blogs.json, database.sql and filemap.list files on export
148
  * Remove HTTP Basic authentication from Backups page
149
 
150
  **Fixed**
 
151
  * An issue with unpacking archive on import
152
  * An issue with inactivated plugins on import
153
 
154
  = 6.38 =
155
  **Added**
 
156
  * Support for HyperDB plugin
157
  * Support for RevSlider plugin
158
  * Check available disk space during export/import
@@ -160,10 +186,12 @@ All in One WP Plugin is the first plugin to offer true mobile experience on Word
160
  * WPRESS mime-type to web.config when the server is IIS
161
 
162
  **Changed**
 
163
  * Switch to AJAX from cURL on export/import
164
  * Respect WordPress constants FS_CHMOD_DIR and FS_CHMOD_FILE on import
165
  * Remove misleading available disk space information on "Backups" page
166
 
167
  **Fixed**
 
168
  * An issue related to generating archive and folder names
169
  * An issue related to CSS styles on export page
3
  Tags: move, transfer, copy, migrate, backup, clone, restore, db migration, migration, wordpress migration, website migration, database export, database import
4
  Requires at least: 3.3
5
  Tested up to: 4.7
6
+ Stable tag: 6.47
7
  License: GPLv2 or later
8
 
9
  Move, transfer, copy, migrate, and backup a site with 1-click. Quick, easy, and reliable.
78
  3. Plugin Menu
79
 
80
  == Changelog ==
81
+ = 6.47 =
82
+ **Added**
83
+
84
+ * Elementor plugin support
85
+
86
+ **Fixed**
87
+
88
+ * Site URL and Home URL replacement in JSON data
89
+
90
  = 6.46 =
91
  **Fixed**
92
+
93
  * Domain replacement on import
94
  * Invalid secret key check on import
95
 
96
  = 6.45 =
97
  **Changed**
98
+
99
  * Better mechanism when enumerating files on import
100
 
101
  **Fixed**
102
+
103
  * Validation mechanism on export/import
104
 
105
  = 6.44 =
106
  **Added**
107
+
108
  * PHP and DB version metadata in package.json
109
  * Find/Replace values in package.json
110
  * Internal Site URL and Internal Home URL in package.json
113
  * Shutdown handler to catch fatal errors
114
 
115
  **Changed**
116
+
117
  * Replace TYPE with ENGINE keyword on database export
118
  * Detect Site URL and Home URL in Find/Replace values
119
  * Activate template and stylesheet on import
120
  * Import database chunk by chunk to avoid timeout limitation
121
 
122
  **Fixed**
123
+
124
  * An issue on export/import when using HipHop for PHP
125
 
126
  = 6.43 =
127
  **Changed**
128
+
129
  * Plugin tags and description
130
 
131
  = 6.42 =
132
  **Changed**
133
+
134
  * Improved performance when exporting database
135
 
136
  = 6.41 =
137
  **Added**
138
+
139
  * Support Visual Composer plugin
140
  * Support Jetpack Photon module
141
 
142
  **Changed**
143
+
144
  * Improved Maria DB support
145
  * Disable WordPress authentication checking during migration
146
  * Clean any temporary files after migration
147
 
148
  = 6.40 =
149
  **Added**
150
+
151
  * Separate action hook in advanced settings called "ai1wm_export_advanced_settings" to allow custom checkbox options on export
152
 
153
  **Changed**
154
+
155
  * Do not extract dropins files on import
156
  * Do not exclude active plugins in package.json and multisite.json on export
157
  * Do not show "Resolving URL address..." on export/import
158
 
159
  **Fixed**
160
+
161
  * An issue with large files on import
162
  * An issue with inactive plugins option in advanced settings on export
163
 
164
  = 6.39 =
165
  **Added**
166
+
167
  * Support for MariaDB
168
 
169
  **Changed**
170
+
171
  * Do not include package.json, multisite.json, blogs.json, database.sql and filemap.list files on export
172
  * Remove HTTP Basic authentication from Backups page
173
 
174
  **Fixed**
175
+
176
  * An issue with unpacking archive on import
177
  * An issue with inactivated plugins on import
178
 
179
  = 6.38 =
180
  **Added**
181
+
182
  * Support for HyperDB plugin
183
  * Support for RevSlider plugin
184
  * Check available disk space during export/import
186
  * WPRESS mime-type to web.config when the server is IIS
187
 
188
  **Changed**
189
+
190
  * Switch to AJAX from cURL on export/import
191
  * Respect WordPress constants FS_CHMOD_DIR and FS_CHMOD_FILE on import
192
  * Remove misleading available disk space information on "Backups" page
193
 
194
  **Fixed**
195
+
196
  * An issue related to generating archive and folder names
197
  * An issue related to CSS styles on export page