Version Description
Added
- Improved MySQL error handling
Download this release
Release Info
| Developer | bangelov |
| Plugin | |
| Version | 7.38 |
| Comparing to | |
| See all releases | |
Code changes from version 7.37 to 7.38
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.
|
| 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.38
|
| 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.
|
| 39 |
|
| 40 |
// ===============
|
| 41 |
// = Plugin Name =
|
|
@@ -232,16 +232,6 @@ define( 'AI1WM_WPE_SIGN_ON_PLUGIN_NAME', 'wpe-wp-sign-on-plugin.php' );
|
|
| 232 |
// ===================================
|
| 233 |
define( 'AI1WM_WP_ENGINE_SECURITY_AUDITOR_NAME', 'wpengine-security-auditor.php' );
|
| 234 |
|
| 235 |
-
// ===================
|
| 236 |
-
// = Export Log Name =
|
| 237 |
-
// ===================
|
| 238 |
-
define( 'AI1WM_EXPORT_NAME', 'export.log' );
|
| 239 |
-
|
| 240 |
-
// ===================
|
| 241 |
-
// = Import Log Name =
|
| 242 |
-
// ===================
|
| 243 |
-
define( 'AI1WM_IMPORT_NAME', 'import.log' );
|
| 244 |
-
|
| 245 |
// ==================
|
| 246 |
// = Error Log Name =
|
| 247 |
// ==================
|
| 35 |
// ==================
|
| 36 |
// = Plugin Version =
|
| 37 |
// ==================
|
| 38 |
+
define( 'AI1WM_VERSION', '7.38' );
|
| 39 |
|
| 40 |
// ===============
|
| 41 |
// = Plugin Name =
|
| 232 |
// ===================================
|
| 233 |
define( 'AI1WM_WP_ENGINE_SECURITY_AUDITOR_NAME', 'wpengine-security-auditor.php' );
|
| 234 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 235 |
// ==================
|
| 236 |
// = Error Log Name =
|
| 237 |
// ==================
|
functions.php
CHANGED
|
@@ -90,26 +90,6 @@ function ai1wm_archive_path( $params ) {
|
|
| 90 |
return ai1wm_backup_path( $params );
|
| 91 |
}
|
| 92 |
|
| 93 |
-
/**
|
| 94 |
-
* Get export log absolute path
|
| 95 |
-
*
|
| 96 |
-
* @param array $params Request parameters
|
| 97 |
-
* @return string
|
| 98 |
-
*/
|
| 99 |
-
function ai1wm_export_path( $params ) {
|
| 100 |
-
return ai1wm_storage_path( $params ) . DIRECTORY_SEPARATOR . AI1WM_EXPORT_NAME;
|
| 101 |
-
}
|
| 102 |
-
|
| 103 |
-
/**
|
| 104 |
-
* Get import log absolute path
|
| 105 |
-
*
|
| 106 |
-
* @param array $params Request parameters
|
| 107 |
-
* @return string
|
| 108 |
-
*/
|
| 109 |
-
function ai1wm_import_path( $params ) {
|
| 110 |
-
return ai1wm_storage_path( $params ) . DIRECTORY_SEPARATOR . AI1WM_IMPORT_NAME;
|
| 111 |
-
}
|
| 112 |
-
|
| 113 |
/**
|
| 114 |
* Get multipart.list absolute path
|
| 115 |
*
|
| 90 |
return ai1wm_backup_path( $params );
|
| 91 |
}
|
| 92 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 93 |
/**
|
| 94 |
* Get multipart.list absolute path
|
| 95 |
*
|
lib/controller/class-ai1wm-export-controller.php
CHANGED
|
@@ -69,9 +69,6 @@ class Ai1wm_Export_Controller {
|
|
| 69 |
// Run function hook
|
| 70 |
$params = call_user_func_array( $hook['function'], array( $params ) );
|
| 71 |
|
| 72 |
-
// Log request
|
| 73 |
-
Ai1wm_Log::export( $params );
|
| 74 |
-
|
| 75 |
} catch ( Ai1wm_Database_Exception $e ) {
|
| 76 |
if ( defined( 'WP_CLI' ) ) {
|
| 77 |
WP_CLI::error( sprintf( __( 'Unable to export. Error code: %s. %s', AI1WM_PLUGIN_NAME ), $e->getCode(), $e->getMessage() ) );
|
| 69 |
// Run function hook
|
| 70 |
$params = call_user_func_array( $hook['function'], array( $params ) );
|
| 71 |
|
|
|
|
|
|
|
|
|
|
| 72 |
} catch ( Ai1wm_Database_Exception $e ) {
|
| 73 |
if ( defined( 'WP_CLI' ) ) {
|
| 74 |
WP_CLI::error( sprintf( __( 'Unable to export. Error code: %s. %s', AI1WM_PLUGIN_NAME ), $e->getCode(), $e->getMessage() ) );
|
lib/controller/class-ai1wm-import-controller.php
CHANGED
|
@@ -69,9 +69,6 @@ class Ai1wm_Import_Controller {
|
|
| 69 |
// Run function hook
|
| 70 |
$params = call_user_func_array( $hook['function'], array( $params ) );
|
| 71 |
|
| 72 |
-
// Log request
|
| 73 |
-
Ai1wm_Log::import( $params );
|
| 74 |
-
|
| 75 |
} catch ( Ai1wm_Import_Retry_Exception $e ) {
|
| 76 |
if ( defined( 'WP_CLI' ) ) {
|
| 77 |
WP_CLI::error( sprintf( __( 'Unable to import. Error code: %s. %s', AI1WM_PLUGIN_NAME ), $e->getCode(), $e->getMessage() ) );
|
| 69 |
// Run function hook
|
| 70 |
$params = call_user_func_array( $hook['function'], array( $params ) );
|
| 71 |
|
|
|
|
|
|
|
|
|
|
| 72 |
} catch ( Ai1wm_Import_Retry_Exception $e ) {
|
| 73 |
if ( defined( 'WP_CLI' ) ) {
|
| 74 |
WP_CLI::error( sprintf( __( 'Unable to import. Error code: %s. %s', AI1WM_PLUGIN_NAME ), $e->getCode(), $e->getMessage() ) );
|
lib/model/class-ai1wm-log.php
CHANGED
|
@@ -29,44 +29,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
| 29 |
|
| 30 |
class Ai1wm_Log {
|
| 31 |
|
| 32 |
-
public static function export( $params ) {
|
| 33 |
-
$data = array();
|
| 34 |
-
|
| 35 |
-
// Add date
|
| 36 |
-
$data[] = date( 'M d Y H:i:s' );
|
| 37 |
-
|
| 38 |
-
// Add params
|
| 39 |
-
$data[] = json_encode( $params );
|
| 40 |
-
|
| 41 |
-
// Add empty line
|
| 42 |
-
$data[] = PHP_EOL;
|
| 43 |
-
|
| 44 |
-
// Write log data
|
| 45 |
-
if ( $handle = ai1wm_open( ai1wm_export_path( $params ), 'a' ) ) {
|
| 46 |
-
ai1wm_write( $handle, implode( PHP_EOL, $data ) );
|
| 47 |
-
ai1wm_close( $handle );
|
| 48 |
-
}
|
| 49 |
-
}
|
| 50 |
-
|
| 51 |
-
public static function import( $params ) {
|
| 52 |
-
$data = array();
|
| 53 |
-
|
| 54 |
-
// Add date
|
| 55 |
-
$data[] = date( 'M d Y H:i:s' );
|
| 56 |
-
|
| 57 |
-
// Add params
|
| 58 |
-
$data[] = json_encode( $params );
|
| 59 |
-
|
| 60 |
-
// Add empty line
|
| 61 |
-
$data[] = PHP_EOL;
|
| 62 |
-
|
| 63 |
-
// Write log data
|
| 64 |
-
if ( $handle = ai1wm_open( ai1wm_import_path( $params ), 'a' ) ) {
|
| 65 |
-
ai1wm_write( $handle, implode( PHP_EOL, $data ) );
|
| 66 |
-
ai1wm_close( $handle );
|
| 67 |
-
}
|
| 68 |
-
}
|
| 69 |
-
|
| 70 |
public static function error( $params ) {
|
| 71 |
$data = array();
|
| 72 |
|
| 29 |
|
| 30 |
class Ai1wm_Log {
|
| 31 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 32 |
public static function error( $params ) {
|
| 33 |
$data = array();
|
| 34 |
|
lib/vendor/servmask/database/class-ai1wm-database.php
CHANGED
|
@@ -1038,6 +1038,11 @@ abstract class Ai1wm_Database {
|
|
| 1038 |
$this->query( $query );
|
| 1039 |
}
|
| 1040 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1041 |
// Check max queries per hour
|
| 1042 |
if ( $this->errno() === 1226 ) {
|
| 1043 |
if ( stripos( $this->error(), 'max_queries_per_hour' ) !== false ) {
|
| 1038 |
$this->query( $query );
|
| 1039 |
}
|
| 1040 |
|
| 1041 |
+
// Check tablespace exists
|
| 1042 |
+
if ( $this->errno() === 1813 ) {
|
| 1043 |
+
throw new Ai1wm_Database_Exception( __( 'Error importing database table. <a href="https://help.servmask.com/knowledgebase/mysql-error-importing-table/" target="_blank">Technical details</a>', AI1WM_PLUGIN_NAME ), 503 );
|
| 1044 |
+
}
|
| 1045 |
+
|
| 1046 |
// Check max queries per hour
|
| 1047 |
if ( $this->errno() === 1226 ) {
|
| 1048 |
if ( stripos( $this->error(), 'max_queries_per_hour' ) !== false ) {
|
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.
|
| 6 |
Requires PHP: 5.2.17
|
| 7 |
-
Stable tag: 7.
|
| 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 |
= 7.37 =
|
| 112 |
**Added**
|
| 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.7
|
| 6 |
Requires PHP: 5.2.17
|
| 7 |
+
Stable tag: 7.38
|
| 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.38 =
|
| 112 |
+
**Added**
|
| 113 |
+
|
| 114 |
+
* Improved MySQL error handling
|
| 115 |
+
|
| 116 |
= 7.37 =
|
| 117 |
**Added**
|
| 118 |
|
