Version Description
Fixed
- Decrease memory use during export and import of the database
- Wait 5 seconds longer for servers to process export/import jobs
Changed
- Removed emoticon from Import success screen
Download this release
Release Info
Developer | bangelov |
Plugin | All-in-One WP Migration |
Version | 6.94 |
Comparing to | |
See all releases |
Code changes from version 6.93 to 6.94
- all-in-one-wp-migration.php +1 -1
- constants.php +7 -2
- lib/controller/class-ai1wm-export-controller.php +1 -1
- lib/controller/class-ai1wm-feedback-controller.php +16 -1
- lib/controller/class-ai1wm-import-controller.php +1 -1
- lib/model/class-ai1wm-extensions.php +1 -1
- lib/model/class-ai1wm-feedback.php +10 -8
- lib/model/import/class-ai1wm-import-done.php +1 -1
- lib/model/import/class-ai1wm-import-mu-plugins.php +1 -0
- lib/vendor/servmask/cron/class-ai1wm-cron.php +20 -3
- lib/vendor/servmask/database/class-ai1wm-database-mysqli.php +8 -1
- readme.txt +11 -1
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.94
|
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 =
|
@@ -193,10 +193,15 @@ define( 'AI1WM_ENDURANCE_BROWSER_CACHE_NAME', 'endurance-browser-cache.php' );
|
|
193 |
define( 'AI1WM_GD_SYSTEM_PLUGIN_NAME', 'gd-system-plugin.php' );
|
194 |
|
195 |
// =======================
|
196 |
-
// =
|
197 |
// =======================
|
198 |
define( 'AI1WM_WP_STACK_CACHE_NAME', 'wp-stack-cache.php' );
|
199 |
|
|
|
|
|
|
|
|
|
|
|
200 |
// ===================
|
201 |
// = Export Log Name =
|
202 |
// ===================
|
35 |
// ==================
|
36 |
// = Plugin Version =
|
37 |
// ==================
|
38 |
+
define( 'AI1WM_VERSION', '6.94' );
|
39 |
|
40 |
// ===============
|
41 |
// = Plugin Name =
|
193 |
define( 'AI1WM_GD_SYSTEM_PLUGIN_NAME', 'gd-system-plugin.php' );
|
194 |
|
195 |
// =======================
|
196 |
+
// = WP Stack Cache Name =
|
197 |
// =======================
|
198 |
define( 'AI1WM_WP_STACK_CACHE_NAME', 'wp-stack-cache.php' );
|
199 |
|
200 |
+
// ===========================
|
201 |
+
// = WP.com Site Helper Name =
|
202 |
+
// ===========================
|
203 |
+
define( 'AI1WM_WP_COMSH_LOADER_NAME', 'wpcomsh-loader.php' );
|
204 |
+
|
205 |
// ===================
|
206 |
// = Export Log Name =
|
207 |
// ===================
|
lib/controller/class-ai1wm-export-controller.php
CHANGED
@@ -115,7 +115,7 @@ class Ai1wm_Export_Controller {
|
|
115 |
}
|
116 |
|
117 |
wp_remote_post( apply_filters( 'ai1wm_http_export_url', admin_url( 'admin-ajax.php?action=ai1wm_export' ) ), array(
|
118 |
-
'timeout' => apply_filters( 'ai1wm_http_export_timeout',
|
119 |
'blocking' => apply_filters( 'ai1wm_http_export_blocking', false ),
|
120 |
'sslverify' => apply_filters( 'ai1wm_http_export_sslverify', false ),
|
121 |
'headers' => apply_filters( 'ai1wm_http_export_headers', array() ),
|
115 |
}
|
116 |
|
117 |
wp_remote_post( apply_filters( 'ai1wm_http_export_url', admin_url( 'admin-ajax.php?action=ai1wm_export' ) ), array(
|
118 |
+
'timeout' => apply_filters( 'ai1wm_http_export_timeout', 10 ),
|
119 |
'blocking' => apply_filters( 'ai1wm_http_export_blocking', false ),
|
120 |
'sslverify' => apply_filters( 'ai1wm_http_export_sslverify', false ),
|
121 |
'headers' => apply_filters( 'ai1wm_http_export_headers', array() ),
|
lib/controller/class-ai1wm-feedback-controller.php
CHANGED
@@ -73,10 +73,25 @@ class Ai1wm_Feedback_Controller {
|
|
73 |
exit;
|
74 |
}
|
75 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
$model = new Ai1wm_Feedback;
|
77 |
|
78 |
// Send feedback
|
79 |
-
$errors = $model->add( $type, $email, $message, $terms );
|
80 |
|
81 |
echo json_encode( array( 'errors' => $errors ) );
|
82 |
exit;
|
73 |
exit;
|
74 |
}
|
75 |
|
76 |
+
$extensions = Ai1wm_Extensions::get();
|
77 |
+
|
78 |
+
if ( defined( 'AI1WMTE_PLUGIN_NAME' ) ) {
|
79 |
+
unset( $extensions[ AI1WMTE_PLUGIN_NAME ] );
|
80 |
+
}
|
81 |
+
|
82 |
+
$purchases = array();
|
83 |
+
foreach ( $extensions as $extension ) {
|
84 |
+
if ( $uuid = get_option( $extension['key'] ) ) {
|
85 |
+
$purchases[] = $uuid;
|
86 |
+
}
|
87 |
+
}
|
88 |
+
|
89 |
+
$purchases = implode( PHP_EOL, $purchases );
|
90 |
+
|
91 |
$model = new Ai1wm_Feedback;
|
92 |
|
93 |
// Send feedback
|
94 |
+
$errors = $model->add( $type, $email, $message, $terms, $purchases );
|
95 |
|
96 |
echo json_encode( array( 'errors' => $errors ) );
|
97 |
exit;
|
lib/controller/class-ai1wm-import-controller.php
CHANGED
@@ -123,7 +123,7 @@ class Ai1wm_Import_Controller {
|
|
123 |
}
|
124 |
|
125 |
wp_remote_post( apply_filters( 'ai1wm_http_import_url', admin_url( 'admin-ajax.php?action=ai1wm_import' ) ), array(
|
126 |
-
'timeout' => apply_filters( 'ai1wm_http_import_timeout',
|
127 |
'blocking' => apply_filters( 'ai1wm_http_import_blocking', false ),
|
128 |
'sslverify' => apply_filters( 'ai1wm_http_import_sslverify', false ),
|
129 |
'headers' => apply_filters( 'ai1wm_http_import_headers', array() ),
|
123 |
}
|
124 |
|
125 |
wp_remote_post( apply_filters( 'ai1wm_http_import_url', admin_url( 'admin-ajax.php?action=ai1wm_import' ) ), array(
|
126 |
+
'timeout' => apply_filters( 'ai1wm_http_import_timeout', 10 ),
|
127 |
'blocking' => apply_filters( 'ai1wm_http_import_blocking', false ),
|
128 |
'sslverify' => apply_filters( 'ai1wm_http_import_sslverify', false ),
|
129 |
'headers' => apply_filters( 'ai1wm_http_import_headers', array() ),
|
lib/model/class-ai1wm-extensions.php
CHANGED
@@ -188,7 +188,7 @@ class Ai1wm_Extensions {
|
|
188 |
'about' => AI1WMME_PLUGIN_ABOUT,
|
189 |
'basename' => AI1WMME_PLUGIN_BASENAME,
|
190 |
'version' => AI1WMME_VERSION,
|
191 |
-
'requires' => '3.
|
192 |
'short' => AI1WMME_PLUGIN_SHORT,
|
193 |
);
|
194 |
}
|
188 |
'about' => AI1WMME_PLUGIN_ABOUT,
|
189 |
'basename' => AI1WMME_PLUGIN_BASENAME,
|
190 |
'version' => AI1WMME_VERSION,
|
191 |
+
'requires' => '3.74',
|
192 |
'short' => AI1WMME_PLUGIN_SHORT,
|
193 |
);
|
194 |
}
|
lib/model/class-ai1wm-feedback.php
CHANGED
@@ -32,14 +32,15 @@ class Ai1wm_Feedback {
|
|
32 |
/**
|
33 |
* Submit customer feedback to servmask.com
|
34 |
*
|
35 |
-
* @param string $type
|
36 |
-
* @param string $email
|
37 |
-
* @param string $message
|
38 |
-
* @param integer $terms
|
|
|
39 |
*
|
40 |
* @return array
|
41 |
*/
|
42 |
-
public function add( $type, $email, $message, $terms ) {
|
43 |
$errors = array();
|
44 |
|
45 |
// Submit feedback to ServMask
|
@@ -57,9 +58,10 @@ class Ai1wm_Feedback {
|
|
57 |
array(
|
58 |
'timeout' => 15,
|
59 |
'body' => array(
|
60 |
-
'type'
|
61 |
-
'email'
|
62 |
-
'message'
|
|
|
63 |
),
|
64 |
)
|
65 |
);
|
32 |
/**
|
33 |
* Submit customer feedback to servmask.com
|
34 |
*
|
35 |
+
* @param string $type Feedback type
|
36 |
+
* @param string $email User e-mail
|
37 |
+
* @param string $message User message
|
38 |
+
* @param integer $terms User accept terms
|
39 |
+
* @param string $purchases Purchases IDs
|
40 |
*
|
41 |
* @return array
|
42 |
*/
|
43 |
+
public function add( $type, $email, $message, $terms, $purchases ) {
|
44 |
$errors = array();
|
45 |
|
46 |
// Submit feedback to ServMask
|
58 |
array(
|
59 |
'timeout' => 15,
|
60 |
'body' => array(
|
61 |
+
'type' => $type,
|
62 |
+
'email' => $email,
|
63 |
+
'message' => $message,
|
64 |
+
'purchases' => $purchases,
|
65 |
),
|
66 |
)
|
67 |
);
|
lib/model/import/class-ai1wm-import-done.php
CHANGED
@@ -211,7 +211,7 @@ class Ai1wm_Import_Done {
|
|
211 |
// Set progress
|
212 |
Ai1wm_Status::done(
|
213 |
__(
|
214 |
-
'
|
215 |
AI1WM_PLUGIN_NAME
|
216 |
),
|
217 |
sprintf(
|
211 |
// Set progress
|
212 |
Ai1wm_Status::done(
|
213 |
__(
|
214 |
+
'Your site has been imported successfully!',
|
215 |
AI1WM_PLUGIN_NAME
|
216 |
),
|
217 |
sprintf(
|
lib/model/import/class-ai1wm-import-mu-plugins.php
CHANGED
@@ -40,6 +40,7 @@ class Ai1wm_Import_Mu_Plugins {
|
|
40 |
AI1WM_MUPLUGINS_NAME . DIRECTORY_SEPARATOR . AI1WM_ENDURANCE_BROWSER_CACHE_NAME,
|
41 |
AI1WM_MUPLUGINS_NAME . DIRECTORY_SEPARATOR . AI1WM_GD_SYSTEM_PLUGIN_NAME,
|
42 |
AI1WM_MUPLUGINS_NAME . DIRECTORY_SEPARATOR . AI1WM_WP_STACK_CACHE_NAME,
|
|
|
43 |
);
|
44 |
|
45 |
// Open the archive file for reading
|
40 |
AI1WM_MUPLUGINS_NAME . DIRECTORY_SEPARATOR . AI1WM_ENDURANCE_BROWSER_CACHE_NAME,
|
41 |
AI1WM_MUPLUGINS_NAME . DIRECTORY_SEPARATOR . AI1WM_GD_SYSTEM_PLUGIN_NAME,
|
42 |
AI1WM_MUPLUGINS_NAME . DIRECTORY_SEPARATOR . AI1WM_WP_STACK_CACHE_NAME,
|
43 |
+
AI1WM_MUPLUGINS_NAME . DIRECTORY_SEPARATOR . AI1WM_WP_COMSH_LOADER_NAME,
|
44 |
);
|
45 |
|
46 |
// Open the archive file for reading
|
lib/vendor/servmask/cron/class-ai1wm-cron.php
CHANGED
@@ -36,14 +36,31 @@ class Ai1wm_Cron {
|
|
36 |
* @param string $hook Event hook
|
37 |
* @param string $recurrence How often the event should reoccur
|
38 |
* @param array $args Arguments to pass to the hook function(s)
|
|
|
39 |
* @return mixed
|
40 |
*/
|
41 |
-
public static function add( $hook, $recurrence, $args = array() ) {
|
42 |
-
$args = array_slice( func_get_args(), 2 );
|
43 |
$schedules = wp_get_schedules();
|
44 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
if ( isset( $schedules[ $recurrence ] ) && ( $current = $schedules[ $recurrence ] ) ) {
|
46 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
}
|
48 |
}
|
49 |
|
36 |
* @param string $hook Event hook
|
37 |
* @param string $recurrence How often the event should reoccur
|
38 |
* @param array $args Arguments to pass to the hook function(s)
|
39 |
+
* @param string $time Preferred time of day when the event shall be run, e.g. 23:59 (optional)
|
40 |
* @return mixed
|
41 |
*/
|
42 |
+
public static function add( $hook, $recurrence, $args = array(), $time = null ) {
|
|
|
43 |
$schedules = wp_get_schedules();
|
44 |
|
45 |
+
if ( is_null( $time ) ) {
|
46 |
+
// Use current time as default
|
47 |
+
$timestamp = time();
|
48 |
+
} else {
|
49 |
+
// Preferred time is used with current date
|
50 |
+
$date = date( 'Y-m-d' );
|
51 |
+
$datetime = sprintf( '%s %s', $date, $time );
|
52 |
+
$timestamp = strtotime( $datetime );
|
53 |
+
}
|
54 |
+
|
55 |
if ( isset( $schedules[ $recurrence ] ) && ( $current = $schedules[ $recurrence ] ) ) {
|
56 |
+
if ( $timestamp < time() ) {
|
57 |
+
// Calculating number of intervals from $timestamp to the next run
|
58 |
+
$intervals = ceil( ( time() - $timestamp ) / $current['interval'] );
|
59 |
+
$duration = $intervals * $current['interval'];
|
60 |
+
|
61 |
+
$timestamp += $duration;
|
62 |
+
}
|
63 |
+
return wp_schedule_event( $timestamp, $recurrence, $hook, array( $args ) );
|
64 |
}
|
65 |
}
|
66 |
|
lib/vendor/servmask/database/class-ai1wm-database-mysqli.php
CHANGED
@@ -36,7 +36,14 @@ class Ai1wm_Database_Mysqli extends Ai1wm_Database {
|
|
36 |
* @return resource
|
37 |
*/
|
38 |
public function query( $input ) {
|
39 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
}
|
41 |
|
42 |
/**
|
36 |
* @return resource
|
37 |
*/
|
38 |
public function query( $input ) {
|
39 |
+
if ( mysqli_real_query( $this->wpdb->dbh, $input ) ) {
|
40 |
+
// Copy results from the internal mysqlnd buffer into the PHP variables fetched
|
41 |
+
if ( defined( 'MYSQLI_STORE_RESULT_COPY_DATA' ) ) {
|
42 |
+
return mysqli_store_result( $this->wpdb->dbh, MYSQLI_STORE_RESULT_COPY_DATA );
|
43 |
+
}
|
44 |
+
|
45 |
+
return mysqli_store_result( $this->wpdb->dbh );
|
46 |
+
}
|
47 |
}
|
48 |
|
49 |
/**
|
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.2
|
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,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 |
= 6.93 =
|
112 |
**Changed**
|
113 |
|
4 |
Requires at least: 3.3
|
5 |
Tested up to: 5.2
|
6 |
Requires PHP: 5.2.17
|
7 |
+
Stable tag: 6.94
|
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.94 =
|
112 |
+
**Fixed**
|
113 |
+
|
114 |
+
* Decrease memory use during export and import of the database
|
115 |
+
* Wait 5 seconds longer for servers to process export/import jobs
|
116 |
+
|
117 |
+
**Changed**
|
118 |
+
|
119 |
+
* Removed emoticon from Import success screen
|
120 |
+
|
121 |
= 6.93 =
|
122 |
**Changed**
|
123 |
|