All-in-One WP Migration - Version 6.94

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 Icon 128x128 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 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.93
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.93' );
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
- // = Wp Stack Cache Name =
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', 5 ),
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', 5 ),
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.73',
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 Feedback type
36
- * @param string $email User e-mail
37
- * @param string $message User message
38
- * @param integer $terms User accept 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' => $type,
61
- 'email' => $email,
62
- 'message' => $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
- '☺ Your site has been imported successfully!',
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
- return wp_schedule_event( time() + $current['interval'], $recurrence, $hook, $args );
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
- return mysqli_query( $this->wpdb->dbh, $input, MYSQLI_STORE_RESULT );
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.93
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