Version Description
Added
- Workaround for PHP 7.3.2 bug when database export uses more memory https://bugs.php.net/bug.php?id=77597
Download this release
Release Info
Developer | bangelov |
Plugin | All-in-One WP Migration |
Version | 6.92 |
Comparing to | |
See all releases |
Code changes from version 6.91 to 6.92
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.92
|
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', '6.
|
39 |
|
40 |
// ===============
|
41 |
// = Plugin Name =
|
@@ -117,11 +117,6 @@ define( 'AI1WM_REPORT_URL', 'https://servmask.com/ai1wm/report/create' );
|
|
117 |
// ==============================
|
118 |
define( 'AI1WM_ARCHIVE_TOOLS_URL', 'https://servmask.com/archive/tools' );
|
119 |
|
120 |
-
// ===========================
|
121 |
-
// = ServMask Activation URL =
|
122 |
-
// ===========================
|
123 |
-
define( 'AI1WM_ACTIVATION_URL', 'https://servmask.com/purchase/activations' );
|
124 |
-
|
125 |
// =========================
|
126 |
// = ServMask Table Prefix =
|
127 |
// =========================
|
35 |
// ==================
|
36 |
// = Plugin Version =
|
37 |
// ==================
|
38 |
+
define( 'AI1WM_VERSION', '6.92' );
|
39 |
|
40 |
// ===============
|
41 |
// = Plugin Name =
|
117 |
// ==============================
|
118 |
define( 'AI1WM_ARCHIVE_TOOLS_URL', 'https://servmask.com/archive/tools' );
|
119 |
|
|
|
|
|
|
|
|
|
|
|
120 |
// =========================
|
121 |
// = ServMask Table Prefix =
|
122 |
// =========================
|
functions.php
CHANGED
@@ -485,7 +485,7 @@ function ai1wm_archive_share( $blog_id = null ) {
|
|
485 |
// Add domain
|
486 |
if ( ( $domain = explode( '.', parse_url( get_site_url( $blog_id ), PHP_URL_HOST ) ) ) ) {
|
487 |
foreach ( $domain as $subdomain ) {
|
488 |
-
if ( $subdomain ) {
|
489 |
$name[] = $subdomain;
|
490 |
}
|
491 |
}
|
@@ -494,7 +494,7 @@ function ai1wm_archive_share( $blog_id = null ) {
|
|
494 |
// Add path
|
495 |
if ( ( $path = explode( '/', parse_url( get_site_url( $blog_id ), PHP_URL_PATH ) ) ) ) {
|
496 |
foreach ( $path as $directory ) {
|
497 |
-
if ( $directory ) {
|
498 |
$name[] = $directory;
|
499 |
}
|
500 |
}
|
485 |
// Add domain
|
486 |
if ( ( $domain = explode( '.', parse_url( get_site_url( $blog_id ), PHP_URL_HOST ) ) ) ) {
|
487 |
foreach ( $domain as $subdomain ) {
|
488 |
+
if ( $subdomain = strtolower( preg_replace( '/[^A-Za-z0-9\-]/', '', $subdomain ) ) ) {
|
489 |
$name[] = $subdomain;
|
490 |
}
|
491 |
}
|
494 |
// Add path
|
495 |
if ( ( $path = explode( '/', parse_url( get_site_url( $blog_id ), PHP_URL_PATH ) ) ) ) {
|
496 |
foreach ( $path as $directory ) {
|
497 |
+
if ( $directory = strtolower( preg_replace( '/[^A-Za-z0-9\-]/', '', $directory ) ) ) {
|
498 |
$name[] = $directory;
|
499 |
}
|
500 |
}
|
lib/vendor/servmask/database/class-ai1wm-database-mysql.php
CHANGED
@@ -96,16 +96,6 @@ class Ai1wm_Database_Mysql extends Ai1wm_Database {
|
|
96 |
return mysql_fetch_row( $result );
|
97 |
}
|
98 |
|
99 |
-
/**
|
100 |
-
* Return the field from MySQL query as row
|
101 |
-
*
|
102 |
-
* @param resource $result MySQL resource
|
103 |
-
* @return object
|
104 |
-
*/
|
105 |
-
public function fetch_field( $result ) {
|
106 |
-
return mysql_fetch_field( $result );
|
107 |
-
}
|
108 |
-
|
109 |
/**
|
110 |
* Return the number for rows from MySQL results
|
111 |
*
|
96 |
return mysql_fetch_row( $result );
|
97 |
}
|
98 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
/**
|
100 |
* Return the number for rows from MySQL results
|
101 |
*
|
lib/vendor/servmask/database/class-ai1wm-database-mysqli.php
CHANGED
@@ -96,16 +96,6 @@ class Ai1wm_Database_Mysqli extends Ai1wm_Database {
|
|
96 |
return mysqli_fetch_row( $result );
|
97 |
}
|
98 |
|
99 |
-
/**
|
100 |
-
* Return the field from MySQL query as row
|
101 |
-
*
|
102 |
-
* @param resource $result MySQL resource
|
103 |
-
* @return object
|
104 |
-
*/
|
105 |
-
public function fetch_field( $result ) {
|
106 |
-
return mysqli_fetch_field( $result );
|
107 |
-
}
|
108 |
-
|
109 |
/**
|
110 |
* Return the number for rows from MySQL results
|
111 |
*
|
96 |
return mysqli_fetch_row( $result );
|
97 |
}
|
98 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
/**
|
100 |
* Return the number for rows from MySQL results
|
101 |
*
|
lib/vendor/servmask/database/class-ai1wm-database.php
CHANGED
@@ -339,12 +339,12 @@ abstract class Ai1wm_Database {
|
|
339 |
/**
|
340 |
* Set table where clauses
|
341 |
*
|
342 |
-
* @param string $
|
343 |
-
* @param array $
|
344 |
* @return object
|
345 |
*/
|
346 |
-
public function set_table_where_clauses( $
|
347 |
-
$this->table_where_clauses[ strtolower( $
|
348 |
|
349 |
return $this;
|
350 |
}
|
@@ -352,12 +352,12 @@ abstract class Ai1wm_Database {
|
|
352 |
/**
|
353 |
* Get table where clauses
|
354 |
*
|
355 |
-
* @param string $
|
356 |
* @return array
|
357 |
*/
|
358 |
-
public function get_table_where_clauses( $
|
359 |
-
if ( isset( $this->table_where_clauses[ strtolower( $
|
360 |
-
return $this->table_where_clauses[ strtolower( $
|
361 |
}
|
362 |
|
363 |
return array();
|
@@ -366,13 +366,13 @@ abstract class Ai1wm_Database {
|
|
366 |
/**
|
367 |
* Set table prefix columns
|
368 |
*
|
369 |
-
* @param string $
|
370 |
-
* @param array $
|
371 |
* @return object
|
372 |
*/
|
373 |
-
public function set_table_prefix_columns( $
|
374 |
-
foreach ( $
|
375 |
-
$this->table_prefix_columns[ strtolower( $
|
376 |
}
|
377 |
|
378 |
return $this;
|
@@ -381,12 +381,12 @@ abstract class Ai1wm_Database {
|
|
381 |
/**
|
382 |
* Get table prefix columns
|
383 |
*
|
384 |
-
* @param string $
|
385 |
* @return array
|
386 |
*/
|
387 |
-
public function get_table_prefix_columns( $
|
388 |
-
if ( isset( $this->table_prefix_columns[ strtolower( $
|
389 |
-
return $this->table_prefix_columns[ strtolower( $
|
390 |
}
|
391 |
|
392 |
return array();
|
@@ -709,8 +709,8 @@ abstract class Ai1wm_Database {
|
|
709 |
$table_columns = array();
|
710 |
|
711 |
// Loop over table columns
|
712 |
-
|
713 |
-
$table_columns[ strtolower( $
|
714 |
}
|
715 |
|
716 |
// Loop over table rows
|
@@ -1023,6 +1023,29 @@ abstract class Ai1wm_Database {
|
|
1023 |
return $unique_keys;
|
1024 |
}
|
1025 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1026 |
/**
|
1027 |
* Replace table prefixes
|
1028 |
*
|
@@ -1294,12 +1317,12 @@ abstract class Ai1wm_Database {
|
|
1294 |
/**
|
1295 |
* Check whether input is INSERT INTO query
|
1296 |
*
|
1297 |
-
* @param string $input
|
1298 |
-
* @param string $
|
1299 |
* @return boolean
|
1300 |
*/
|
1301 |
-
protected function is_insert_into_query( $input, $
|
1302 |
-
return stripos( $input, sprintf( 'INSERT INTO `%s`', $
|
1303 |
}
|
1304 |
|
1305 |
/**
|
@@ -1447,23 +1470,23 @@ abstract class Ai1wm_Database {
|
|
1447 |
protected function prepare_table_values( $input, $column_type ) {
|
1448 |
if ( is_null( $input ) ) {
|
1449 |
return 'NULL';
|
1450 |
-
} elseif ( $column_type ===
|
1451 |
return $input;
|
1452 |
-
} elseif ( $column_type ===
|
1453 |
return $input;
|
1454 |
-
} elseif ( $column_type ===
|
1455 |
return $input;
|
1456 |
-
} elseif ( $column_type ===
|
1457 |
return $input;
|
1458 |
-
} elseif ( $column_type ===
|
1459 |
return $input;
|
1460 |
-
} elseif ( $column_type ===
|
1461 |
return $input;
|
1462 |
-
} elseif ( $column_type ===
|
1463 |
return $input;
|
1464 |
-
} elseif ( $column_type ===
|
1465 |
return $input;
|
1466 |
-
} elseif ( $column_type ===
|
1467 |
return $input;
|
1468 |
}
|
1469 |
|
@@ -1523,14 +1546,6 @@ abstract class Ai1wm_Database {
|
|
1523 |
*/
|
1524 |
abstract public function fetch_row( $result );
|
1525 |
|
1526 |
-
/**
|
1527 |
-
* Return the field from MySQL query as row
|
1528 |
-
*
|
1529 |
-
* @param resource $result MySQL resource
|
1530 |
-
* @return object
|
1531 |
-
*/
|
1532 |
-
abstract public function fetch_field( $result );
|
1533 |
-
|
1534 |
/**
|
1535 |
* Return the number for rows from MySQL results
|
1536 |
*
|
339 |
/**
|
340 |
* Set table where clauses
|
341 |
*
|
342 |
+
* @param string $table_name Table name
|
343 |
+
* @param array $where_clauses Table clauses
|
344 |
* @return object
|
345 |
*/
|
346 |
+
public function set_table_where_clauses( $table_name, $where_clauses ) {
|
347 |
+
$this->table_where_clauses[ strtolower( $table_name ) ] = $where_clauses;
|
348 |
|
349 |
return $this;
|
350 |
}
|
352 |
/**
|
353 |
* Get table where clauses
|
354 |
*
|
355 |
+
* @param string $table_name Table name
|
356 |
* @return array
|
357 |
*/
|
358 |
+
public function get_table_where_clauses( $table_name ) {
|
359 |
+
if ( isset( $this->table_where_clauses[ strtolower( $table_name ) ] ) ) {
|
360 |
+
return $this->table_where_clauses[ strtolower( $table_name ) ];
|
361 |
}
|
362 |
|
363 |
return array();
|
366 |
/**
|
367 |
* Set table prefix columns
|
368 |
*
|
369 |
+
* @param string $table_name Table name
|
370 |
+
* @param array $prefix_columns Table columns
|
371 |
* @return object
|
372 |
*/
|
373 |
+
public function set_table_prefix_columns( $table_name, $prefix_columns ) {
|
374 |
+
foreach ( $prefix_columns as $column_name ) {
|
375 |
+
$this->table_prefix_columns[ strtolower( $table_name ) ][ strtolower( $column_name ) ] = true;
|
376 |
}
|
377 |
|
378 |
return $this;
|
381 |
/**
|
382 |
* Get table prefix columns
|
383 |
*
|
384 |
+
* @param string $table_name Table name
|
385 |
* @return array
|
386 |
*/
|
387 |
+
public function get_table_prefix_columns( $table_name ) {
|
388 |
+
if ( isset( $this->table_prefix_columns[ strtolower( $table_name ) ] ) ) {
|
389 |
+
return $this->table_prefix_columns[ strtolower( $table_name ) ];
|
390 |
}
|
391 |
|
392 |
return array();
|
709 |
$table_columns = array();
|
710 |
|
711 |
// Loop over table columns
|
712 |
+
foreach ( $this->get_column_types( $table_name ) as $column_name => $column_type ) {
|
713 |
+
$table_columns[ strtolower( $column_name ) ] = $column_type;
|
714 |
}
|
715 |
|
716 |
// Loop over table rows
|
1023 |
return $unique_keys;
|
1024 |
}
|
1025 |
|
1026 |
+
/**
|
1027 |
+
* Get MySQL column types
|
1028 |
+
*
|
1029 |
+
* @param string $table_name Table name
|
1030 |
+
* @return array
|
1031 |
+
*/
|
1032 |
+
protected function get_column_types( $table_name ) {
|
1033 |
+
$column_types = array();
|
1034 |
+
|
1035 |
+
// Get column types
|
1036 |
+
$result = $this->query( "SHOW COLUMNS FROM `{$table_name}`" );
|
1037 |
+
while ( $row = $this->fetch_assoc( $result ) ) {
|
1038 |
+
if ( isset( $row['Field'] ) ) {
|
1039 |
+
$column_types[ $row['Field'] ] = $row['Type'];
|
1040 |
+
}
|
1041 |
+
}
|
1042 |
+
|
1043 |
+
// Close result cursor
|
1044 |
+
$this->free_result( $result );
|
1045 |
+
|
1046 |
+
return $column_types;
|
1047 |
+
}
|
1048 |
+
|
1049 |
/**
|
1050 |
* Replace table prefixes
|
1051 |
*
|
1317 |
/**
|
1318 |
* Check whether input is INSERT INTO query
|
1319 |
*
|
1320 |
+
* @param string $input SQL statement
|
1321 |
+
* @param string $table_name Table name (case insensitive)
|
1322 |
* @return boolean
|
1323 |
*/
|
1324 |
+
protected function is_insert_into_query( $input, $table_name ) {
|
1325 |
+
return stripos( $input, sprintf( 'INSERT INTO `%s`', $table_name ) ) === 0;
|
1326 |
}
|
1327 |
|
1328 |
/**
|
1470 |
protected function prepare_table_values( $input, $column_type ) {
|
1471 |
if ( is_null( $input ) ) {
|
1472 |
return 'NULL';
|
1473 |
+
} elseif ( stripos( $column_type, 'tinyint' ) === 0 ) {
|
1474 |
return $input;
|
1475 |
+
} elseif ( stripos( $column_type, 'smallint' ) === 0 ) {
|
1476 |
return $input;
|
1477 |
+
} elseif ( stripos( $column_type, 'mediumint' ) === 0 ) {
|
1478 |
return $input;
|
1479 |
+
} elseif ( stripos( $column_type, 'int' ) === 0 ) {
|
1480 |
return $input;
|
1481 |
+
} elseif ( stripos( $column_type, 'bigint' ) === 0 ) {
|
1482 |
return $input;
|
1483 |
+
} elseif ( stripos( $column_type, 'float' ) === 0 ) {
|
1484 |
return $input;
|
1485 |
+
} elseif ( stripos( $column_type, 'double' ) === 0 ) {
|
1486 |
return $input;
|
1487 |
+
} elseif ( stripos( $column_type, 'decimal' ) === 0 ) {
|
1488 |
return $input;
|
1489 |
+
} elseif ( stripos( $column_type, 'bit' ) === 0 ) {
|
1490 |
return $input;
|
1491 |
}
|
1492 |
|
1546 |
*/
|
1547 |
abstract public function fetch_row( $result );
|
1548 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1549 |
/**
|
1550 |
* Return the number for rows from MySQL results
|
1551 |
*
|
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.1
|
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,11 @@ 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.91 =
|
112 |
**Changed**
|
113 |
|
4 |
Requires at least: 3.3
|
5 |
Tested up to: 5.1
|
6 |
Requires PHP: 5.2.17
|
7 |
+
Stable tag: 6.92
|
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.92 =
|
112 |
+
**Added**
|
113 |
+
|
114 |
+
* Workaround for PHP 7.3.2 bug when database export uses more memory https://bugs.php.net/bug.php?id=77597
|
115 |
+
|
116 |
= 6.91 =
|
117 |
**Changed**
|
118 |
|