All-in-One WP Migration - Version 7.22

Version Description

Added

  • Improved upload path replacement
  • Set permalinks structure to default when pretty permalinks are not supported

Fixed

  • Exclude media from advanced options
Download this release

Release Info

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

Code changes from version 7.21 to 7.22

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: 7.21
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: 7.22
9
* Text Domain: all-in-one-wp-migration
10
* Domain Path: /languages
11
* Network: True
constants.php CHANGED
@@ -35,7 +35,7 @@ define( 'AI1WM_DEBUG', false );
35
// ==================
36
// = Plugin Version =
37
// ==================
38
- define( 'AI1WM_VERSION', '7.21' );
39
40
// ===============
41
// = Plugin Name =
35
// ==================
36
// = Plugin Version =
37
// ==================
38
+ define( 'AI1WM_VERSION', '7.22' );
39
40
// ===============
41
// = Plugin Name =
functions.php CHANGED
@@ -1779,3 +1779,19 @@ function ai1wm_replace_directory_separator_with_forward_slash( $path ) {
1779
function ai1wm_escape_windows_directory_separator( $path ) {
1780
return preg_replace( '/[\\\\]+/', '\\\\\\\\', $path );
1781
}
1779
function ai1wm_escape_windows_directory_separator( $path ) {
1780
return preg_replace( '/[\\\\]+/', '\\\\\\\\', $path );
1781
}
1782
+
1783
+ /**
1784
+ * Returns whether the server supports URL rewriting.
1785
+ * Detects Apache's mod_rewrite, IIS 7.0+ permalink support, and nginx.
1786
+ *
1787
+ * @return boolean Whether the server supports URL rewriting.
1788
+ */
1789
+ function ai1wm_got_url_rewrite() {
1790
+ if ( iis7_supports_permalinks() ) {
1791
+ return true;
1792
+ } elseif ( ! empty( $GLOBALS['is_nginx'] ) ) {
1793
+ return true;
1794
+ }
1795
+
1796
+ return apache_mod_loaded( 'mod_rewrite', false );
1797
+ }
lib/model/import/class-ai1wm-import-database.php CHANGED
@@ -456,10 +456,6 @@ class Ai1wm_Import_Database {
456
// Replace Uploads URL
457
foreach ( array( $uploads_url, $uploads_url_www_inversion ) as $url ) {
458
459
- // Get domain
460
- $old_domain = parse_url( $url, PHP_URL_HOST );
461
- $new_domain = parse_url( $blog['New']['WordPress']['UploadsURL'], PHP_URL_HOST );
462
-
463
// Get path
464
$old_path = parse_url( $url, PHP_URL_PATH );
465
$new_path = parse_url( $blog['New']['WordPress']['UploadsURL'], PHP_URL_PATH );
@@ -467,16 +463,16 @@ class Ai1wm_Import_Database {
467
// Get scheme
468
$new_scheme = parse_url( $blog['New']['WordPress']['UploadsURL'], PHP_URL_SCHEME );
469
470
- // Add domain and path with single quote
471
- if ( ! in_array( sprintf( "='%s%s", $old_domain, untrailingslashit( $old_path ) ), $old_replace_values ) ) {
472
- $old_replace_values[] = sprintf( "='%s%s", $old_domain, untrailingslashit( $old_path ) );
473
- $new_replace_values[] = sprintf( "='%s%s", $new_domain, untrailingslashit( $new_path ) );
474
}
475
476
- // Add domain and path with double quote
477
- if ( ! in_array( sprintf( '="%s%s', $old_domain, untrailingslashit( $old_path ) ), $old_replace_values ) ) {
478
- $old_replace_values[] = sprintf( '="%s%s', $old_domain, untrailingslashit( $old_path ) );
479
- $new_replace_values[] = sprintf( '="%s%s', $new_domain, untrailingslashit( $new_path ) );
480
}
481
482
// Set Uploads URL scheme
@@ -754,10 +750,6 @@ class Ai1wm_Import_Database {
754
// Replace Uploads URL
755
foreach ( array( $uploads_url, $uploads_url_www_inversion ) as $url ) {
756
757
- // Get domain
758
- $old_domain = parse_url( $url, PHP_URL_HOST );
759
- $new_domain = parse_url( ai1wm_get_uploads_url(), PHP_URL_HOST );
760
-
761
// Get path
762
$old_path = parse_url( $url, PHP_URL_PATH );
763
$new_path = parse_url( ai1wm_get_uploads_url(), PHP_URL_PATH );
@@ -765,16 +757,16 @@ class Ai1wm_Import_Database {
765
// Get scheme
766
$new_scheme = parse_url( ai1wm_get_uploads_url(), PHP_URL_SCHEME );
767
768
- // Add domain and path with single quote
769
- if ( ! in_array( sprintf( "='%s%s", $old_domain, untrailingslashit( $old_path ) ), $old_replace_values ) ) {
770
- $old_replace_values[] = sprintf( "='%s%s", $old_domain, untrailingslashit( $old_path ) );
771
- $new_replace_values[] = sprintf( "='%s%s", $new_domain, untrailingslashit( $new_path ) );
772
}
773
774
- // Add domain and path with double quote
775
- if ( ! in_array( sprintf( '="%s%s', $old_domain, untrailingslashit( $old_path ) ), $old_replace_values ) ) {
776
- $old_replace_values[] = sprintf( '="%s%s', $old_domain, untrailingslashit( $old_path ) );
777
- $new_replace_values[] = sprintf( '="%s%s', $new_domain, untrailingslashit( $new_path ) );
778
}
779
780
// Add Uploads URL scheme
456
// Replace Uploads URL
457
foreach ( array( $uploads_url, $uploads_url_www_inversion ) as $url ) {
458
459
// Get path
460
$old_path = parse_url( $url, PHP_URL_PATH );
461
$new_path = parse_url( $blog['New']['WordPress']['UploadsURL'], PHP_URL_PATH );
463
// Get scheme
464
$new_scheme = parse_url( $blog['New']['WordPress']['UploadsURL'], PHP_URL_SCHEME );
465
466
+ // Add path with single quote
467
+ if ( ! in_array( sprintf( "='%s", trailingslashit( $old_path ) ), $old_replace_values ) ) {
468
+ $old_replace_values[] = sprintf( "='%s", trailingslashit( $old_path ) );
469
+ $new_replace_values[] = sprintf( "='%s", trailingslashit( $new_path ) );
470
}
471
472
+ // Add path with double quote
473
+ if ( ! in_array( sprintf( '="%s', trailingslashit( $old_path ) ), $old_replace_values ) ) {
474
+ $old_replace_values[] = sprintf( '="%s', trailingslashit( $old_path ) );
475
+ $new_replace_values[] = sprintf( '="%s', trailingslashit( $new_path ) );
476
}
477
478
// Set Uploads URL scheme
750
// Replace Uploads URL
751
foreach ( array( $uploads_url, $uploads_url_www_inversion ) as $url ) {
752
753
// Get path
754
$old_path = parse_url( $url, PHP_URL_PATH );
755
$new_path = parse_url( ai1wm_get_uploads_url(), PHP_URL_PATH );
757
// Get scheme
758
$new_scheme = parse_url( ai1wm_get_uploads_url(), PHP_URL_SCHEME );
759
760
+ // Add path with single quote
761
+ if ( ! in_array( sprintf( "='%s", trailingslashit( $old_path ) ), $old_replace_values ) ) {
762
+ $old_replace_values[] = sprintf( "='%s", trailingslashit( $old_path ) );
763
+ $new_replace_values[] = sprintf( "='%s", trailingslashit( $new_path ) );
764
}
765
766
+ // Add path with double quote
767
+ if ( ! in_array( sprintf( '="%s', trailingslashit( $old_path ) ), $old_replace_values ) ) {
768
+ $old_replace_values[] = sprintf( '="%s', trailingslashit( $old_path ) );
769
+ $new_replace_values[] = sprintf( '="%s', trailingslashit( $new_path ) );
770
}
771
772
// Add Uploads URL scheme
lib/model/import/class-ai1wm-import-done.php CHANGED
@@ -30,9 +30,10 @@ if ( ! defined( 'ABSPATH' ) ) {
30
class Ai1wm_Import_Done {
31
32
public static function execute( $params ) {
33
34
// Check multisite.json file
35
- if ( true === is_file( ai1wm_multisite_path( $params ) ) ) {
36
37
// Read multisite.json file
38
$handle = ai1wm_open( ai1wm_multisite_path( $params ), 'r' );
@@ -94,7 +95,7 @@ class Ai1wm_Import_Done {
94
} else {
95
96
// Check package.json file
97
- if ( true === is_file( ai1wm_package_path( $params ) ) ) {
98
99
// Read package.json file
100
$handle = ai1wm_open( ai1wm_package_path( $params ), 'r' );
@@ -166,7 +167,7 @@ class Ai1wm_Import_Done {
166
}
167
168
// Check blogs.json file
169
- if ( true === is_file( ai1wm_blogs_path( $params ) ) ) {
170
171
// Read blogs.json file
172
$handle = ai1wm_open( ai1wm_blogs_path( $params ), 'r' );
@@ -240,6 +241,11 @@ class Ai1wm_Import_Done {
240
}
241
}
242
243
// Set progress
244
if ( ai1wm_validate_plugin_basename( 'oxygen/functions.php' ) ) {
245
Ai1wm_Status::done( __( 'Your site has been imported successfully!', AI1WM_PLUGIN_NAME ), Ai1wm_Template::get_content( 'import/oxygen' ) );
30
class Ai1wm_Import_Done {
31
32
public static function execute( $params ) {
33
+ global $wp_rewrite;
34
35
// Check multisite.json file
36
+ if ( is_file( ai1wm_multisite_path( $params ) ) ) {
37
38
// Read multisite.json file
39
$handle = ai1wm_open( ai1wm_multisite_path( $params ), 'r' );
95
} else {
96
97
// Check package.json file
98
+ if ( is_file( ai1wm_package_path( $params ) ) ) {
99
100
// Read package.json file
101
$handle = ai1wm_open( ai1wm_package_path( $params ), 'r' );
167
}
168
169
// Check blogs.json file
170
+ if ( is_file( ai1wm_blogs_path( $params ) ) ) {
171
172
// Read blogs.json file
173
$handle = ai1wm_open( ai1wm_blogs_path( $params ), 'r' );
241
}
242
}
243
244
+ // Switch to default permalink structure
245
+ if ( ! ai1wm_got_url_rewrite() ) {
246
+ $wp_rewrite->set_permalink_structure( '' );
247
+ }
248
+
249
// Set progress
250
if ( ai1wm_validate_plugin_basename( 'oxygen/functions.php' ) ) {
251
Ai1wm_Status::done( __( 'Your site has been imported successfully!', AI1WM_PLUGIN_NAME ), Ai1wm_Template::get_content( 'import/oxygen' ) );
lib/vendor/servmask/filter/class-ai1wm-recursive-exclude-filter.php CHANGED
@@ -49,6 +49,10 @@ class Ai1wm_Recursive_Exclude_Filter extends RecursiveFilterIterator {
49
return false;
50
}
51
52
if ( strpos( $this->getInnerIterator()->getSubPathname(), "\n" ) !== false ) {
53
return false;
54
}
49
return false;
50
}
51
52
+ if ( in_array( ai1wm_replace_forward_slash_with_directory_separator( $this->getInnerIterator()->getPath() ), $this->exclude ) ) {
53
+ return false;
54
+ }
55
+
56
if ( strpos( $this->getInnerIterator()->getSubPathname(), "\n" ) !== false ) {
57
return false;
58
}
lib/view/import/done.php CHANGED
@@ -27,11 +27,19 @@ if ( ! defined( 'ABSPATH' ) ) {
27
die( 'Kangaroos cannot jump here' );
28
}
29
30
- printf(
31
- __(
32
- '» <a class="ai1wm-no-underline" href="%s" target="_blank">Save permalinks structure</a>. (opens a new window)<br />' .
33
'» <a class="ai1wm-no-underline" href="https://wordpress.org/support/view/plugin-reviews/all-in-one-wp-migration?rate=5#postform" target="_blank">Optionally, review the plugin</a>. (opens a new window)',
34
AI1WM_PLUGIN_NAME
35
- ),
36
- admin_url( 'options-permalink.php#submit' )
37
- );
27
die( 'Kangaroos cannot jump here' );
28
}
29
30
+ if ( ai1wm_got_url_rewrite() ) {
31
+ printf(
32
+ __(
33
+ '» <a class="ai1wm-no-underline" href="%s" target="_blank">Save permalinks structure</a>. (opens a new window)<br />' .
34
+ '» <a class="ai1wm-no-underline" href="https://wordpress.org/support/view/plugin-reviews/all-in-one-wp-migration?rate=5#postform" target="_blank">Optionally, review the plugin</a>. (opens a new window)',
35
+ AI1WM_PLUGIN_NAME
36
+ ),
37
+ admin_url( 'options-permalink.php#submit' )
38
+ );
39
+ } else {
40
+ _e(
41
+ '» Permalinks are set to default. <a class="ai1wm-no-underline" href="https://help.servmask.com/knowledgebase/permalinks-are-set-to-default/" target="_blank">Why?</a> (opens a new window)<br />' .
42
'» <a class="ai1wm-no-underline" href="https://wordpress.org/support/view/plugin-reviews/all-in-one-wp-migration?rate=5#postform" target="_blank">Optionally, review the plugin</a>. (opens a new window)',
43
AI1WM_PLUGIN_NAME
44
+ );
45
+ }
lib/view/import/oxygen.php CHANGED
@@ -27,12 +27,21 @@ if ( ! defined( 'ABSPATH' ) ) {
27
die( 'Kangaroos cannot jump here' );
28
}
29
30
- printf(
31
- __(
32
- '» <a class="ai1wm-no-underline" href="%s" target="_blank">Save permalinks structure</a>. (opens a new window)<br />' .
33
'» <a class="ai1wm-no-underline" href="https://oxygenbuilder.com/documentation/other/importing-exporting/#resigning" target="_blank">Re-sign Oxygen Builder shortcodes</a>. (opens a new window)<br />' .
34
'» <a class="ai1wm-no-underline" href="https://wordpress.org/support/view/plugin-reviews/all-in-one-wp-migration?rate=5#postform" target="_blank">Optionally, review the plugin</a>. (opens a new window)',
35
AI1WM_PLUGIN_NAME
36
- ),
37
- admin_url( 'options-permalink.php#submit' )
38
- );
27
die( 'Kangaroos cannot jump here' );
28
}
29
30
+ if ( ai1wm_got_url_rewrite() ) {
31
+ printf(
32
+ __(
33
+ '» <a class="ai1wm-no-underline" href="%s" target="_blank">Save permalinks structure</a>. (opens a new window)<br />' .
34
+ '» <a class="ai1wm-no-underline" href="https://oxygenbuilder.com/documentation/other/importing-exporting/#resigning" target="_blank">Re-sign Oxygen Builder shortcodes</a>. (opens a new window)<br />' .
35
+ '» <a class="ai1wm-no-underline" href="https://wordpress.org/support/view/plugin-reviews/all-in-one-wp-migration?rate=5#postform" target="_blank">Optionally, review the plugin</a>. (opens a new window)',
36
+ AI1WM_PLUGIN_NAME
37
+ ),
38
+ admin_url( 'options-permalink.php#submit' )
39
+ );
40
+ } else {
41
+ _e(
42
+ '» Permalinks are set to default. <a class="ai1wm-no-underline" href="https://help.servmask.com/knowledgebase/permalinks-are-set-to-default/" target="_blank">Why?</a> (opens a new window)<br />' .
43
'» <a class="ai1wm-no-underline" href="https://oxygenbuilder.com/documentation/other/importing-exporting/#resigning" target="_blank">Re-sign Oxygen Builder shortcodes</a>. (opens a new window)<br />' .
44
'» <a class="ai1wm-no-underline" href="https://wordpress.org/support/view/plugin-reviews/all-in-one-wp-migration?rate=5#postform" target="_blank">Optionally, review the plugin</a>. (opens a new window)',
45
AI1WM_PLUGIN_NAME
46
+ );
47
+ }
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.4
6
Requires PHP: 5.2.17
7
- Stable tag: 7.21
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
= 7.21 =
112
**Added**
113
4
Requires at least: 3.3
5
Tested up to: 5.4
6
Requires PHP: 5.2.17
7
+ Stable tag: 7.22
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
+ = 7.22 =
112
+ **Added**
113
+
114
+ * Improved upload path replacement
115
+ * Set permalinks structure to default when pretty permalinks are not supported
116
+
117
+ **Fixed**
118
+
119
+ * Exclude media from advanced options
120
+
121
= 7.21 =
122
**Added**
123