Version Description
Added
- Display a message when MySQL server exceeds a limit
Download this release
Release Info
| Developer | bangelov |
| Plugin | |
| Version | 7.12 |
| Comparing to | |
| See all releases | |
Code changes from version 7.11 to 7.12
- all-in-one-wp-migration.php +1 -1
- changelog.txt +1 -1
- constants.php +1 -1
- lib/controller/class-ai1wm-export-controller.php +1 -1
- lib/controller/class-ai1wm-import-controller.php +10 -1
- lib/controller/class-ai1wm-main-controller.php +2 -2
- lib/vendor/servmask/command/class-ai1wm-wp-cli-command.php +2 -2
- lib/vendor/servmask/database/class-ai1wm-database.php +37 -3
- lib/view/assets/javascript/backups.min.js +224 -40
- lib/view/assets/javascript/export.min.js +90 -17
- lib/view/assets/javascript/import.min.js +134 -23
- lib/view/main/backups-htaccess-notice.php +1 -1
- lib/view/main/backups-index-notice.php +1 -1
- lib/view/main/backups-path-notice.php +2 -2
- lib/view/main/backups-webconfig-notice.php +1 -1
- lib/view/main/multisite-notice.php +1 -1
- lib/view/main/storage-index-notice.php +1 -1
- lib/view/main/storage-path-notice.php +2 -2
- lib/view/main/wordpress-htaccess-notice.php +1 -1
- readme.txt +6 -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: 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.12
|
| 9 |
* Text Domain: all-in-one-wp-migration
|
| 10 |
* Domain Path: /languages
|
| 11 |
* Network: True
|
changelog.txt
CHANGED
|
@@ -237,7 +237,7 @@
|
|
| 237 |
|
| 238 |
= 1.8.1 =
|
| 239 |
* Added "Get Support" link in the plugin list page
|
| 240 |
-
* Removed "All
|
| 241 |
|
| 242 |
= 1.8.0 =
|
| 243 |
* Added support for dynamically recognizing Site URL and Home URL on the import page
|
| 237 |
|
| 238 |
= 1.8.1 =
|
| 239 |
* Added "Get Support" link in the plugin list page
|
| 240 |
+
* Removed "All-in-One WP Migration Beta" link from the readme file
|
| 241 |
|
| 242 |
= 1.8.0 =
|
| 243 |
* Added support for dynamically recognizing Site URL and Home URL on the import page
|
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 =
|
| 35 |
// ==================
|
| 36 |
// = Plugin Version =
|
| 37 |
// ==================
|
| 38 |
+
define( 'AI1WM_VERSION', '7.12' );
|
| 39 |
|
| 40 |
// ===============
|
| 41 |
// = Plugin Name =
|
lib/controller/class-ai1wm-export-controller.php
CHANGED
|
@@ -128,7 +128,7 @@ class Ai1wm_Export_Controller {
|
|
| 128 |
$active_filters = array();
|
| 129 |
$static_filters = array();
|
| 130 |
|
| 131 |
-
// All
|
| 132 |
if ( defined( 'AI1WM_PLUGIN_NAME' ) ) {
|
| 133 |
$active_filters[] = apply_filters( 'ai1wm_export_file', Ai1wm_Template::get_content( 'export/button-file' ) );
|
| 134 |
} else {
|
| 128 |
$active_filters = array();
|
| 129 |
$static_filters = array();
|
| 130 |
|
| 131 |
+
// All-in-One WP Migration
|
| 132 |
if ( defined( 'AI1WM_PLUGIN_NAME' ) ) {
|
| 133 |
$active_filters[] = apply_filters( 'ai1wm_export_file', Ai1wm_Template::get_content( 'export/button-file' ) );
|
| 134 |
} else {
|
lib/controller/class-ai1wm-import-controller.php
CHANGED
|
@@ -80,6 +80,15 @@ class Ai1wm_Import_Controller {
|
|
| 80 |
echo json_encode( array( 'errors' => array( array( 'code' => $e->getCode(), 'message' => $e->getMessage() ) ) ) );
|
| 81 |
}
|
| 82 |
exit;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 83 |
} catch ( Exception $e ) {
|
| 84 |
if ( defined( 'WP_CLI' ) ) {
|
| 85 |
WP_CLI::error( sprintf( __( 'Unable to import: %s', AI1WM_PLUGIN_NAME ), $e->getMessage() ) );
|
|
@@ -136,7 +145,7 @@ class Ai1wm_Import_Controller {
|
|
| 136 |
$active_filters = array();
|
| 137 |
$static_filters = array();
|
| 138 |
|
| 139 |
-
// All
|
| 140 |
if ( defined( 'AI1WM_PLUGIN_NAME' ) ) {
|
| 141 |
$active_filters[] = apply_filters( 'ai1wm_import_file', Ai1wm_Template::get_content( 'import/button-file' ) );
|
| 142 |
} else {
|
| 80 |
echo json_encode( array( 'errors' => array( array( 'code' => $e->getCode(), 'message' => $e->getMessage() ) ) ) );
|
| 81 |
}
|
| 82 |
exit;
|
| 83 |
+
} catch ( Ai1wm_Database_Exception $e ) {
|
| 84 |
+
if ( defined( 'WP_CLI' ) ) {
|
| 85 |
+
WP_CLI::error( sprintf( __( 'Unable to import. Error code: %s. %s', AI1WM_PLUGIN_NAME ), $e->getCode(), $e->getMessage() ) );
|
| 86 |
+
} else {
|
| 87 |
+
status_header( $e->getCode() );
|
| 88 |
+
echo json_encode( array( 'errors' => array( array( 'code' => $e->getCode(), 'message' => $e->getMessage() ) ) ) );
|
| 89 |
+
}
|
| 90 |
+
Ai1wm_Directory::delete( ai1wm_storage_path( $params ) );
|
| 91 |
+
exit;
|
| 92 |
} catch ( Exception $e ) {
|
| 93 |
if ( defined( 'WP_CLI' ) ) {
|
| 94 |
WP_CLI::error( sprintf( __( 'Unable to import: %s', AI1WM_PLUGIN_NAME ), $e->getMessage() ) );
|
| 145 |
$active_filters = array();
|
| 146 |
$static_filters = array();
|
| 147 |
|
| 148 |
+
// All-in-One WP Migration
|
| 149 |
if ( defined( 'AI1WM_PLUGIN_NAME' ) ) {
|
| 150 |
$active_filters[] = apply_filters( 'ai1wm_import_file', Ai1wm_Template::get_content( 'import/button-file' ) );
|
| 151 |
} else {
|
lib/controller/class-ai1wm-main-controller.php
CHANGED
|
@@ -101,7 +101,7 @@ class Ai1wm_Main_Controller {
|
|
| 101 |
// Admin header
|
| 102 |
add_action( 'admin_head', array( $this, 'admin_head' ) );
|
| 103 |
|
| 104 |
-
// All
|
| 105 |
add_action( 'plugins_loaded', array( $this, 'ai1wm_loaded' ), 10 );
|
| 106 |
|
| 107 |
// Export and import commands
|
|
@@ -191,7 +191,7 @@ class Ai1wm_Main_Controller {
|
|
| 191 |
}
|
| 192 |
|
| 193 |
/**
|
| 194 |
-
* All
|
| 195 |
*
|
| 196 |
* @return void
|
| 197 |
*/
|
| 101 |
// Admin header
|
| 102 |
add_action( 'admin_head', array( $this, 'admin_head' ) );
|
| 103 |
|
| 104 |
+
// All-in-One WP Migration
|
| 105 |
add_action( 'plugins_loaded', array( $this, 'ai1wm_loaded' ), 10 );
|
| 106 |
|
| 107 |
// Export and import commands
|
| 191 |
}
|
| 192 |
|
| 193 |
/**
|
| 194 |
+
* All-in-One WP Migration loaded
|
| 195 |
*
|
| 196 |
* @return void
|
| 197 |
*/
|
lib/vendor/servmask/command/class-ai1wm-wp-cli-command.php
CHANGED
|
@@ -26,7 +26,7 @@ if ( defined( 'WP_CLI' ) ) {
|
|
| 26 |
if ( is_multisite() ) {
|
| 27 |
WP_CLI::error_multi_line(
|
| 28 |
array(
|
| 29 |
-
__( 'WordPress Multisite is supported via our All
|
| 30 |
__( 'You can get a copy of it here: https://servmask.com/products/multisite-extension', AI1WM_PLUGIN_NAME ),
|
| 31 |
)
|
| 32 |
);
|
|
@@ -35,7 +35,7 @@ if ( defined( 'WP_CLI' ) ) {
|
|
| 35 |
|
| 36 |
WP_CLI::error_multi_line(
|
| 37 |
array(
|
| 38 |
-
__( 'WordPress CLI is supported via our All
|
| 39 |
__( 'You can get a copy of it here: https://servmask.com/products/unlimited-extension', AI1WM_PLUGIN_NAME ),
|
| 40 |
)
|
| 41 |
);
|
| 26 |
if ( is_multisite() ) {
|
| 27 |
WP_CLI::error_multi_line(
|
| 28 |
array(
|
| 29 |
+
__( 'WordPress Multisite is supported via our All-in-One WP Migration Multisite Extension.', AI1WM_PLUGIN_NAME ),
|
| 30 |
__( 'You can get a copy of it here: https://servmask.com/products/multisite-extension', AI1WM_PLUGIN_NAME ),
|
| 31 |
)
|
| 32 |
);
|
| 35 |
|
| 36 |
WP_CLI::error_multi_line(
|
| 37 |
array(
|
| 38 |
+
__( 'WordPress CLI is supported via our All-in-One WP Migration Unlimited Extension.', AI1WM_PLUGIN_NAME ),
|
| 39 |
__( 'You can get a copy of it here: https://servmask.com/products/unlimited-extension', AI1WM_PLUGIN_NAME ),
|
| 40 |
)
|
| 41 |
);
|
lib/vendor/servmask/database/class-ai1wm-database.php
CHANGED
|
@@ -147,8 +147,9 @@ abstract class Ai1wm_Database {
|
|
| 147 |
if ( get_resource_type( $this->wpdb->dbh ) === 'SQL Server Connection' ) {
|
| 148 |
throw new Ai1wm_Database_Exception(
|
| 149 |
'Your WordPress installation uses Microsoft SQL Server. ' .
|
| 150 |
-
'
|
| 151 |
-
'<a href="https://help.servmask.com/knowledgebase/microsoft-sql-server/" target="_blank">Technical details</a>'
|
|
|
|
| 152 |
);
|
| 153 |
}
|
| 154 |
}
|
|
@@ -859,6 +860,39 @@ abstract class Ai1wm_Database {
|
|
| 859 |
// Run SQL query
|
| 860 |
$this->query( $query );
|
| 861 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 862 |
}
|
| 863 |
|
| 864 |
// Set query offset
|
|
@@ -1475,7 +1509,7 @@ abstract class Ai1wm_Database {
|
|
| 1475 |
protected function get_header() {
|
| 1476 |
// Some info about software, source and time
|
| 1477 |
$header = sprintf(
|
| 1478 |
-
"-- All
|
| 1479 |
"-- https://servmask.com/\n" .
|
| 1480 |
"--\n" .
|
| 1481 |
"-- Host: %s\n" .
|
| 147 |
if ( get_resource_type( $this->wpdb->dbh ) === 'SQL Server Connection' ) {
|
| 148 |
throw new Ai1wm_Database_Exception(
|
| 149 |
'Your WordPress installation uses Microsoft SQL Server. ' .
|
| 150 |
+
'To use All-in-One WP Migration, please change your installation to MySQL and try again. ' .
|
| 151 |
+
'<a href="https://help.servmask.com/knowledgebase/microsoft-sql-server/" target="_blank">Technical details</a>',
|
| 152 |
+
501
|
| 153 |
);
|
| 154 |
}
|
| 155 |
}
|
| 860 |
// Run SQL query
|
| 861 |
$this->query( $query );
|
| 862 |
}
|
| 863 |
+
|
| 864 |
+
// Check max queries per hour
|
| 865 |
+
if ( $this->errno() === 1226 ) {
|
| 866 |
+
if ( stripos( $this->error(), 'max_queries_per_hour' ) !== false ) {
|
| 867 |
+
throw new Ai1wm_Database_Exception(
|
| 868 |
+
'Your WordPress installation has reached the maximum allowed queries per hour set by your server admin or hosting provider. ' .
|
| 869 |
+
'To use All-in-One WP Migration, please increase MySQL max_queries_per_hour limit. ' .
|
| 870 |
+
'<a href="https://help.servmask.com/knowledgebase/mysql-error-codes/#max-queries-per-hour" target="_blank">Technical details</a>',
|
| 871 |
+
503
|
| 872 |
+
);
|
| 873 |
+
} elseif ( stripos( $this->error(), 'max_updates_per_hour' ) !== false ) {
|
| 874 |
+
throw new Ai1wm_Database_Exception(
|
| 875 |
+
'Your WordPress installation has reached the maximum allowed updates per hour set by your server admin or hosting provider. ' .
|
| 876 |
+
'To use All-in-One WP Migration, please increase MySQL max_updates_per_hour limit. ' .
|
| 877 |
+
'<a href="https://help.servmask.com/knowledgebase/mysql-error-codes/#max-updates-per-hour" target="_blank">Technical details</a>',
|
| 878 |
+
503
|
| 879 |
+
);
|
| 880 |
+
} elseif ( stripos( $this->error(), 'max_connections_per_hour' ) !== false ) {
|
| 881 |
+
throw new Ai1wm_Database_Exception(
|
| 882 |
+
'Your WordPress installation has reached the maximum allowed connections per hour set by your server admin or hosting provider. ' .
|
| 883 |
+
'To use All-in-One WP Migration, please increase MySQL max_connections_per_hour limit. ' .
|
| 884 |
+
'<a href="https://help.servmask.com/knowledgebase/mysql-error-codes/#max-connections-per-hour" target="_blank">Technical details</a>',
|
| 885 |
+
503
|
| 886 |
+
);
|
| 887 |
+
} elseif ( stripos( $this->error(), 'max_user_connections' ) !== false ) {
|
| 888 |
+
throw new Ai1wm_Database_Exception(
|
| 889 |
+
'Your WordPress installation has reached the maximum allowed user connections set by your server admin or hosting provider. ' .
|
| 890 |
+
'To use All-in-One WP Migration, please increase MySQL max_user_connections limit. ' .
|
| 891 |
+
'<a href="https://help.servmask.com/knowledgebase/mysql-error-codes/#max-user-connections" target="_blank">Technical details</a>',
|
| 892 |
+
503
|
| 893 |
+
);
|
| 894 |
+
}
|
| 895 |
+
}
|
| 896 |
}
|
| 897 |
|
| 898 |
// Set query offset
|
| 1509 |
protected function get_header() {
|
| 1510 |
// Some info about software, source and time
|
| 1511 |
$header = sprintf(
|
| 1512 |
+
"-- All-in-One WP Migration SQL Dump\n" .
|
| 1513 |
"-- https://servmask.com/\n" .
|
| 1514 |
"--\n" .
|
| 1515 |
"-- Host: %s\n" .
|
lib/view/assets/javascript/backups.min.js
CHANGED
|
@@ -350,9 +350,6 @@ var Import = function Import() {
|
|
| 350 |
// Set params
|
| 351 |
this.params = [];
|
| 352 |
|
| 353 |
-
// Set stop flag
|
| 354 |
-
this.stopImport = false;
|
| 355 |
-
|
| 356 |
// Set modal
|
| 357 |
this.modal = new Modal();
|
| 358 |
|
|
@@ -380,13 +377,13 @@ Import.prototype.start = function (options, retries) {
|
|
| 380 |
var self = this;
|
| 381 |
retries = retries || 0;
|
| 382 |
|
| 383 |
-
//
|
| 384 |
if (retries === 0) {
|
| 385 |
-
this.stopImport
|
| 386 |
}
|
| 387 |
|
| 388 |
// Stop running import
|
| 389 |
-
if (this.
|
| 390 |
return;
|
| 391 |
}
|
| 392 |
|
|
@@ -421,14 +418,34 @@ Import.prototype.start = function (options, retries) {
|
|
| 421 |
if (result) {
|
| 422 |
self.run(result);
|
| 423 |
}
|
| 424 |
-
}).fail(function () {
|
| 425 |
var timeout = retries * 1000;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 426 |
if (retries >= 5) {
|
| 427 |
-
|
|
|
|
| 428 |
type: 'error',
|
| 429 |
title: ai1wm_locale.unable_to_import,
|
| 430 |
message: ai1wm_locale.unable_to_start_the_import
|
| 431 |
});
|
|
|
|
| 432 |
}
|
| 433 |
|
| 434 |
retries++;
|
|
@@ -442,7 +459,7 @@ Import.prototype.run = function (params, retries) {
|
|
| 442 |
retries = retries || 0;
|
| 443 |
|
| 444 |
// Stop running import
|
| 445 |
-
if (this.
|
| 446 |
return;
|
| 447 |
}
|
| 448 |
|
|
@@ -459,9 +476,26 @@ Import.prototype.run = function (params, retries) {
|
|
| 459 |
if (result) {
|
| 460 |
self.run(result);
|
| 461 |
}
|
| 462 |
-
}).fail(function () {
|
| 463 |
var timeout = retries * 1000;
|
| 464 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 465 |
retries++;
|
| 466 |
|
| 467 |
setTimeout(self.run.bind(self, params, retries), timeout);
|
|
@@ -473,7 +507,7 @@ Import.prototype.confirm = function (options, retries) {
|
|
| 473 |
retries = retries || 0;
|
| 474 |
|
| 475 |
// Stop running import
|
| 476 |
-
if (this.
|
| 477 |
return;
|
| 478 |
}
|
| 479 |
|
|
@@ -500,14 +534,34 @@ Import.prototype.confirm = function (options, retries) {
|
|
| 500 |
if (result) {
|
| 501 |
self.run(result);
|
| 502 |
}
|
| 503 |
-
}).fail(function () {
|
| 504 |
var timeout = retries * 1000;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 505 |
if (retries >= 5) {
|
| 506 |
-
|
|
|
|
| 507 |
type: 'error',
|
| 508 |
title: ai1wm_locale.unable_to_import,
|
| 509 |
message: ai1wm_locale.unable_to_confirm_the_import
|
| 510 |
});
|
|
|
|
| 511 |
}
|
| 512 |
|
| 513 |
retries++;
|
|
@@ -521,7 +575,7 @@ Import.prototype.blogs = function (options, retries) {
|
|
| 521 |
retries = retries || 0;
|
| 522 |
|
| 523 |
// Stop running import
|
| 524 |
-
if (this.
|
| 525 |
return;
|
| 526 |
}
|
| 527 |
|
|
@@ -548,14 +602,34 @@ Import.prototype.blogs = function (options, retries) {
|
|
| 548 |
if (result) {
|
| 549 |
self.run(result);
|
| 550 |
}
|
| 551 |
-
}).fail(function () {
|
| 552 |
var timeout = retries * 1000;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 553 |
if (retries >= 5) {
|
| 554 |
-
|
|
|
|
| 555 |
type: 'error',
|
| 556 |
title: ai1wm_locale.unable_to_import,
|
| 557 |
message: ai1wm_locale.unable_to_prepare_blogs_on_import
|
| 558 |
});
|
|
|
|
| 559 |
}
|
| 560 |
|
| 561 |
retries++;
|
|
@@ -568,8 +642,10 @@ Import.prototype.clean = function (options, retries) {
|
|
| 568 |
var self = this;
|
| 569 |
retries = retries || 0;
|
| 570 |
|
| 571 |
-
//
|
| 572 |
-
|
|
|
|
|
|
|
| 573 |
|
| 574 |
// Set initial status
|
| 575 |
this.setStatus({ type: 'info', message: ai1wm_locale.please_wait_stopping_the_import });
|
|
@@ -597,14 +673,34 @@ Import.prototype.clean = function (options, retries) {
|
|
| 597 |
|
| 598 |
// Destroy modal
|
| 599 |
self.modal.destroy();
|
| 600 |
-
}).fail(function () {
|
| 601 |
var timeout = retries * 1000;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 602 |
if (retries >= 5) {
|
| 603 |
-
|
|
|
|
| 604 |
type: 'error',
|
| 605 |
title: ai1wm_locale.unable_to_import,
|
| 606 |
message: ai1wm_locale.unable_to_stop_the_import
|
| 607 |
});
|
|
|
|
| 608 |
}
|
| 609 |
|
| 610 |
retries++;
|
|
@@ -617,11 +713,11 @@ Import.prototype.getStatus = function () {
|
|
| 617 |
var self = this;
|
| 618 |
|
| 619 |
// Stop getting status
|
| 620 |
-
if (this.
|
| 621 |
return;
|
| 622 |
}
|
| 623 |
|
| 624 |
-
$.ajax({
|
| 625 |
url: ai1wm_import.status.url,
|
| 626 |
type: 'GET',
|
| 627 |
dataType: 'json',
|
|
@@ -671,6 +767,20 @@ Import.prototype.onStop = function (options) {
|
|
| 671 |
this.clean(options);
|
| 672 |
};
|
| 673 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 674 |
module.exports = Import;
|
| 675 |
|
| 676 |
/***/ }),
|
|
@@ -764,7 +874,8 @@ var Modal = function Modal() {
|
|
| 764 |
|
| 765 |
// Update progress bar percent
|
| 766 |
if (this.progress.progressBarPercent) {
|
| 767 |
-
|
|
|
|
| 768 |
}
|
| 769 |
|
| 770 |
// Create the modal container
|
|
@@ -1156,9 +1267,6 @@ var Export = function Export() {
|
|
| 1156 |
// Set params
|
| 1157 |
this.params = [];
|
| 1158 |
|
| 1159 |
-
// Set stop flag
|
| 1160 |
-
this.stopExport = false;
|
| 1161 |
-
|
| 1162 |
// Set modal
|
| 1163 |
this.modal = new Modal();
|
| 1164 |
|
|
@@ -1176,13 +1284,13 @@ Export.prototype.start = function (options, retries) {
|
|
| 1176 |
var self = this;
|
| 1177 |
retries = retries || 0;
|
| 1178 |
|
| 1179 |
-
//
|
| 1180 |
if (retries === 0) {
|
| 1181 |
-
this.stopExport
|
| 1182 |
}
|
| 1183 |
|
| 1184 |
// Stop running export
|
| 1185 |
-
if (this.
|
| 1186 |
return;
|
| 1187 |
}
|
| 1188 |
|
|
@@ -1217,14 +1325,34 @@ Export.prototype.start = function (options, retries) {
|
|
| 1217 |
if (result) {
|
| 1218 |
self.run(result);
|
| 1219 |
}
|
| 1220 |
-
}).fail(function () {
|
| 1221 |
var timeout = retries * 1000;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1222 |
if (retries >= 5) {
|
| 1223 |
-
|
|
|
|
| 1224 |
type: 'error',
|
| 1225 |
title: ai1wm_locale.unable_to_export,
|
| 1226 |
message: ai1wm_locale.unable_to_start_the_export
|
| 1227 |
});
|
|
|
|
| 1228 |
}
|
| 1229 |
|
| 1230 |
retries++;
|
|
@@ -1238,7 +1366,7 @@ Export.prototype.run = function (params, retries) {
|
|
| 1238 |
retries = retries || 0;
|
| 1239 |
|
| 1240 |
// Stop running export
|
| 1241 |
-
if (this.
|
| 1242 |
return;
|
| 1243 |
}
|
| 1244 |
|
|
@@ -1255,14 +1383,34 @@ Export.prototype.run = function (params, retries) {
|
|
| 1255 |
if (result) {
|
| 1256 |
self.run(result);
|
| 1257 |
}
|
| 1258 |
-
}).fail(function () {
|
| 1259 |
var timeout = retries * 1000;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1260 |
if (retries >= 5) {
|
| 1261 |
-
|
|
|
|
| 1262 |
type: 'error',
|
| 1263 |
title: ai1wm_locale.unable_to_export,
|
| 1264 |
message: ai1wm_locale.unable_to_run_the_export
|
| 1265 |
});
|
|
|
|
| 1266 |
}
|
| 1267 |
|
| 1268 |
retries++;
|
|
@@ -1275,8 +1423,10 @@ Export.prototype.clean = function (options, retries) {
|
|
| 1275 |
var self = this;
|
| 1276 |
retries = retries || 0;
|
| 1277 |
|
| 1278 |
-
//
|
| 1279 |
-
|
|
|
|
|
|
|
| 1280 |
|
| 1281 |
// Set initial status
|
| 1282 |
this.setStatus({ type: 'info', message: ai1wm_locale.please_wait_stopping_the_export });
|
|
@@ -1304,14 +1454,34 @@ Export.prototype.clean = function (options, retries) {
|
|
| 1304 |
|
| 1305 |
// Destroy modal
|
| 1306 |
self.modal.destroy();
|
| 1307 |
-
}).fail(function () {
|
| 1308 |
var timeout = retries * 1000;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1309 |
if (retries >= 5) {
|
| 1310 |
-
|
|
|
|
| 1311 |
type: 'error',
|
| 1312 |
title: ai1wm_locale.unable_to_export,
|
| 1313 |
message: ai1wm_locale.unable_to_stop_the_export
|
| 1314 |
});
|
|
|
|
| 1315 |
}
|
| 1316 |
|
| 1317 |
retries++;
|
|
@@ -1324,11 +1494,11 @@ Export.prototype.getStatus = function () {
|
|
| 1324 |
var self = this;
|
| 1325 |
|
| 1326 |
// Stop getting status
|
| 1327 |
-
if (this.
|
| 1328 |
return;
|
| 1329 |
}
|
| 1330 |
|
| 1331 |
-
$.ajax({
|
| 1332 |
url: ai1wm_export.status.url,
|
| 1333 |
type: 'GET',
|
| 1334 |
dataType: 'json',
|
|
@@ -1367,6 +1537,20 @@ Export.prototype.onStop = function (options) {
|
|
| 1367 |
this.clean(options);
|
| 1368 |
};
|
| 1369 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1370 |
module.exports = Export;
|
| 1371 |
|
| 1372 |
/***/ }),
|
| 350 |
// Set params
|
| 351 |
this.params = [];
|
| 352 |
|
|
|
|
|
|
|
|
|
|
| 353 |
// Set modal
|
| 354 |
this.modal = new Modal();
|
| 355 |
|
| 377 |
var self = this;
|
| 378 |
retries = retries || 0;
|
| 379 |
|
| 380 |
+
// Reset stop flag
|
| 381 |
if (retries === 0) {
|
| 382 |
+
this.stopImport(false);
|
| 383 |
}
|
| 384 |
|
| 385 |
// Stop running import
|
| 386 |
+
if (this.isImportStopped()) {
|
| 387 |
return;
|
| 388 |
}
|
| 389 |
|
| 418 |
if (result) {
|
| 419 |
self.run(result);
|
| 420 |
}
|
| 421 |
+
}).fail(function (xhr) {
|
| 422 |
var timeout = retries * 1000;
|
| 423 |
+
|
| 424 |
+
try {
|
| 425 |
+
var json = Ai1wm.Util.json(xhr.responseText);
|
| 426 |
+
if (json) {
|
| 427 |
+
var result = JSON.parse(json);
|
| 428 |
+
var error = result.errors.pop();
|
| 429 |
+
if (error.message) {
|
| 430 |
+
self.stopImport(true);
|
| 431 |
+
self.setStatus({
|
| 432 |
+
type: 'error',
|
| 433 |
+
title: ai1wm_locale.unable_to_import,
|
| 434 |
+
message: error.message
|
| 435 |
+
});
|
| 436 |
+
return;
|
| 437 |
+
}
|
| 438 |
+
}
|
| 439 |
+
} catch (e) {}
|
| 440 |
+
|
| 441 |
if (retries >= 5) {
|
| 442 |
+
self.stopImport(true);
|
| 443 |
+
self.setStatus({
|
| 444 |
type: 'error',
|
| 445 |
title: ai1wm_locale.unable_to_import,
|
| 446 |
message: ai1wm_locale.unable_to_start_the_import
|
| 447 |
});
|
| 448 |
+
return;
|
| 449 |
}
|
| 450 |
|
| 451 |
retries++;
|
| 459 |
retries = retries || 0;
|
| 460 |
|
| 461 |
// Stop running import
|
| 462 |
+
if (this.isImportStopped()) {
|
| 463 |
return;
|
| 464 |
}
|
| 465 |
|
| 476 |
if (result) {
|
| 477 |
self.run(result);
|
| 478 |
}
|
| 479 |
+
}).fail(function (xhr) {
|
| 480 |
var timeout = retries * 1000;
|
| 481 |
|
| 482 |
+
try {
|
| 483 |
+
var json = Ai1wm.Util.json(xhr.responseText);
|
| 484 |
+
if (json) {
|
| 485 |
+
var result = JSON.parse(json);
|
| 486 |
+
var error = result.errors.pop();
|
| 487 |
+
if (error.message) {
|
| 488 |
+
self.stopImport(true);
|
| 489 |
+
self.setStatus({
|
| 490 |
+
type: 'error',
|
| 491 |
+
title: ai1wm_locale.unable_to_import,
|
| 492 |
+
message: error.message
|
| 493 |
+
});
|
| 494 |
+
return;
|
| 495 |
+
}
|
| 496 |
+
}
|
| 497 |
+
} catch (e) {}
|
| 498 |
+
|
| 499 |
retries++;
|
| 500 |
|
| 501 |
setTimeout(self.run.bind(self, params, retries), timeout);
|
| 507 |
retries = retries || 0;
|
| 508 |
|
| 509 |
// Stop running import
|
| 510 |
+
if (this.isImportStopped()) {
|
| 511 |
return;
|
| 512 |
}
|
| 513 |
|
| 534 |
if (result) {
|
| 535 |
self.run(result);
|
| 536 |
}
|
| 537 |
+
}).fail(function (xhr) {
|
| 538 |
var timeout = retries * 1000;
|
| 539 |
+
|
| 540 |
+
try {
|
| 541 |
+
var json = Ai1wm.Util.json(xhr.responseText);
|
| 542 |
+
if (json) {
|
| 543 |
+
var result = JSON.parse(json);
|
| 544 |
+
var error = result.errors.pop();
|
| 545 |
+
if (error.message) {
|
| 546 |
+
self.stopImport(true);
|
| 547 |
+
self.setStatus({
|
| 548 |
+
type: 'error',
|
| 549 |
+
title: ai1wm_locale.unable_to_import,
|
| 550 |
+
message: error.message
|
| 551 |
+
});
|
| 552 |
+
return;
|
| 553 |
+
}
|
| 554 |
+
}
|
| 555 |
+
} catch (e) {}
|
| 556 |
+
|
| 557 |
if (retries >= 5) {
|
| 558 |
+
self.stopImport(true);
|
| 559 |
+
self.setStatus({
|
| 560 |
type: 'error',
|
| 561 |
title: ai1wm_locale.unable_to_import,
|
| 562 |
message: ai1wm_locale.unable_to_confirm_the_import
|
| 563 |
});
|
| 564 |
+
return;
|
| 565 |
}
|
| 566 |
|
| 567 |
retries++;
|
| 575 |
retries = retries || 0;
|
| 576 |
|
| 577 |
// Stop running import
|
| 578 |
+
if (this.isImportStopped()) {
|
| 579 |
return;
|
| 580 |
}
|
| 581 |
|
| 602 |
if (result) {
|
| 603 |
self.run(result);
|
| 604 |
}
|
| 605 |
+
}).fail(function (xhr) {
|
| 606 |
var timeout = retries * 1000;
|
| 607 |
+
|
| 608 |
+
try {
|
| 609 |
+
var json = Ai1wm.Util.json(xhr.responseText);
|
| 610 |
+
if (json) {
|
| 611 |
+
var result = JSON.parse(json);
|
| 612 |
+
var error = result.errors.pop();
|
| 613 |
+
if (error.message) {
|
| 614 |
+
self.stopImport(true);
|
| 615 |
+
self.setStatus({
|
| 616 |
+
type: 'error',
|
| 617 |
+
title: ai1wm_locale.unable_to_import,
|
| 618 |
+
message: error.message
|
| 619 |
+
});
|
| 620 |
+
return;
|
| 621 |
+
}
|
| 622 |
+
}
|
| 623 |
+
} catch (e) {}
|
| 624 |
+
|
| 625 |
if (retries >= 5) {
|
| 626 |
+
self.stopImport(true);
|
| 627 |
+
self.setStatus({
|
| 628 |
type: 'error',
|
| 629 |
title: ai1wm_locale.unable_to_import,
|
| 630 |
message: ai1wm_locale.unable_to_prepare_blogs_on_import
|
| 631 |
});
|
| 632 |
+
return;
|
| 633 |
}
|
| 634 |
|
| 635 |
retries++;
|
| 642 |
var self = this;
|
| 643 |
retries = retries || 0;
|
| 644 |
|
| 645 |
+
// Reset stop flag
|
| 646 |
+
if (retries === 0) {
|
| 647 |
+
this.stopImport(true);
|
| 648 |
+
}
|
| 649 |
|
| 650 |
// Set initial status
|
| 651 |
this.setStatus({ type: 'info', message: ai1wm_locale.please_wait_stopping_the_import });
|
| 673 |
|
| 674 |
// Destroy modal
|
| 675 |
self.modal.destroy();
|
| 676 |
+
}).fail(function (xhr) {
|
| 677 |
var timeout = retries * 1000;
|
| 678 |
+
|
| 679 |
+
try {
|
| 680 |
+
var json = Ai1wm.Util.json(xhr.responseText);
|
| 681 |
+
if (json) {
|
| 682 |
+
var result = JSON.parse(json);
|
| 683 |
+
var error = result.errors.pop();
|
| 684 |
+
if (error.message) {
|
| 685 |
+
self.stopImport(true);
|
| 686 |
+
self.setStatus({
|
| 687 |
+
type: 'error',
|
| 688 |
+
title: ai1wm_locale.unable_to_import,
|
| 689 |
+
message: error.message
|
| 690 |
+
});
|
| 691 |
+
return;
|
| 692 |
+
}
|
| 693 |
+
}
|
| 694 |
+
} catch (e) {}
|
| 695 |
+
|
| 696 |
if (retries >= 5) {
|
| 697 |
+
self.stopImport(true);
|
| 698 |
+
self.setStatus({
|
| 699 |
type: 'error',
|
| 700 |
title: ai1wm_locale.unable_to_import,
|
| 701 |
message: ai1wm_locale.unable_to_stop_the_import
|
| 702 |
});
|
| 703 |
+
return;
|
| 704 |
}
|
| 705 |
|
| 706 |
retries++;
|
| 713 |
var self = this;
|
| 714 |
|
| 715 |
// Stop getting status
|
| 716 |
+
if (this.isImportStopped()) {
|
| 717 |
return;
|
| 718 |
}
|
| 719 |
|
| 720 |
+
this.statusXhr = $.ajax({
|
| 721 |
url: ai1wm_import.status.url,
|
| 722 |
type: 'GET',
|
| 723 |
dataType: 'json',
|
| 767 |
this.clean(options);
|
| 768 |
};
|
| 769 |
|
| 770 |
+
Import.prototype.stopImport = function (isStopped) {
|
| 771 |
+
try {
|
| 772 |
+
if (isStopped) {
|
| 773 |
+
this.statusXhr.abort();
|
| 774 |
+
}
|
| 775 |
+
} finally {
|
| 776 |
+
this.isStopped = isStopped;
|
| 777 |
+
}
|
| 778 |
+
};
|
| 779 |
+
|
| 780 |
+
Import.prototype.isImportStopped = function () {
|
| 781 |
+
return this.isStopped;
|
| 782 |
+
};
|
| 783 |
+
|
| 784 |
module.exports = Import;
|
| 785 |
|
| 786 |
/***/ }),
|
| 874 |
|
| 875 |
// Update progress bar percent
|
| 876 |
if (this.progress.progressBarPercent) {
|
| 877 |
+
this.progress.progressBarPercent.text(params.percent + '%');
|
| 878 |
+
return;
|
| 879 |
}
|
| 880 |
|
| 881 |
// Create the modal container
|
| 1267 |
// Set params
|
| 1268 |
this.params = [];
|
| 1269 |
|
|
|
|
|
|
|
|
|
|
| 1270 |
// Set modal
|
| 1271 |
this.modal = new Modal();
|
| 1272 |
|
| 1284 |
var self = this;
|
| 1285 |
retries = retries || 0;
|
| 1286 |
|
| 1287 |
+
// Reset stop flag
|
| 1288 |
if (retries === 0) {
|
| 1289 |
+
this.stopExport(false);
|
| 1290 |
}
|
| 1291 |
|
| 1292 |
// Stop running export
|
| 1293 |
+
if (this.isExportStopped()) {
|
| 1294 |
return;
|
| 1295 |
}
|
| 1296 |
|
| 1325 |
if (result) {
|
| 1326 |
self.run(result);
|
| 1327 |
}
|
| 1328 |
+
}).fail(function (xhr) {
|
| 1329 |
var timeout = retries * 1000;
|
| 1330 |
+
|
| 1331 |
+
try {
|
| 1332 |
+
var json = Ai1wm.Util.json(xhr.responseText);
|
| 1333 |
+
if (json) {
|
| 1334 |
+
var result = JSON.parse(json);
|
| 1335 |
+
var error = result.errors.pop();
|
| 1336 |
+
if (error.message) {
|
| 1337 |
+
self.stopExport(true);
|
| 1338 |
+
self.setStatus({
|
| 1339 |
+
type: 'error',
|
| 1340 |
+
title: ai1wm_locale.unable_to_export,
|
| 1341 |
+
message: error.message
|
| 1342 |
+
});
|
| 1343 |
+
return;
|
| 1344 |
+
}
|
| 1345 |
+
}
|
| 1346 |
+
} catch (e) {}
|
| 1347 |
+
|
| 1348 |
if (retries >= 5) {
|
| 1349 |
+
self.stopExport(true);
|
| 1350 |
+
self.setStatus({
|
| 1351 |
type: 'error',
|
| 1352 |
title: ai1wm_locale.unable_to_export,
|
| 1353 |
message: ai1wm_locale.unable_to_start_the_export
|
| 1354 |
});
|
| 1355 |
+
return;
|
| 1356 |
}
|
| 1357 |
|
| 1358 |
retries++;
|
| 1366 |
retries = retries || 0;
|
| 1367 |
|
| 1368 |
// Stop running export
|
| 1369 |
+
if (this.isExportStopped()) {
|
| 1370 |
return;
|
| 1371 |
}
|
| 1372 |
|
| 1383 |
if (result) {
|
| 1384 |
self.run(result);
|
| 1385 |
}
|
| 1386 |
+
}).fail(function (xhr) {
|
| 1387 |
var timeout = retries * 1000;
|
| 1388 |
+
|
| 1389 |
+
try {
|
| 1390 |
+
var json = Ai1wm.Util.json(xhr.responseText);
|
| 1391 |
+
if (json) {
|
| 1392 |
+
var result = JSON.parse(json);
|
| 1393 |
+
var error = result.errors.pop();
|
| 1394 |
+
if (error.message) {
|
| 1395 |
+
self.stopExport(true);
|
| 1396 |
+
self.setStatus({
|
| 1397 |
+
type: 'error',
|
| 1398 |
+
title: ai1wm_locale.unable_to_export,
|
| 1399 |
+
message: error.message
|
| 1400 |
+
});
|
| 1401 |
+
return;
|
| 1402 |
+
}
|
| 1403 |
+
}
|
| 1404 |
+
} catch (e) {}
|
| 1405 |
+
|
| 1406 |
if (retries >= 5) {
|
| 1407 |
+
self.stopExport(true);
|
| 1408 |
+
self.setStatus({
|
| 1409 |
type: 'error',
|
| 1410 |
title: ai1wm_locale.unable_to_export,
|
| 1411 |
message: ai1wm_locale.unable_to_run_the_export
|
| 1412 |
});
|
| 1413 |
+
return;
|
| 1414 |
}
|
| 1415 |
|
| 1416 |
retries++;
|
| 1423 |
var self = this;
|
| 1424 |
retries = retries || 0;
|
| 1425 |
|
| 1426 |
+
// Reset stop flag
|
| 1427 |
+
if (retries === 0) {
|
| 1428 |
+
this.stopExport(true);
|
| 1429 |
+
}
|
| 1430 |
|
| 1431 |
// Set initial status
|
| 1432 |
this.setStatus({ type: 'info', message: ai1wm_locale.please_wait_stopping_the_export });
|
| 1454 |
|
| 1455 |
// Destroy modal
|
| 1456 |
self.modal.destroy();
|
| 1457 |
+
}).fail(function (xhr) {
|
| 1458 |
var timeout = retries * 1000;
|
| 1459 |
+
|
| 1460 |
+
try {
|
| 1461 |
+
var json = Ai1wm.Util.json(xhr.responseText);
|
| 1462 |
+
if (json) {
|
| 1463 |
+
var result = JSON.parse(json);
|
| 1464 |
+
var error = result.errors.pop();
|
| 1465 |
+
if (error.message) {
|
| 1466 |
+
self.stopExport(true);
|
| 1467 |
+
self.setStatus({
|
| 1468 |
+
type: 'error',
|
| 1469 |
+
title: ai1wm_locale.unable_to_export,
|
| 1470 |
+
message: error.message
|
| 1471 |
+
});
|
| 1472 |
+
return;
|
| 1473 |
+
}
|
| 1474 |
+
}
|
| 1475 |
+
} catch (e) {}
|
| 1476 |
+
|
| 1477 |
if (retries >= 5) {
|
| 1478 |
+
self.stopExport(true);
|
| 1479 |
+
self.setStatus({
|
| 1480 |
type: 'error',
|
| 1481 |
title: ai1wm_locale.unable_to_export,
|
| 1482 |
message: ai1wm_locale.unable_to_stop_the_export
|
| 1483 |
});
|
| 1484 |
+
return;
|
| 1485 |
}
|
| 1486 |
|
| 1487 |
retries++;
|
| 1494 |
var self = this;
|
| 1495 |
|
| 1496 |
// Stop getting status
|
| 1497 |
+
if (this.isExportStopped()) {
|
| 1498 |
return;
|
| 1499 |
}
|
| 1500 |
|
| 1501 |
+
this.statusXhr = $.ajax({
|
| 1502 |
url: ai1wm_export.status.url,
|
| 1503 |
type: 'GET',
|
| 1504 |
dataType: 'json',
|
| 1537 |
this.clean(options);
|
| 1538 |
};
|
| 1539 |
|
| 1540 |
+
Export.prototype.stopExport = function (isStopped) {
|
| 1541 |
+
try {
|
| 1542 |
+
if (isStopped) {
|
| 1543 |
+
this.statusXhr.abort();
|
| 1544 |
+
}
|
| 1545 |
+
} finally {
|
| 1546 |
+
this.isStopped = isStopped;
|
| 1547 |
+
}
|
| 1548 |
+
};
|
| 1549 |
+
|
| 1550 |
+
Export.prototype.isExportStopped = function () {
|
| 1551 |
+
return this.isStopped;
|
| 1552 |
+
};
|
| 1553 |
+
|
| 1554 |
module.exports = Export;
|
| 1555 |
|
| 1556 |
/***/ }),
|
lib/view/assets/javascript/export.min.js
CHANGED
|
@@ -352,9 +352,6 @@ var Export = function Export() {
|
|
| 352 |
// Set params
|
| 353 |
this.params = [];
|
| 354 |
|
| 355 |
-
// Set stop flag
|
| 356 |
-
this.stopExport = false;
|
| 357 |
-
|
| 358 |
// Set modal
|
| 359 |
this.modal = new Modal();
|
| 360 |
|
|
@@ -372,13 +369,13 @@ Export.prototype.start = function (options, retries) {
|
|
| 372 |
var self = this;
|
| 373 |
retries = retries || 0;
|
| 374 |
|
| 375 |
-
//
|
| 376 |
if (retries === 0) {
|
| 377 |
-
this.stopExport
|
| 378 |
}
|
| 379 |
|
| 380 |
// Stop running export
|
| 381 |
-
if (this.
|
| 382 |
return;
|
| 383 |
}
|
| 384 |
|
|
@@ -413,14 +410,34 @@ Export.prototype.start = function (options, retries) {
|
|
| 413 |
if (result) {
|
| 414 |
self.run(result);
|
| 415 |
}
|
| 416 |
-
}).fail(function () {
|
| 417 |
var timeout = retries * 1000;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 418 |
if (retries >= 5) {
|
| 419 |
-
|
|
|
|
| 420 |
type: 'error',
|
| 421 |
title: ai1wm_locale.unable_to_export,
|
| 422 |
message: ai1wm_locale.unable_to_start_the_export
|
| 423 |
});
|
|
|
|
| 424 |
}
|
| 425 |
|
| 426 |
retries++;
|
|
@@ -434,7 +451,7 @@ Export.prototype.run = function (params, retries) {
|
|
| 434 |
retries = retries || 0;
|
| 435 |
|
| 436 |
// Stop running export
|
| 437 |
-
if (this.
|
| 438 |
return;
|
| 439 |
}
|
| 440 |
|
|
@@ -451,14 +468,34 @@ Export.prototype.run = function (params, retries) {
|
|
| 451 |
if (result) {
|
| 452 |
self.run(result);
|
| 453 |
}
|
| 454 |
-
}).fail(function () {
|
| 455 |
var timeout = retries * 1000;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 456 |
if (retries >= 5) {
|
| 457 |
-
|
|
|
|
| 458 |
type: 'error',
|
| 459 |
title: ai1wm_locale.unable_to_export,
|
| 460 |
message: ai1wm_locale.unable_to_run_the_export
|
| 461 |
});
|
|
|
|
| 462 |
}
|
| 463 |
|
| 464 |
retries++;
|
|
@@ -471,8 +508,10 @@ Export.prototype.clean = function (options, retries) {
|
|
| 471 |
var self = this;
|
| 472 |
retries = retries || 0;
|
| 473 |
|
| 474 |
-
//
|
| 475 |
-
|
|
|
|
|
|
|
| 476 |
|
| 477 |
// Set initial status
|
| 478 |
this.setStatus({ type: 'info', message: ai1wm_locale.please_wait_stopping_the_export });
|
|
@@ -500,14 +539,34 @@ Export.prototype.clean = function (options, retries) {
|
|
| 500 |
|
| 501 |
// Destroy modal
|
| 502 |
self.modal.destroy();
|
| 503 |
-
}).fail(function () {
|
| 504 |
var timeout = retries * 1000;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 505 |
if (retries >= 5) {
|
| 506 |
-
|
|
|
|
| 507 |
type: 'error',
|
| 508 |
title: ai1wm_locale.unable_to_export,
|
| 509 |
message: ai1wm_locale.unable_to_stop_the_export
|
| 510 |
});
|
|
|
|
| 511 |
}
|
| 512 |
|
| 513 |
retries++;
|
|
@@ -520,11 +579,11 @@ Export.prototype.getStatus = function () {
|
|
| 520 |
var self = this;
|
| 521 |
|
| 522 |
// Stop getting status
|
| 523 |
-
if (this.
|
| 524 |
return;
|
| 525 |
}
|
| 526 |
|
| 527 |
-
$.ajax({
|
| 528 |
url: ai1wm_export.status.url,
|
| 529 |
type: 'GET',
|
| 530 |
dataType: 'json',
|
|
@@ -563,6 +622,20 @@ Export.prototype.onStop = function (options) {
|
|
| 563 |
this.clean(options);
|
| 564 |
};
|
| 565 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 566 |
module.exports = Export;
|
| 567 |
|
| 568 |
/***/ }),
|
| 352 |
// Set params
|
| 353 |
this.params = [];
|
| 354 |
|
|
|
|
|
|
|
|
|
|
| 355 |
// Set modal
|
| 356 |
this.modal = new Modal();
|
| 357 |
|
| 369 |
var self = this;
|
| 370 |
retries = retries || 0;
|
| 371 |
|
| 372 |
+
// Reset stop flag
|
| 373 |
if (retries === 0) {
|
| 374 |
+
this.stopExport(false);
|
| 375 |
}
|
| 376 |
|
| 377 |
// Stop running export
|
| 378 |
+
if (this.isExportStopped()) {
|
| 379 |
return;
|
| 380 |
}
|
| 381 |
|
| 410 |
if (result) {
|
| 411 |
self.run(result);
|
| 412 |
}
|
| 413 |
+
}).fail(function (xhr) {
|
| 414 |
var timeout = retries * 1000;
|
| 415 |
+
|
| 416 |
+
try {
|
| 417 |
+
var json = Ai1wm.Util.json(xhr.responseText);
|
| 418 |
+
if (json) {
|
| 419 |
+
var result = JSON.parse(json);
|
| 420 |
+
var error = result.errors.pop();
|
| 421 |
+
if (error.message) {
|
| 422 |
+
self.stopExport(true);
|
| 423 |
+
self.setStatus({
|
| 424 |
+
type: 'error',
|
| 425 |
+
title: ai1wm_locale.unable_to_export,
|
| 426 |
+
message: error.message
|
| 427 |
+
});
|
| 428 |
+
return;
|
| 429 |
+
}
|
| 430 |
+
}
|
| 431 |
+
} catch (e) {}
|
| 432 |
+
|
| 433 |
if (retries >= 5) {
|
| 434 |
+
self.stopExport(true);
|
| 435 |
+
self.setStatus({
|
| 436 |
type: 'error',
|
| 437 |
title: ai1wm_locale.unable_to_export,
|
| 438 |
message: ai1wm_locale.unable_to_start_the_export
|
| 439 |
});
|
| 440 |
+
return;
|
| 441 |
}
|
| 442 |
|
| 443 |
retries++;
|
| 451 |
retries = retries || 0;
|
| 452 |
|
| 453 |
// Stop running export
|
| 454 |
+
if (this.isExportStopped()) {
|
| 455 |
return;
|
| 456 |
}
|
| 457 |
|
| 468 |
if (result) {
|
| 469 |
self.run(result);
|
| 470 |
}
|
| 471 |
+
}).fail(function (xhr) {
|
| 472 |
var timeout = retries * 1000;
|
| 473 |
+
|
| 474 |
+
try {
|
| 475 |
+
var json = Ai1wm.Util.json(xhr.responseText);
|
| 476 |
+
if (json) {
|
| 477 |
+
var result = JSON.parse(json);
|
| 478 |
+
var error = result.errors.pop();
|
| 479 |
+
if (error.message) {
|
| 480 |
+
self.stopExport(true);
|
| 481 |
+
self.setStatus({
|
| 482 |
+
type: 'error',
|
| 483 |
+
title: ai1wm_locale.unable_to_export,
|
| 484 |
+
message: error.message
|
| 485 |
+
});
|
| 486 |
+
return;
|
| 487 |
+
}
|
| 488 |
+
}
|
| 489 |
+
} catch (e) {}
|
| 490 |
+
|
| 491 |
if (retries >= 5) {
|
| 492 |
+
self.stopExport(true);
|
| 493 |
+
self.setStatus({
|
| 494 |
type: 'error',
|
| 495 |
title: ai1wm_locale.unable_to_export,
|
| 496 |
message: ai1wm_locale.unable_to_run_the_export
|
| 497 |
});
|
| 498 |
+
return;
|
| 499 |
}
|
| 500 |
|
| 501 |
retries++;
|
| 508 |
var self = this;
|
| 509 |
retries = retries || 0;
|
| 510 |
|
| 511 |
+
// Reset stop flag
|
| 512 |
+
if (retries === 0) {
|
| 513 |
+
this.stopExport(true);
|
| 514 |
+
}
|
| 515 |
|
| 516 |
// Set initial status
|
| 517 |
this.setStatus({ type: 'info', message: ai1wm_locale.please_wait_stopping_the_export });
|
| 539 |
|
| 540 |
// Destroy modal
|
| 541 |
self.modal.destroy();
|
| 542 |
+
}).fail(function (xhr) {
|
| 543 |
var timeout = retries * 1000;
|
| 544 |
+
|
| 545 |
+
try {
|
| 546 |
+
var json = Ai1wm.Util.json(xhr.responseText);
|
| 547 |
+
if (json) {
|
| 548 |
+
var result = JSON.parse(json);
|
| 549 |
+
var error = result.errors.pop();
|
| 550 |
+
if (error.message) {
|
| 551 |
+
self.stopExport(true);
|
| 552 |
+
self.setStatus({
|
| 553 |
+
type: 'error',
|
| 554 |
+
title: ai1wm_locale.unable_to_export,
|
| 555 |
+
message: error.message
|
| 556 |
+
});
|
| 557 |
+
return;
|
| 558 |
+
}
|
| 559 |
+
}
|
| 560 |
+
} catch (e) {}
|
| 561 |
+
|
| 562 |
if (retries >= 5) {
|
| 563 |
+
self.stopExport(true);
|
| 564 |
+
self.setStatus({
|
| 565 |
type: 'error',
|
| 566 |
title: ai1wm_locale.unable_to_export,
|
| 567 |
message: ai1wm_locale.unable_to_stop_the_export
|
| 568 |
});
|
| 569 |
+
return;
|
| 570 |
}
|
| 571 |
|
| 572 |
retries++;
|
| 579 |
var self = this;
|
| 580 |
|
| 581 |
// Stop getting status
|
| 582 |
+
if (this.isExportStopped()) {
|
| 583 |
return;
|
| 584 |
}
|
| 585 |
|
| 586 |
+
this.statusXhr = $.ajax({
|
| 587 |
url: ai1wm_export.status.url,
|
| 588 |
type: 'GET',
|
| 589 |
dataType: 'json',
|
| 622 |
this.clean(options);
|
| 623 |
};
|
| 624 |
|
| 625 |
+
Export.prototype.stopExport = function (isStopped) {
|
| 626 |
+
try {
|
| 627 |
+
if (isStopped) {
|
| 628 |
+
this.statusXhr.abort();
|
| 629 |
+
}
|
| 630 |
+
} finally {
|
| 631 |
+
this.isStopped = isStopped;
|
| 632 |
+
}
|
| 633 |
+
};
|
| 634 |
+
|
| 635 |
+
Export.prototype.isExportStopped = function () {
|
| 636 |
+
return this.isStopped;
|
| 637 |
+
};
|
| 638 |
+
|
| 639 |
module.exports = Export;
|
| 640 |
|
| 641 |
/***/ }),
|
lib/view/assets/javascript/import.min.js
CHANGED
|
@@ -350,9 +350,6 @@ var Import = function Import() {
|
|
| 350 |
// Set params
|
| 351 |
this.params = [];
|
| 352 |
|
| 353 |
-
// Set stop flag
|
| 354 |
-
this.stopImport = false;
|
| 355 |
-
|
| 356 |
// Set modal
|
| 357 |
this.modal = new Modal();
|
| 358 |
|
|
@@ -380,13 +377,13 @@ Import.prototype.start = function (options, retries) {
|
|
| 380 |
var self = this;
|
| 381 |
retries = retries || 0;
|
| 382 |
|
| 383 |
-
//
|
| 384 |
if (retries === 0) {
|
| 385 |
-
this.stopImport
|
| 386 |
}
|
| 387 |
|
| 388 |
// Stop running import
|
| 389 |
-
if (this.
|
| 390 |
return;
|
| 391 |
}
|
| 392 |
|
|
@@ -421,14 +418,34 @@ Import.prototype.start = function (options, retries) {
|
|
| 421 |
if (result) {
|
| 422 |
self.run(result);
|
| 423 |
}
|
| 424 |
-
}).fail(function () {
|
| 425 |
var timeout = retries * 1000;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 426 |
if (retries >= 5) {
|
| 427 |
-
|
|
|
|
| 428 |
type: 'error',
|
| 429 |
title: ai1wm_locale.unable_to_import,
|
| 430 |
message: ai1wm_locale.unable_to_start_the_import
|
| 431 |
});
|
|
|
|
| 432 |
}
|
| 433 |
|
| 434 |
retries++;
|
|
@@ -442,7 +459,7 @@ Import.prototype.run = function (params, retries) {
|
|
| 442 |
retries = retries || 0;
|
| 443 |
|
| 444 |
// Stop running import
|
| 445 |
-
if (this.
|
| 446 |
return;
|
| 447 |
}
|
| 448 |
|
|
@@ -459,9 +476,26 @@ Import.prototype.run = function (params, retries) {
|
|
| 459 |
if (result) {
|
| 460 |
self.run(result);
|
| 461 |
}
|
| 462 |
-
}).fail(function () {
|
| 463 |
var timeout = retries * 1000;
|
| 464 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 465 |
retries++;
|
| 466 |
|
| 467 |
setTimeout(self.run.bind(self, params, retries), timeout);
|
|
@@ -473,7 +507,7 @@ Import.prototype.confirm = function (options, retries) {
|
|
| 473 |
retries = retries || 0;
|
| 474 |
|
| 475 |
// Stop running import
|
| 476 |
-
if (this.
|
| 477 |
return;
|
| 478 |
}
|
| 479 |
|
|
@@ -500,14 +534,34 @@ Import.prototype.confirm = function (options, retries) {
|
|
| 500 |
if (result) {
|
| 501 |
self.run(result);
|
| 502 |
}
|
| 503 |
-
}).fail(function () {
|
| 504 |
var timeout = retries * 1000;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 505 |
if (retries >= 5) {
|
| 506 |
-
|
|
|
|
| 507 |
type: 'error',
|
| 508 |
title: ai1wm_locale.unable_to_import,
|
| 509 |
message: ai1wm_locale.unable_to_confirm_the_import
|
| 510 |
});
|
|
|
|
| 511 |
}
|
| 512 |
|
| 513 |
retries++;
|
|
@@ -521,7 +575,7 @@ Import.prototype.blogs = function (options, retries) {
|
|
| 521 |
retries = retries || 0;
|
| 522 |
|
| 523 |
// Stop running import
|
| 524 |
-
if (this.
|
| 525 |
return;
|
| 526 |
}
|
| 527 |
|
|
@@ -548,14 +602,34 @@ Import.prototype.blogs = function (options, retries) {
|
|
| 548 |
if (result) {
|
| 549 |
self.run(result);
|
| 550 |
}
|
| 551 |
-
}).fail(function () {
|
| 552 |
var timeout = retries * 1000;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 553 |
if (retries >= 5) {
|
| 554 |
-
|
|
|
|
| 555 |
type: 'error',
|
| 556 |
title: ai1wm_locale.unable_to_import,
|
| 557 |
message: ai1wm_locale.unable_to_prepare_blogs_on_import
|
| 558 |
});
|
|
|
|
| 559 |
}
|
| 560 |
|
| 561 |
retries++;
|
|
@@ -568,8 +642,10 @@ Import.prototype.clean = function (options, retries) {
|
|
| 568 |
var self = this;
|
| 569 |
retries = retries || 0;
|
| 570 |
|
| 571 |
-
//
|
| 572 |
-
|
|
|
|
|
|
|
| 573 |
|
| 574 |
// Set initial status
|
| 575 |
this.setStatus({ type: 'info', message: ai1wm_locale.please_wait_stopping_the_import });
|
|
@@ -597,14 +673,34 @@ Import.prototype.clean = function (options, retries) {
|
|
| 597 |
|
| 598 |
// Destroy modal
|
| 599 |
self.modal.destroy();
|
| 600 |
-
}).fail(function () {
|
| 601 |
var timeout = retries * 1000;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 602 |
if (retries >= 5) {
|
| 603 |
-
|
|
|
|
| 604 |
type: 'error',
|
| 605 |
title: ai1wm_locale.unable_to_import,
|
| 606 |
message: ai1wm_locale.unable_to_stop_the_import
|
| 607 |
});
|
|
|
|
| 608 |
}
|
| 609 |
|
| 610 |
retries++;
|
|
@@ -617,11 +713,11 @@ Import.prototype.getStatus = function () {
|
|
| 617 |
var self = this;
|
| 618 |
|
| 619 |
// Stop getting status
|
| 620 |
-
if (this.
|
| 621 |
return;
|
| 622 |
}
|
| 623 |
|
| 624 |
-
$.ajax({
|
| 625 |
url: ai1wm_import.status.url,
|
| 626 |
type: 'GET',
|
| 627 |
dataType: 'json',
|
|
@@ -671,6 +767,20 @@ Import.prototype.onStop = function (options) {
|
|
| 671 |
this.clean(options);
|
| 672 |
};
|
| 673 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 674 |
module.exports = Import;
|
| 675 |
|
| 676 |
/***/ }),
|
|
@@ -764,7 +874,8 @@ var Modal = function Modal() {
|
|
| 764 |
|
| 765 |
// Update progress bar percent
|
| 766 |
if (this.progress.progressBarPercent) {
|
| 767 |
-
|
|
|
|
| 768 |
}
|
| 769 |
|
| 770 |
// Create the modal container
|
| 350 |
// Set params
|
| 351 |
this.params = [];
|
| 352 |
|
|
|
|
|
|
|
|
|
|
| 353 |
// Set modal
|
| 354 |
this.modal = new Modal();
|
| 355 |
|
| 377 |
var self = this;
|
| 378 |
retries = retries || 0;
|
| 379 |
|
| 380 |
+
// Reset stop flag
|
| 381 |
if (retries === 0) {
|
| 382 |
+
this.stopImport(false);
|
| 383 |
}
|
| 384 |
|
| 385 |
// Stop running import
|
| 386 |
+
if (this.isImportStopped()) {
|
| 387 |
return;
|
| 388 |
}
|
| 389 |
|
| 418 |
if (result) {
|
| 419 |
self.run(result);
|
| 420 |
}
|
| 421 |
+
}).fail(function (xhr) {
|
| 422 |
var timeout = retries * 1000;
|
| 423 |
+
|
| 424 |
+
try {
|
| 425 |
+
var json = Ai1wm.Util.json(xhr.responseText);
|
| 426 |
+
if (json) {
|
| 427 |
+
var result = JSON.parse(json);
|
| 428 |
+
var error = result.errors.pop();
|
| 429 |
+
if (error.message) {
|
| 430 |
+
self.stopImport(true);
|
| 431 |
+
self.setStatus({
|
| 432 |
+
type: 'error',
|
| 433 |
+
title: ai1wm_locale.unable_to_import,
|
| 434 |
+
message: error.message
|
| 435 |
+
});
|
| 436 |
+
return;
|
| 437 |
+
}
|
| 438 |
+
}
|
| 439 |
+
} catch (e) {}
|
| 440 |
+
|
| 441 |
if (retries >= 5) {
|
| 442 |
+
self.stopImport(true);
|
| 443 |
+
self.setStatus({
|
| 444 |
type: 'error',
|
| 445 |
title: ai1wm_locale.unable_to_import,
|
| 446 |
message: ai1wm_locale.unable_to_start_the_import
|
| 447 |
});
|
| 448 |
+
return;
|
| 449 |
}
|
| 450 |
|
| 451 |
retries++;
|
| 459 |
retries = retries || 0;
|
| 460 |
|
| 461 |
// Stop running import
|
| 462 |
+
if (this.isImportStopped()) {
|
| 463 |
return;
|
| 464 |
}
|
| 465 |
|
| 476 |
if (result) {
|
| 477 |
self.run(result);
|
| 478 |
}
|
| 479 |
+
}).fail(function (xhr) {
|
| 480 |
var timeout = retries * 1000;
|
| 481 |
|
| 482 |
+
try {
|
| 483 |
+
var json = Ai1wm.Util.json(xhr.responseText);
|
| 484 |
+
if (json) {
|
| 485 |
+
var result = JSON.parse(json);
|
| 486 |
+
var error = result.errors.pop();
|
| 487 |
+
if (error.message) {
|
| 488 |
+
self.stopImport(true);
|
| 489 |
+
self.setStatus({
|
| 490 |
+
type: 'error',
|
| 491 |
+
title: ai1wm_locale.unable_to_import,
|
| 492 |
+
message: error.message
|
| 493 |
+
});
|
| 494 |
+
return;
|
| 495 |
+
}
|
| 496 |
+
}
|
| 497 |
+
} catch (e) {}
|
| 498 |
+
|
| 499 |
retries++;
|
| 500 |
|
| 501 |
setTimeout(self.run.bind(self, params, retries), timeout);
|
| 507 |
retries = retries || 0;
|
| 508 |
|
| 509 |
// Stop running import
|
| 510 |
+
if (this.isImportStopped()) {
|
| 511 |
return;
|
| 512 |
}
|
| 513 |
|
| 534 |
if (result) {
|
| 535 |
self.run(result);
|
| 536 |
}
|
| 537 |
+
}).fail(function (xhr) {
|
| 538 |
var timeout = retries * 1000;
|
| 539 |
+
|
| 540 |
+
try {
|
| 541 |
+
var json = Ai1wm.Util.json(xhr.responseText);
|
| 542 |
+
if (json) {
|
| 543 |
+
var result = JSON.parse(json);
|
| 544 |
+
var error = result.errors.pop();
|
| 545 |
+
if (error.message) {
|
| 546 |
+
self.stopImport(true);
|
| 547 |
+
self.setStatus({
|
| 548 |
+
type: 'error',
|
| 549 |
+
title: ai1wm_locale.unable_to_import,
|
| 550 |
+
message: error.message
|
| 551 |
+
});
|
| 552 |
+
return;
|
| 553 |
+
}
|
| 554 |
+
}
|
| 555 |
+
} catch (e) {}
|
| 556 |
+
|
| 557 |
if (retries >= 5) {
|
| 558 |
+
self.stopImport(true);
|
| 559 |
+
self.setStatus({
|
| 560 |
type: 'error',
|
| 561 |
title: ai1wm_locale.unable_to_import,
|
| 562 |
message: ai1wm_locale.unable_to_confirm_the_import
|
| 563 |
});
|
| 564 |
+
return;
|
| 565 |
}
|
| 566 |
|
| 567 |
retries++;
|
| 575 |
retries = retries || 0;
|
| 576 |
|
| 577 |
// Stop running import
|
| 578 |
+
if (this.isImportStopped()) {
|
| 579 |
return;
|
| 580 |
}
|
| 581 |
|
| 602 |
if (result) {
|
| 603 |
self.run(result);
|
| 604 |
}
|
| 605 |
+
}).fail(function (xhr) {
|
| 606 |
var timeout = retries * 1000;
|
| 607 |
+
|
| 608 |
+
try {
|
| 609 |
+
var json = Ai1wm.Util.json(xhr.responseText);
|
| 610 |
+
if (json) {
|
| 611 |
+
var result = JSON.parse(json);
|
| 612 |
+
var error = result.errors.pop();
|
| 613 |
+
if (error.message) {
|
| 614 |
+
self.stopImport(true);
|
| 615 |
+
self.setStatus({
|
| 616 |
+
type: 'error',
|
| 617 |
+
title: ai1wm_locale.unable_to_import,
|
| 618 |
+
message: error.message
|
| 619 |
+
});
|
| 620 |
+
return;
|
| 621 |
+
}
|
| 622 |
+
}
|
| 623 |
+
} catch (e) {}
|
| 624 |
+
|
| 625 |
if (retries >= 5) {
|
| 626 |
+
self.stopImport(true);
|
| 627 |
+
self.setStatus({
|
| 628 |
type: 'error',
|
| 629 |
title: ai1wm_locale.unable_to_import,
|
| 630 |
message: ai1wm_locale.unable_to_prepare_blogs_on_import
|
| 631 |
});
|
| 632 |
+
return;
|
| 633 |
}
|
| 634 |
|
| 635 |
retries++;
|
| 642 |
var self = this;
|
| 643 |
retries = retries || 0;
|
| 644 |
|
| 645 |
+
// Reset stop flag
|
| 646 |
+
if (retries === 0) {
|
| 647 |
+
this.stopImport(true);
|
| 648 |
+
}
|
| 649 |
|
| 650 |
// Set initial status
|
| 651 |
this.setStatus({ type: 'info', message: ai1wm_locale.please_wait_stopping_the_import });
|
| 673 |
|
| 674 |
// Destroy modal
|
| 675 |
self.modal.destroy();
|
| 676 |
+
}).fail(function (xhr) {
|
| 677 |
var timeout = retries * 1000;
|
| 678 |
+
|
| 679 |
+
try {
|
| 680 |
+
var json = Ai1wm.Util.json(xhr.responseText);
|
| 681 |
+
if (json) {
|
| 682 |
+
var result = JSON.parse(json);
|
| 683 |
+
var error = result.errors.pop();
|
| 684 |
+
if (error.message) {
|
| 685 |
+
self.stopImport(true);
|
| 686 |
+
self.setStatus({
|
| 687 |
+
type: 'error',
|
| 688 |
+
title: ai1wm_locale.unable_to_import,
|
| 689 |
+
message: error.message
|
| 690 |
+
});
|
| 691 |
+
return;
|
| 692 |
+
}
|
| 693 |
+
}
|
| 694 |
+
} catch (e) {}
|
| 695 |
+
|
| 696 |
if (retries >= 5) {
|
| 697 |
+
self.stopImport(true);
|
| 698 |
+
self.setStatus({
|
| 699 |
type: 'error',
|
| 700 |
title: ai1wm_locale.unable_to_import,
|
| 701 |
message: ai1wm_locale.unable_to_stop_the_import
|
| 702 |
});
|
| 703 |
+
return;
|
| 704 |
}
|
| 705 |
|
| 706 |
retries++;
|
| 713 |
var self = this;
|
| 714 |
|
| 715 |
// Stop getting status
|
| 716 |
+
if (this.isImportStopped()) {
|
| 717 |
return;
|
| 718 |
}
|
| 719 |
|
| 720 |
+
this.statusXhr = $.ajax({
|
| 721 |
url: ai1wm_import.status.url,
|
| 722 |
type: 'GET',
|
| 723 |
dataType: 'json',
|
| 767 |
this.clean(options);
|
| 768 |
};
|
| 769 |
|
| 770 |
+
Import.prototype.stopImport = function (isStopped) {
|
| 771 |
+
try {
|
| 772 |
+
if (isStopped) {
|
| 773 |
+
this.statusXhr.abort();
|
| 774 |
+
}
|
| 775 |
+
} finally {
|
| 776 |
+
this.isStopped = isStopped;
|
| 777 |
+
}
|
| 778 |
+
};
|
| 779 |
+
|
| 780 |
+
Import.prototype.isImportStopped = function () {
|
| 781 |
+
return this.isStopped;
|
| 782 |
+
};
|
| 783 |
+
|
| 784 |
module.exports = Import;
|
| 785 |
|
| 786 |
/***/ }),
|
| 874 |
|
| 875 |
// Update progress bar percent
|
| 876 |
if (this.progress.progressBarPercent) {
|
| 877 |
+
this.progress.progressBarPercent.text(params.percent + '%');
|
| 878 |
+
return;
|
| 879 |
}
|
| 880 |
|
| 881 |
// Create the modal container
|
lib/view/main/backups-htaccess-notice.php
CHANGED
|
@@ -33,7 +33,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
| 33 |
<?php
|
| 34 |
printf(
|
| 35 |
__(
|
| 36 |
-
'All
|
| 37 |
'Try to change permissions of the parent folder or send us an email at ' .
|
| 38 |
'<a href="mailto:support@servmask.com">support@servmask.com</a> for assistance.',
|
| 39 |
AI1WM_PLUGIN_NAME
|
| 33 |
<?php
|
| 34 |
printf(
|
| 35 |
__(
|
| 36 |
+
'All-in-One WP Migration is not able to create <strong>%s</strong> file. ' .
|
| 37 |
'Try to change permissions of the parent folder or send us an email at ' .
|
| 38 |
'<a href="mailto:support@servmask.com">support@servmask.com</a> for assistance.',
|
| 39 |
AI1WM_PLUGIN_NAME
|
lib/view/main/backups-index-notice.php
CHANGED
|
@@ -33,7 +33,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
| 33 |
<?php
|
| 34 |
printf(
|
| 35 |
__(
|
| 36 |
-
'All
|
| 37 |
'Try to change permissions of the parent folder or send us an email at ' .
|
| 38 |
'<a href="mailto:support@servmask.com">support@servmask.com</a> for assistance.',
|
| 39 |
AI1WM_PLUGIN_NAME
|
| 33 |
<?php
|
| 34 |
printf(
|
| 35 |
__(
|
| 36 |
+
'All-in-One WP Migration is not able to create <strong>%s</strong> file. ' .
|
| 37 |
'Try to change permissions of the parent folder or send us an email at ' .
|
| 38 |
'<a href="mailto:support@servmask.com">support@servmask.com</a> for assistance.',
|
| 39 |
AI1WM_PLUGIN_NAME
|
lib/view/main/backups-path-notice.php
CHANGED
|
@@ -33,9 +33,9 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
| 33 |
<?php
|
| 34 |
printf(
|
| 35 |
__(
|
| 36 |
-
'All
|
| 37 |
'You will need to create this folder and grant it read/write/execute permissions (0777) ' .
|
| 38 |
-
'for the All
|
| 39 |
AI1WM_PLUGIN_NAME
|
| 40 |
),
|
| 41 |
AI1WM_BACKUPS_PATH
|
| 33 |
<?php
|
| 34 |
printf(
|
| 35 |
__(
|
| 36 |
+
'All-in-One WP Migration is not able to create <strong>%s</strong> folder. ' .
|
| 37 |
'You will need to create this folder and grant it read/write/execute permissions (0777) ' .
|
| 38 |
+
'for the All-in-One WP Migration plugin to function properly.',
|
| 39 |
AI1WM_PLUGIN_NAME
|
| 40 |
),
|
| 41 |
AI1WM_BACKUPS_PATH
|
lib/view/main/backups-webconfig-notice.php
CHANGED
|
@@ -33,7 +33,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
| 33 |
<?php
|
| 34 |
printf(
|
| 35 |
__(
|
| 36 |
-
'All
|
| 37 |
'Try to change permissions of the parent folder or send us an email at ' .
|
| 38 |
'<a href="mailto:support@servmask.com">support@servmask.com</a> for assistance.',
|
| 39 |
AI1WM_PLUGIN_NAME
|
| 33 |
<?php
|
| 34 |
printf(
|
| 35 |
__(
|
| 36 |
+
'All-in-One WP Migration is not able to create <strong>%s</strong> file. ' .
|
| 37 |
'Try to change permissions of the parent folder or send us an email at ' .
|
| 38 |
'<a href="mailto:support@servmask.com">support@servmask.com</a> for assistance.',
|
| 39 |
AI1WM_PLUGIN_NAME
|
lib/view/main/multisite-notice.php
CHANGED
|
@@ -32,7 +32,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
| 32 |
<p>
|
| 33 |
<?php
|
| 34 |
_e(
|
| 35 |
-
'WordPress Multisite is supported via our All
|
| 36 |
'You can get a copy of it here',
|
| 37 |
AI1WM_PLUGIN_NAME
|
| 38 |
);
|
| 32 |
<p>
|
| 33 |
<?php
|
| 34 |
_e(
|
| 35 |
+
'WordPress Multisite is supported via our All-in-One WP Migration Multisite Extension. ' .
|
| 36 |
'You can get a copy of it here',
|
| 37 |
AI1WM_PLUGIN_NAME
|
| 38 |
);
|
lib/view/main/storage-index-notice.php
CHANGED
|
@@ -33,7 +33,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
| 33 |
<?php
|
| 34 |
printf(
|
| 35 |
__(
|
| 36 |
-
'All
|
| 37 |
'Try to change permissions of the parent folder or send us an email at ' .
|
| 38 |
'<a href="mailto:support@servmask.com">support@servmask.com</a> for assistance.',
|
| 39 |
AI1WM_PLUGIN_NAME
|
| 33 |
<?php
|
| 34 |
printf(
|
| 35 |
__(
|
| 36 |
+
'All-in-One WP Migration is not able to create <strong>%s</strong> file. ' .
|
| 37 |
'Try to change permissions of the parent folder or send us an email at ' .
|
| 38 |
'<a href="mailto:support@servmask.com">support@servmask.com</a> for assistance.',
|
| 39 |
AI1WM_PLUGIN_NAME
|
lib/view/main/storage-path-notice.php
CHANGED
|
@@ -33,9 +33,9 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
| 33 |
<?php
|
| 34 |
printf(
|
| 35 |
__(
|
| 36 |
-
'All
|
| 37 |
'You will need to create this folder and grant it read/write/execute permissions (0777) ' .
|
| 38 |
-
'for the All
|
| 39 |
AI1WM_PLUGIN_NAME
|
| 40 |
),
|
| 41 |
AI1WM_STORAGE_PATH
|
| 33 |
<?php
|
| 34 |
printf(
|
| 35 |
__(
|
| 36 |
+
'All-in-One WP Migration is not able to create <strong>%s</strong> folder. ' .
|
| 37 |
'You will need to create this folder and grant it read/write/execute permissions (0777) ' .
|
| 38 |
+
'for the All-in-One WP Migration plugin to function properly.',
|
| 39 |
AI1WM_PLUGIN_NAME
|
| 40 |
),
|
| 41 |
AI1WM_STORAGE_PATH
|
lib/view/main/wordpress-htaccess-notice.php
CHANGED
|
@@ -33,7 +33,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
| 33 |
<?php
|
| 34 |
printf(
|
| 35 |
__(
|
| 36 |
-
'All
|
| 37 |
'Try to change permissions of the parent folder or send us an email at ' .
|
| 38 |
'<a href="mailto:support@servmask.com">support@servmask.com</a> for assistance.',
|
| 39 |
AI1WM_PLUGIN_NAME
|
| 33 |
<?php
|
| 34 |
printf(
|
| 35 |
__(
|
| 36 |
+
'All-in-One WP Migration is not able to create <strong>%s</strong> file. ' .
|
| 37 |
'Try to change permissions of the parent folder or send us an email at ' .
|
| 38 |
'<a href="mailto:support@servmask.com">support@servmask.com</a> for assistance.',
|
| 39 |
AI1WM_PLUGIN_NAME
|
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.3
|
| 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.11 =
|
| 112 |
**Added**
|
| 113 |
|
| 4 |
Requires at least: 3.3
|
| 5 |
Tested up to: 5.3
|
| 6 |
Requires PHP: 5.2.17
|
| 7 |
+
Stable tag: 7.12
|
| 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.12 =
|
| 112 |
+
**Added**
|
| 113 |
+
|
| 114 |
+
* Display a message when MySQL server [exceeds a limit](https://help.servmask.com/knowledgebase/mysql-error-codes/)
|
| 115 |
+
|
| 116 |
= 7.11 =
|
| 117 |
**Added**
|
| 118 |
|
