All-in-One WP Migration - Version 7.18

Version Description

Added

  • Use case-sensitive prefix when the SQL server has it defined. This allows to have multiple WordPress installations in the same database with case sensitive prefix: wp_, WP_, Wp_, wP_

Fixed

  • Removed a delay from stopping an export or import
Download this release

Release Info

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

Code changes from version 7.17 to 7.18

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.17
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.18
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.17' );
39
 
40
  // ===============
41
  // = Plugin Name =
35
  // ==================
36
  // = Plugin Version =
37
  // ==================
38
+ define( 'AI1WM_VERSION', '7.18' );
39
 
40
  // ===============
41
  // = Plugin Name =
lib/vendor/servmask/database/class-ai1wm-database.php CHANGED
@@ -581,6 +581,9 @@ abstract class Ai1wm_Database {
581
  public function get_tables() {
582
  $tables = array();
583
 
 
 
 
584
  // Get base tables and views
585
  foreach ( array_merge( $this->get_base_tables(), $this->get_views() ) as $table_name ) {
586
 
@@ -590,9 +593,16 @@ abstract class Ai1wm_Database {
590
 
591
  // Check table prefixes
592
  foreach ( $this->get_include_table_prefixes() as $prefix ) {
593
- if ( stripos( $table_name, $prefix ) === 0 ) {
594
- $include = true;
595
- break;
 
 
 
 
 
 
 
596
  }
597
  }
598
 
@@ -608,9 +618,16 @@ abstract class Ai1wm_Database {
608
 
609
  // Check table prefixes
610
  foreach ( $this->get_exclude_table_prefixes() as $prefix ) {
611
- if ( stripos( $table_name, $prefix ) === 0 ) {
612
- $exclude = true;
613
- break;
 
 
 
 
 
 
 
614
  }
615
  }
616
 
@@ -1066,6 +1083,24 @@ abstract class Ai1wm_Database {
1066
  }
1067
  }
1068
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1069
  /**
1070
  * Get MySQL collation name
1071
  *
@@ -1098,7 +1133,7 @@ abstract class Ai1wm_Database {
1098
  // Close result cursor
1099
  $this->free_result( $result );
1100
 
1101
- // Get create table
1102
  if ( isset( $row['Create View'] ) ) {
1103
  return $row['Create View'];
1104
  }
581
  public function get_tables() {
582
  $tables = array();
583
 
584
+ // Get lower case table names
585
+ $lower_case_table_names = $this->get_lower_case_table_names();
586
+
587
  // Get base tables and views
588
  foreach ( array_merge( $this->get_base_tables(), $this->get_views() ) as $table_name ) {
589
 
593
 
594
  // Check table prefixes
595
  foreach ( $this->get_include_table_prefixes() as $prefix ) {
596
+ if ( $lower_case_table_names ) {
597
+ if ( stripos( $table_name, $prefix ) === 0 ) {
598
+ $include = true;
599
+ break;
600
+ }
601
+ } else {
602
+ if ( strpos( $table_name, $prefix ) === 0 ) {
603
+ $include = true;
604
+ break;
605
+ }
606
  }
607
  }
608
 
618
 
619
  // Check table prefixes
620
  foreach ( $this->get_exclude_table_prefixes() as $prefix ) {
621
+ if ( $lower_case_table_names ) {
622
+ if ( stripos( $table_name, $prefix ) === 0 ) {
623
+ $exclude = true;
624
+ break;
625
+ }
626
+ } else {
627
+ if ( strpos( $table_name, $prefix ) === 0 ) {
628
+ $exclude = true;
629
+ break;
630
+ }
631
  }
632
  }
633
 
1083
  }
1084
  }
1085
 
1086
+ /**
1087
+ * Get MySQL lower case table names
1088
+ *
1089
+ * @return integer
1090
+ */
1091
+ protected function get_lower_case_table_names() {
1092
+ $result = $this->query( "SHOW VARIABLES LIKE 'lower_case_table_names'" );
1093
+ $row = $this->fetch_assoc( $result );
1094
+
1095
+ // Close result cursor
1096
+ $this->free_result( $result );
1097
+
1098
+ // Get lower case table names
1099
+ if ( isset( $row['Value'] ) ) {
1100
+ return $row['Value'];
1101
+ }
1102
+ }
1103
+
1104
  /**
1105
  * Get MySQL collation name
1106
  *
1133
  // Close result cursor
1134
  $this->free_result( $result );
1135
 
1136
+ // Get create view
1137
  if ( isset( $row['Create View'] ) ) {
1138
  return $row['Create View'];
1139
  }
lib/view/assets/javascript/backups.min.js CHANGED
@@ -800,7 +800,7 @@ Import.prototype.onDiskSpaceConfirm = function (options) {
800
 
801
  Import.prototype.stopImport = function (isStopped) {
802
  try {
803
- if (isStopped) {
804
  this.statusXhr.abort();
805
  }
806
  } finally {
@@ -1632,7 +1632,7 @@ Export.prototype.onStop = function (options) {
1632
 
1633
  Export.prototype.stopExport = function (isStopped) {
1634
  try {
1635
- if (isStopped) {
1636
  this.statusXhr.abort();
1637
  }
1638
  } finally {
800
 
801
  Import.prototype.stopImport = function (isStopped) {
802
  try {
803
+ if (isStopped && this.statusXhr) {
804
  this.statusXhr.abort();
805
  }
806
  } finally {
1632
 
1633
  Export.prototype.stopExport = function (isStopped) {
1634
  try {
1635
+ if (isStopped && this.statusXhr) {
1636
  this.statusXhr.abort();
1637
  }
1638
  } finally {
lib/view/assets/javascript/export.min.js CHANGED
@@ -624,7 +624,7 @@ Export.prototype.onStop = function (options) {
624
 
625
  Export.prototype.stopExport = function (isStopped) {
626
  try {
627
- if (isStopped) {
628
  this.statusXhr.abort();
629
  }
630
  } finally {
624
 
625
  Export.prototype.stopExport = function (isStopped) {
626
  try {
627
+ if (isStopped && this.statusXhr) {
628
  this.statusXhr.abort();
629
  }
630
  } finally {
lib/view/assets/javascript/import.min.js CHANGED
@@ -800,7 +800,7 @@ Import.prototype.onDiskSpaceConfirm = function (options) {
800
 
801
  Import.prototype.stopImport = function (isStopped) {
802
  try {
803
- if (isStopped) {
804
  this.statusXhr.abort();
805
  }
806
  } finally {
800
 
801
  Import.prototype.stopImport = function (isStopped) {
802
  try {
803
+ if (isStopped && this.statusXhr) {
804
  this.statusXhr.abort();
805
  }
806
  } finally {
readme.txt CHANGED
@@ -2,9 +2,9 @@
2
  Contributors: yani.iliev, bangelov, pimjitsawang
3
  Tags: move, transfer, copy, migrate, backup, clone, restore, db migration, wordpress migration, website migration, database export, database import, apoyo, sauvegarde, di riserva, バックアップ
4
  Requires at least: 3.3
5
- Tested up to: 5.3
6
  Requires PHP: 5.2.17
7
- Stable tag: 7.17
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,15 @@ 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.17 =
112
  **Fixed**
113
 
2
  Contributors: yani.iliev, bangelov, pimjitsawang
3
  Tags: move, transfer, copy, migrate, backup, clone, restore, db migration, wordpress migration, website migration, database export, database import, apoyo, sauvegarde, di riserva, バックアップ
4
  Requires at least: 3.3
5
+ Tested up to: 5.4
6
  Requires PHP: 5.2.17
7
+ Stable tag: 7.18
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.18 =
112
+ **Added**
113
+
114
+ * Use case-sensitive prefix when the SQL server has it defined. This allows to have multiple WordPress installations in the same database with case sensitive prefix: wp_, WP_, Wp_, wP_
115
+
116
+ **Fixed**
117
+
118
+ * Removed a delay from stopping an export or import
119
+
120
  = 7.17 =
121
  **Fixed**
122