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