All-in-One WP Migration - Version 7.4

Version Description

Fixed

  • Small bug when reporting an issue

Changed

  • Remove "www" from emails on import
Download this release

Release Info

Developer bangelov
Plugin Icon 128x128 All-in-One WP Migration
Version 7.4
Comparing to
See all releases

Code changes from version 7.3 to 7.4

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.3
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.4
9
  * Text Domain: all-in-one-wp-migration
10
  * Domain Path: /languages
11
  * Network: True
constants.php CHANGED
@@ -35,7 +35,7 @@ define( 'AI1WM_DEBUG', false );
35
  // ==================
36
  // = Plugin Version =
37
  // ==================
38
- define( 'AI1WM_VERSION', '7.3' );
39
 
40
  // ===============
41
  // = Plugin Name =
35
  // ==================
36
  // = Plugin Version =
37
  // ==================
38
+ define( 'AI1WM_VERSION', '7.4' );
39
 
40
  // ===============
41
  // = Plugin Name =
exceptions.php CHANGED
@@ -46,3 +46,6 @@ class Ai1wm_Not_Valid_Secret_Key_Exception extends Exception {}
46
  class Ai1wm_Quota_Exceeded_Exception extends Exception {}
47
  class Ai1wm_Storage_Exception extends Exception {}
48
  class Ai1wm_Compatibility_Exception extends Exception {}
 
 
 
46
  class Ai1wm_Quota_Exceeded_Exception extends Exception {}
47
  class Ai1wm_Storage_Exception extends Exception {}
48
  class Ai1wm_Compatibility_Exception extends Exception {}
49
+ class Ai1wm_Feedback_Exception extends Exception {}
50
+ class Ai1wm_Report_Exception extends Exception {}
51
+ class Ai1wm_Database_Exception extends Exception {}
functions.php CHANGED
@@ -1420,6 +1420,11 @@ function ai1wm_setup_environment() {
1420
  @mb_internal_encoding( 'ISO-8859-1' );
1421
  }
1422
 
 
 
 
 
 
1423
  // Set error handler
1424
  @set_error_handler( 'Ai1wm_Handler::error' );
1425
 
@@ -1447,3 +1452,29 @@ function ai1wm_get_timezone_string() {
1447
 
1448
  return 'UTC';
1449
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1420
  @mb_internal_encoding( 'ISO-8859-1' );
1421
  }
1422
 
1423
+ // Clean (erase) the output buffer and turn off output buffering
1424
+ if ( @ob_get_length() ) {
1425
+ @ob_end_clean();
1426
+ }
1427
+
1428
  // Set error handler
1429
  @set_error_handler( 'Ai1wm_Handler::error' );
1430
 
1452
 
1453
  return 'UTC';
1454
  }
1455
+
1456
+ /**
1457
+ * Get WordPress filter hooks
1458
+ *
1459
+ * @param string $tag The name of the filter hook
1460
+ * @return array
1461
+ */
1462
+ function ai1wm_get_filters( $tag ) {
1463
+ global $wp_filter;
1464
+
1465
+ // Get WordPress filter hooks
1466
+ $filters = array();
1467
+ if ( isset( $wp_filter[ $tag ] ) ) {
1468
+ if ( ( $filters = $wp_filter[ $tag ] ) ) {
1469
+ // WordPress 4.7 introduces new class for working with filters/actions called WP_Hook
1470
+ // which adds another level of abstraction and we need to address it.
1471
+ if ( isset( $filters->callbacks ) ) {
1472
+ $filters = $filters->callbacks;
1473
+ }
1474
+ }
1475
+
1476
+ ksort( $filters );
1477
+ }
1478
+
1479
+ return $filters;
1480
+ }
lib/controller/class-ai1wm-backups-controller.php CHANGED
@@ -30,21 +30,19 @@ if ( ! defined( 'ABSPATH' ) ) {
30
  class Ai1wm_Backups_Controller {
31
 
32
  public static function index() {
33
- $model = new Ai1wm_Backups;
34
-
35
  Ai1wm_Template::render(
36
  'backups/index',
37
  array(
38
- 'backups' => $model->get_files(),
39
- 'backups_labels' => get_option( AI1WM_BACKUPS_LABELS, array() ),
40
- 'username' => get_option( AI1WM_AUTH_USER ),
41
- 'password' => get_option( AI1WM_AUTH_PASSWORD ),
42
  )
43
  );
44
  }
45
 
46
  public static function delete( $params = array() ) {
47
- $errors = array();
48
 
49
  // Set params
50
  if ( empty( $params ) ) {
@@ -70,29 +68,22 @@ class Ai1wm_Backups_Controller {
70
  exit;
71
  }
72
 
73
- $model = new Ai1wm_Backups;
74
-
75
  try {
76
- // Delete file
77
- $model->delete_file( $archive );
78
-
79
- $backups_labels = get_option( AI1WM_BACKUPS_LABELS, array() );
80
-
81
- if ( isset( $backups_labels[ $params['archive'] ] ) ) {
82
- unset( $backups_labels[ $params['archive'] ] );
83
- update_option( AI1WM_BACKUPS_LABELS, $backups_labels );
84
- }
85
- } catch ( Exception $e ) {
86
- $errors[] = $e->getMessage();
87
  }
88
 
89
- echo json_encode( array( 'errors' => $errors ) );
90
  exit;
91
  }
92
 
93
  public static function add_label( $params = array() ) {
94
  ai1wm_setup_environment();
95
 
 
96
  if ( empty( $params ) ) {
97
  $params = stripslashes_deep( $_POST );
98
  }
@@ -103,42 +94,40 @@ class Ai1wm_Backups_Controller {
103
  $secret_key = trim( $params['secret_key'] );
104
  }
105
 
 
 
 
 
 
 
 
 
 
 
 
 
106
  try {
107
- // Ensure that unauthorized people cannot access add_label action
108
  ai1wm_verify_secret_key( $secret_key );
109
  } catch ( Ai1wm_Not_Valid_Secret_Key_Exception $e ) {
110
  exit;
111
  }
112
 
113
- $backups_labels = get_option( AI1WM_BACKUPS_LABELS, array() );
114
-
115
- if ( empty( $params['backup_label'] ) ) {
116
- unset( $backups_labels[ trim( $params['backup_name'] ) ] );
117
-
118
- echo json_encode(
119
- array(
120
- 'success' => update_option( AI1WM_BACKUPS_LABELS, $backups_labels ),
121
- 'label' => esc_html( $params['backup_label'] ),
122
- )
123
- );
124
  exit;
125
  }
126
 
127
- echo json_encode(
128
- array(
129
- 'success' => update_option(
130
- AI1WM_BACKUPS_LABELS,
131
- array_merge( $backups_labels, array( trim( $params['backup_name'] ) => trim( $params['backup_label'] ) ) )
132
- ),
133
- 'label' => esc_html( $params['backup_label'] ),
134
- )
135
- );
136
  exit;
137
  }
138
 
139
  public static function backup_list( $params = array() ) {
140
  ai1wm_setup_environment();
141
 
 
142
  if ( empty( $params ) ) {
143
  $params = stripslashes_deep( $_GET );
144
  }
@@ -150,19 +139,17 @@ class Ai1wm_Backups_Controller {
150
  }
151
 
152
  try {
153
- // Ensure that unauthorized people cannot access backup_list action
154
  ai1wm_verify_secret_key( $secret_key );
155
  } catch ( Ai1wm_Not_Valid_Secret_Key_Exception $e ) {
156
  exit;
157
  }
158
 
159
- $model = new Ai1wm_Backups;
160
-
161
  Ai1wm_Template::render(
162
  'backups/backups-list',
163
  array(
164
- 'backups' => $model->get_files(),
165
- 'backups_labels' => get_option( AI1WM_BACKUPS_LABELS, array() ),
166
  )
167
  );
168
  exit;
30
  class Ai1wm_Backups_Controller {
31
 
32
  public static function index() {
 
 
33
  Ai1wm_Template::render(
34
  'backups/index',
35
  array(
36
+ 'backups' => Ai1wm_Backups::get_files(),
37
+ 'labels' => Ai1wm_Backups::get_labels(),
38
+ 'username' => get_option( AI1WM_AUTH_USER ),
39
+ 'password' => get_option( AI1WM_AUTH_PASSWORD ),
40
  )
41
  );
42
  }
43
 
44
  public static function delete( $params = array() ) {
45
+ ai1wm_setup_environment();
46
 
47
  // Set params
48
  if ( empty( $params ) ) {
68
  exit;
69
  }
70
 
 
 
71
  try {
72
+ Ai1wm_Backups::delete_file( $archive );
73
+ Ai1wm_Backups::delete_label( $archive );
74
+ } catch ( Ai1wm_Backups_Exception $e ) {
75
+ echo json_encode( array( 'errors' => array( $e->getMessage() ) ) );
76
+ exit;
 
 
 
 
 
 
77
  }
78
 
79
+ echo json_encode( array( 'errors' => array() ) );
80
  exit;
81
  }
82
 
83
  public static function add_label( $params = array() ) {
84
  ai1wm_setup_environment();
85
 
86
+ // Set params
87
  if ( empty( $params ) ) {
88
  $params = stripslashes_deep( $_POST );
89
  }
94
  $secret_key = trim( $params['secret_key'] );
95
  }
96
 
97
+ // Set archive
98
+ $archive = null;
99
+ if ( isset( $params['archive'] ) ) {
100
+ $archive = trim( $params['archive'] );
101
+ }
102
+
103
+ // Set backup label
104
+ $label = null;
105
+ if ( isset( $params['label'] ) ) {
106
+ $label = trim( $params['label'] );
107
+ }
108
+
109
  try {
110
+ // Ensure that unauthorized people cannot access add label action
111
  ai1wm_verify_secret_key( $secret_key );
112
  } catch ( Ai1wm_Not_Valid_Secret_Key_Exception $e ) {
113
  exit;
114
  }
115
 
116
+ try {
117
+ Ai1wm_Backups::set_label( $archive, $label );
118
+ } catch ( Ai1wm_Backups_Exception $e ) {
119
+ echo json_encode( array( 'errors' => array( $e->getMessage() ) ) );
 
 
 
 
 
 
 
120
  exit;
121
  }
122
 
123
+ echo json_encode( array( 'errors' => array() ) );
 
 
 
 
 
 
 
 
124
  exit;
125
  }
126
 
127
  public static function backup_list( $params = array() ) {
128
  ai1wm_setup_environment();
129
 
130
+ // Set params
131
  if ( empty( $params ) ) {
132
  $params = stripslashes_deep( $_GET );
133
  }
139
  }
140
 
141
  try {
142
+ // Ensure that unauthorized people cannot access backups list action
143
  ai1wm_verify_secret_key( $secret_key );
144
  } catch ( Ai1wm_Not_Valid_Secret_Key_Exception $e ) {
145
  exit;
146
  }
147
 
 
 
148
  Ai1wm_Template::render(
149
  'backups/backups-list',
150
  array(
151
+ 'backups' => Ai1wm_Backups::get_files(),
152
+ 'labels' => Ai1wm_Backups::get_labels(),
153
  )
154
  );
155
  exit;
lib/controller/class-ai1wm-export-controller.php CHANGED
@@ -34,8 +34,6 @@ class Ai1wm_Export_Controller {
34
  }
35
 
36
  public static function export( $params = array() ) {
37
- global $wp_filter;
38
-
39
  ai1wm_setup_environment();
40
 
41
  // Set params
@@ -61,17 +59,8 @@ class Ai1wm_Export_Controller {
61
  exit;
62
  }
63
 
64
- // Get hook
65
- if ( isset( $wp_filter['ai1wm_export'] ) && ( $filters = $wp_filter['ai1wm_export'] ) ) {
66
- // WordPress 4.7 introduces new class for working with filters/actions called WP_Hook
67
- // which adds another level of abstraction and we need to address it.
68
- if ( isset( $filters->callbacks ) ) {
69
- $filters = $filters->callbacks;
70
- }
71
-
72
- ksort( $filters );
73
-
74
- // Loop over filters
75
  while ( $hooks = current( $filters ) ) {
76
  if ( intval( $params['priority'] ) === key( $filters ) ) {
77
  foreach ( $hooks as $hook ) {
34
  }
35
 
36
  public static function export( $params = array() ) {
 
 
37
  ai1wm_setup_environment();
38
 
39
  // Set params
59
  exit;
60
  }
61
 
62
+ // Loop over filters
63
+ if ( ( $filters = ai1wm_get_filters( 'ai1wm_export' ) ) ) {
 
 
 
 
 
 
 
 
 
64
  while ( $hooks = current( $filters ) ) {
65
  if ( intval( $params['priority'] ) === key( $filters ) ) {
66
  foreach ( $hooks as $hook ) {
lib/controller/class-ai1wm-feedback-controller.php CHANGED
@@ -30,6 +30,7 @@ if ( ! defined( 'ABSPATH' ) ) {
30
  class Ai1wm_Feedback_Controller {
31
 
32
  public static function feedback( $params = array() ) {
 
33
 
34
  // Set params
35
  if ( empty( $params ) ) {
@@ -87,12 +88,14 @@ class Ai1wm_Feedback_Controller {
87
  }
88
  }
89
 
90
- $model = new Ai1wm_Feedback;
91
-
92
- // Send feedback
93
- $errors = $model->add( $type, $email, $message, $terms, implode( PHP_EOL, $purchases ) );
 
 
94
 
95
- echo json_encode( array( 'errors' => $errors ) );
96
  exit;
97
  }
98
  }
30
  class Ai1wm_Feedback_Controller {
31
 
32
  public static function feedback( $params = array() ) {
33
+ ai1wm_setup_environment();
34
 
35
  // Set params
36
  if ( empty( $params ) ) {
88
  }
89
  }
90
 
91
+ try {
92
+ Ai1wm_Feedback::add( $type, $email, $message, $terms, implode( PHP_EOL, $purchases ) );
93
+ } catch ( Ai1wm_Feedback_Exception $e ) {
94
+ echo json_encode( array( 'errors' => array( $e->getMessage() ) ) );
95
+ exit;
96
+ }
97
 
98
+ echo json_encode( array( 'errors' => array() ) );
99
  exit;
100
  }
101
  }
lib/controller/class-ai1wm-import-controller.php CHANGED
@@ -34,8 +34,6 @@ class Ai1wm_Import_Controller {
34
  }
35
 
36
  public static function import( $params = array() ) {
37
- global $wp_filter;
38
-
39
  ai1wm_setup_environment();
40
 
41
  // Set params
@@ -61,17 +59,8 @@ class Ai1wm_Import_Controller {
61
  exit;
62
  }
63
 
64
- // Get hook
65
- if ( isset( $wp_filter['ai1wm_import'] ) && ( $filters = $wp_filter['ai1wm_import'] ) ) {
66
- // WordPress 4.7 introduces new class for working with filters/actions called WP_Hook
67
- // which adds another level of abstraction and we need to address it.
68
- if ( isset( $filters->callbacks ) ) {
69
- $filters = $filters->callbacks;
70
- }
71
-
72
- ksort( $filters );
73
-
74
- // Loop over filters
75
  while ( $hooks = current( $filters ) ) {
76
  if ( intval( $params['priority'] ) === key( $filters ) ) {
77
  foreach ( $hooks as $hook ) {
34
  }
35
 
36
  public static function import( $params = array() ) {
 
 
37
  ai1wm_setup_environment();
38
 
39
  // Set params
59
  exit;
60
  }
61
 
62
+ // Loop over filters
63
+ if ( ( $filters = ai1wm_get_filters( 'ai1wm_import' ) ) ) {
 
 
 
 
 
 
 
 
 
64
  while ( $hooks = current( $filters ) ) {
65
  if ( intval( $params['priority'] ) === key( $filters ) ) {
66
  foreach ( $hooks as $hook ) {
lib/controller/class-ai1wm-main-controller.php CHANGED
@@ -894,9 +894,13 @@ class Ai1wm_Main_Controller {
894
 
895
  wp_localize_script( 'ai1wm_backups', 'ai1wm_backups', array(
896
  'ajax' => array(
897
- 'url' => wp_make_link_relative( admin_url( 'admin-ajax.php?action=ai1wm_backups' ) ),
898
- 'add_backup_label' => wp_make_link_relative( admin_url( 'admin-ajax.php?action=ai1wm_add_backup_label' ) ),
899
- 'backup_list' => wp_make_link_relative( admin_url( 'admin-ajax.php?action=ai1wm_backup_list' ) ),
 
 
 
 
900
  ),
901
  'secret_key' => get_option( AI1WM_SECRET_KEY ),
902
  ) );
@@ -932,10 +936,6 @@ class Ai1wm_Main_Controller {
932
  'want_to_delete_this_file' => __( 'Are you sure you want to delete this file?', AI1WM_PLUGIN_NAME ),
933
  'unlimited' => __( 'Restoring a backup is available via Unlimited extension. <a href="https://servmask.com/products/unlimited-extension" target="_blank">Get it here</a>', AI1WM_PLUGIN_NAME ),
934
  'restore_from_file' => __( '"Restore" functionality is available in a <a href="https://servmask.com/products/unlimited-extension" target="_blank">paid extension</a>.<br />You could also download the backup and then use "Import from file".', AI1WM_PLUGIN_NAME ),
935
- 'unable_to_add_backup_label' => __( 'Unable to add label for backup because: ', AI1WM_PLUGIN_NAME ),
936
- 'click_to_set_backup_label' => __( 'Click to set a label for this backup', AI1WM_PLUGIN_NAME ),
937
- 'unable_to_refresh_backups_list' => __( 'Unable to refresh backups list because: ', AI1WM_PLUGIN_NAME ),
938
- 'refresh_backup_list' => __( 'Refreshing backup list...', AI1WM_PLUGIN_NAME ),
939
  ) );
940
  }
941
 
894
 
895
  wp_localize_script( 'ai1wm_backups', 'ai1wm_backups', array(
896
  'ajax' => array(
897
+ 'url' => wp_make_link_relative( admin_url( 'admin-ajax.php?action=ai1wm_backups' ) ),
898
+ ),
899
+ 'backups' => array(
900
+ 'url' => wp_make_link_relative( admin_url( 'admin-ajax.php?action=ai1wm_backup_list' ) ),
901
+ ),
902
+ 'labels' => array(
903
+ 'url' => wp_make_link_relative( admin_url( 'admin-ajax.php?action=ai1wm_add_backup_label' ) ),
904
  ),
905
  'secret_key' => get_option( AI1WM_SECRET_KEY ),
906
  ) );
936
  'want_to_delete_this_file' => __( 'Are you sure you want to delete this file?', AI1WM_PLUGIN_NAME ),
937
  'unlimited' => __( 'Restoring a backup is available via Unlimited extension. <a href="https://servmask.com/products/unlimited-extension" target="_blank">Get it here</a>', AI1WM_PLUGIN_NAME ),
938
  'restore_from_file' => __( '"Restore" functionality is available in a <a href="https://servmask.com/products/unlimited-extension" target="_blank">paid extension</a>.<br />You could also download the backup and then use "Import from file".', AI1WM_PLUGIN_NAME ),
 
 
 
 
939
  ) );
940
  }
941
 
lib/controller/class-ai1wm-report-controller.php CHANGED
@@ -30,6 +30,7 @@ if ( ! defined( 'ABSPATH' ) ) {
30
  class Ai1wm_Report_Controller {
31
 
32
  public static function report( $params = array() ) {
 
33
 
34
  // Set params
35
  if ( empty( $params ) ) {
@@ -67,12 +68,14 @@ class Ai1wm_Report_Controller {
67
  exit;
68
  }
69
 
70
- $model = new Ai1wm_Report;
71
-
72
- // Send report
73
- $errors = $model->add( $email, $message, $terms );
 
 
74
 
75
- echo json_encode( array( 'errors' => $errors ) );
76
  exit;
77
  }
78
  }
30
  class Ai1wm_Report_Controller {
31
 
32
  public static function report( $params = array() ) {
33
+ ai1wm_setup_environment();
34
 
35
  // Set params
36
  if ( empty( $params ) ) {
68
  exit;
69
  }
70
 
71
+ try {
72
+ Ai1wm_Report::add( $email, $message, $terms );
73
+ } catch ( Ai1wm_Report_Exception $e ) {
74
+ echo json_encode( array( 'errors' => array( $e->getMessage() ) ) );
75
+ exit;
76
+ }
77
 
78
+ echo json_encode( array( 'errors' => array() ) );
79
  exit;
80
  }
81
  }
lib/controller/class-ai1wm-status-controller.php CHANGED
@@ -30,6 +30,7 @@ if ( ! defined( 'ABSPATH' ) ) {
30
  class Ai1wm_Status_Controller {
31
 
32
  public static function status( $params = array() ) {
 
33
 
34
  // Set params
35
  if ( empty( $params ) ) {
30
  class Ai1wm_Status_Controller {
31
 
32
  public static function status( $params = array() ) {
33
+ ai1wm_setup_environment();
34
 
35
  // Set params
36
  if ( empty( $params ) ) {
lib/model/class-ai1wm-backups.php CHANGED
@@ -34,7 +34,7 @@ class Ai1wm_Backups {
34
  *
35
  * @return array
36
  */
37
- public function get_files() {
38
  $backups = array();
39
 
40
  try {
@@ -77,7 +77,7 @@ class Ai1wm_Backups {
77
  }
78
 
79
  // Sort backups modified date
80
- usort( $backups, array( $this, 'compare' ) );
81
 
82
  } catch ( Exception $e ) {
83
  }
@@ -86,17 +86,55 @@ class Ai1wm_Backups {
86
  }
87
 
88
  /**
89
- * Delete file
90
  *
91
  * @param string $file File name
92
  * @return boolean
93
  */
94
- public function delete_file( $file ) {
95
  if ( validate_file( $file ) === 0 ) {
96
  return @unlink( ai1wm_backup_path( array( 'archive' => $file ) ) );
97
  }
98
  }
99
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
100
  /**
101
  * Compare backup files by modified time
102
  *
@@ -104,7 +142,7 @@ class Ai1wm_Backups {
104
  * @param array $b File item B
105
  * @return integer
106
  */
107
- public function compare( $a, $b ) {
108
  if ( $a['mtime'] === $b['mtime'] ) {
109
  return 0;
110
  }
34
  *
35
  * @return array
36
  */
37
+ public static function get_files() {
38
  $backups = array();
39
 
40
  try {
77
  }
78
 
79
  // Sort backups modified date
80
+ usort( $backups, 'Ai1wm_Backups::compare' );
81
 
82
  } catch ( Exception $e ) {
83
  }
86
  }
87
 
88
  /**
89
+ * Delete backup file
90
  *
91
  * @param string $file File name
92
  * @return boolean
93
  */
94
+ public static function delete_file( $file ) {
95
  if ( validate_file( $file ) === 0 ) {
96
  return @unlink( ai1wm_backup_path( array( 'archive' => $file ) ) );
97
  }
98
  }
99
 
100
+ /**
101
+ * Get all backup labels
102
+ *
103
+ * @return array
104
+ */
105
+ public static function get_labels() {
106
+ return get_option( AI1WM_BACKUPS_LABELS, array() );
107
+ }
108
+
109
+ /**
110
+ * Set backup label
111
+ *
112
+ * @param string $file File name
113
+ * @param string $label File label
114
+ * @return boolean
115
+ */
116
+ public static function set_label( $file, $label ) {
117
+ if ( ( $labels = get_option( AI1WM_BACKUPS_LABELS, array() ) ) !== false ) {
118
+ $labels[ $file ] = $label;
119
+ }
120
+
121
+ return update_option( AI1WM_BACKUPS_LABELS, $labels );
122
+ }
123
+
124
+ /**
125
+ * Delete backup label
126
+ *
127
+ * @param string $file File name
128
+ * @return boolean
129
+ */
130
+ public static function delete_label( $file ) {
131
+ if ( ( $labels = get_option( AI1WM_BACKUPS_LABELS, array() ) ) !== false ) {
132
+ unset( $labels[ $file ] );
133
+ }
134
+
135
+ return update_option( AI1WM_BACKUPS_LABELS, $labels );
136
+ }
137
+
138
  /**
139
  * Compare backup files by modified time
140
  *
142
  * @param array $b File item B
143
  * @return integer
144
  */
145
+ public static function compare( $a, $b ) {
146
  if ( $a['mtime'] === $b['mtime'] ) {
147
  return 0;
148
  }
lib/model/class-ai1wm-extensions.php CHANGED
@@ -45,7 +45,7 @@ class Ai1wm_Extensions {
45
  'about' => AI1WMZE_PLUGIN_ABOUT,
46
  'basename' => AI1WMZE_PLUGIN_BASENAME,
47
  'version' => AI1WMZE_VERSION,
48
- 'requires' => '1.18',
49
  'short' => AI1WMZE_PLUGIN_SHORT,
50
  );
51
  }
@@ -58,7 +58,7 @@ class Ai1wm_Extensions {
58
  'about' => AI1WMAE_PLUGIN_ABOUT,
59
  'basename' => AI1WMAE_PLUGIN_BASENAME,
60
  'version' => AI1WMAE_VERSION,
61
- 'requires' => '1.22',
62
  'short' => AI1WMAE_PLUGIN_SHORT,
63
  );
64
  }
@@ -71,7 +71,7 @@ class Ai1wm_Extensions {
71
  'about' => AI1WMBE_PLUGIN_ABOUT,
72
  'basename' => AI1WMBE_PLUGIN_BASENAME,
73
  'version' => AI1WMBE_VERSION,
74
- 'requires' => '1.30',
75
  'short' => AI1WMBE_PLUGIN_SHORT,
76
  );
77
  }
@@ -84,7 +84,7 @@ class Ai1wm_Extensions {
84
  'about' => AI1WMIE_PLUGIN_ABOUT,
85
  'basename' => AI1WMIE_PLUGIN_BASENAME,
86
  'version' => AI1WMIE_VERSION,
87
- 'requires' => '1.28',
88
  'short' => AI1WMIE_PLUGIN_SHORT,
89
  );
90
  }
@@ -97,7 +97,7 @@ class Ai1wm_Extensions {
97
  'about' => AI1WMDE_PLUGIN_ABOUT,
98
  'basename' => AI1WMDE_PLUGIN_BASENAME,
99
  'version' => AI1WMDE_VERSION,
100
- 'requires' => '3.49',
101
  'short' => AI1WMDE_PLUGIN_SHORT,
102
  );
103
  }
@@ -110,7 +110,7 @@ class Ai1wm_Extensions {
110
  'about' => AI1WMTE_PLUGIN_ABOUT,
111
  'basename' => AI1WMTE_PLUGIN_BASENAME,
112
  'version' => AI1WMTE_VERSION,
113
- 'requires' => '1.4',
114
  'short' => AI1WMTE_PLUGIN_SHORT,
115
  );
116
  }
@@ -123,7 +123,7 @@ class Ai1wm_Extensions {
123
  'about' => AI1WMFE_PLUGIN_ABOUT,
124
  'basename' => AI1WMFE_PLUGIN_BASENAME,
125
  'version' => AI1WMFE_VERSION,
126
- 'requires' => '2.54',
127
  'short' => AI1WMFE_PLUGIN_SHORT,
128
  );
129
  }
@@ -136,7 +136,7 @@ class Ai1wm_Extensions {
136
  'about' => AI1WMCE_PLUGIN_ABOUT,
137
  'basename' => AI1WMCE_PLUGIN_BASENAME,
138
  'version' => AI1WMCE_VERSION,
139
- 'requires' => '1.19',
140
  'short' => AI1WMCE_PLUGIN_SHORT,
141
  );
142
  }
@@ -149,7 +149,7 @@ class Ai1wm_Extensions {
149
  'about' => AI1WMGE_PLUGIN_ABOUT,
150
  'basename' => AI1WMGE_PLUGIN_BASENAME,
151
  'version' => AI1WMGE_VERSION,
152
- 'requires' => '2.53',
153
  'short' => AI1WMGE_PLUGIN_SHORT,
154
  );
155
  }
@@ -162,7 +162,7 @@ class Ai1wm_Extensions {
162
  'about' => AI1WMRE_PLUGIN_ABOUT,
163
  'basename' => AI1WMRE_PLUGIN_BASENAME,
164
  'version' => AI1WMRE_VERSION,
165
- 'requires' => '1.18',
166
  'short' => AI1WMRE_PLUGIN_SHORT,
167
  );
168
  }
@@ -175,7 +175,7 @@ class Ai1wm_Extensions {
175
  'about' => AI1WMEE_PLUGIN_ABOUT,
176
  'basename' => AI1WMEE_PLUGIN_BASENAME,
177
  'version' => AI1WMEE_VERSION,
178
- 'requires' => '1.27',
179
  'short' => AI1WMEE_PLUGIN_SHORT,
180
  );
181
  }
@@ -188,7 +188,7 @@ class Ai1wm_Extensions {
188
  'about' => AI1WMME_PLUGIN_ABOUT,
189
  'basename' => AI1WMME_PLUGIN_BASENAME,
190
  'version' => AI1WMME_VERSION,
191
- 'requires' => '3.75',
192
  'short' => AI1WMME_PLUGIN_SHORT,
193
  );
194
  }
@@ -201,7 +201,7 @@ class Ai1wm_Extensions {
201
  'about' => AI1WMOE_PLUGIN_ABOUT,
202
  'basename' => AI1WMOE_PLUGIN_BASENAME,
203
  'version' => AI1WMOE_VERSION,
204
- 'requires' => '1.41',
205
  'short' => AI1WMOE_PLUGIN_SHORT,
206
  );
207
  }
@@ -214,7 +214,7 @@ class Ai1wm_Extensions {
214
  'about' => AI1WMPE_PLUGIN_ABOUT,
215
  'basename' => AI1WMPE_PLUGIN_BASENAME,
216
  'version' => AI1WMPE_VERSION,
217
- 'requires' => '1.16',
218
  'short' => AI1WMPE_PLUGIN_SHORT,
219
  );
220
  }
@@ -227,7 +227,7 @@ class Ai1wm_Extensions {
227
  'about' => AI1WMNE_PLUGIN_ABOUT,
228
  'basename' => AI1WMNE_PLUGIN_BASENAME,
229
  'version' => AI1WMNE_VERSION,
230
- 'requires' => '1.13',
231
  'short' => AI1WMNE_PLUGIN_SHORT,
232
  );
233
  }
@@ -240,7 +240,7 @@ class Ai1wm_Extensions {
240
  'about' => AI1WMSE_PLUGIN_ABOUT,
241
  'basename' => AI1WMSE_PLUGIN_BASENAME,
242
  'version' => AI1WMSE_VERSION,
243
- 'requires' => '3.47',
244
  'short' => AI1WMSE_PLUGIN_SHORT,
245
  );
246
  }
@@ -253,7 +253,7 @@ class Ai1wm_Extensions {
253
  'about' => AI1WMUE_PLUGIN_ABOUT,
254
  'basename' => AI1WMUE_PLUGIN_BASENAME,
255
  'version' => AI1WMUE_VERSION,
256
- 'requires' => '2.30',
257
  'short' => AI1WMUE_PLUGIN_SHORT,
258
  );
259
  }
@@ -266,7 +266,7 @@ class Ai1wm_Extensions {
266
  'about' => AI1WMLE_PLUGIN_ABOUT,
267
  'basename' => AI1WMLE_PLUGIN_BASENAME,
268
  'version' => AI1WMLE_VERSION,
269
- 'requires' => '2.40',
270
  'short' => AI1WMLE_PLUGIN_SHORT,
271
  );
272
  }
@@ -279,7 +279,7 @@ class Ai1wm_Extensions {
279
  'about' => AI1WMWE_PLUGIN_ABOUT,
280
  'basename' => AI1WMWE_PLUGIN_BASENAME,
281
  'version' => AI1WMWE_VERSION,
282
- 'requires' => '1.15',
283
  'short' => AI1WMWE_PLUGIN_SHORT,
284
  );
285
  }
45
  'about' => AI1WMZE_PLUGIN_ABOUT,
46
  'basename' => AI1WMZE_PLUGIN_BASENAME,
47
  'version' => AI1WMZE_VERSION,
48
+ 'requires' => '1.19',
49
  'short' => AI1WMZE_PLUGIN_SHORT,
50
  );
51
  }
58
  'about' => AI1WMAE_PLUGIN_ABOUT,
59
  'basename' => AI1WMAE_PLUGIN_BASENAME,
60
  'version' => AI1WMAE_VERSION,
61
+ 'requires' => '1.23',
62
  'short' => AI1WMAE_PLUGIN_SHORT,
63
  );
64
  }
71
  'about' => AI1WMBE_PLUGIN_ABOUT,
72
  'basename' => AI1WMBE_PLUGIN_BASENAME,
73
  'version' => AI1WMBE_VERSION,
74
+ 'requires' => '1.31',
75
  'short' => AI1WMBE_PLUGIN_SHORT,
76
  );
77
  }
84
  'about' => AI1WMIE_PLUGIN_ABOUT,
85
  'basename' => AI1WMIE_PLUGIN_BASENAME,
86
  'version' => AI1WMIE_VERSION,
87
+ 'requires' => '1.30',
88
  'short' => AI1WMIE_PLUGIN_SHORT,
89
  );
90
  }
97
  'about' => AI1WMDE_PLUGIN_ABOUT,
98
  'basename' => AI1WMDE_PLUGIN_BASENAME,
99
  'version' => AI1WMDE_VERSION,
100
+ 'requires' => '3.50',
101
  'short' => AI1WMDE_PLUGIN_SHORT,
102
  );
103
  }
110
  'about' => AI1WMTE_PLUGIN_ABOUT,
111
  'basename' => AI1WMTE_PLUGIN_BASENAME,
112
  'version' => AI1WMTE_VERSION,
113
+ 'requires' => '1.5',
114
  'short' => AI1WMTE_PLUGIN_SHORT,
115
  );
116
  }
123
  'about' => AI1WMFE_PLUGIN_ABOUT,
124
  'basename' => AI1WMFE_PLUGIN_BASENAME,
125
  'version' => AI1WMFE_VERSION,
126
+ 'requires' => '2.55',
127
  'short' => AI1WMFE_PLUGIN_SHORT,
128
  );
129
  }
136
  'about' => AI1WMCE_PLUGIN_ABOUT,
137
  'basename' => AI1WMCE_PLUGIN_BASENAME,
138
  'version' => AI1WMCE_VERSION,
139
+ 'requires' => '1.20',
140
  'short' => AI1WMCE_PLUGIN_SHORT,
141
  );
142
  }
149
  'about' => AI1WMGE_PLUGIN_ABOUT,
150
  'basename' => AI1WMGE_PLUGIN_BASENAME,
151
  'version' => AI1WMGE_VERSION,
152
+ 'requires' => '2.54',
153
  'short' => AI1WMGE_PLUGIN_SHORT,
154
  );
155
  }
162
  'about' => AI1WMRE_PLUGIN_ABOUT,
163
  'basename' => AI1WMRE_PLUGIN_BASENAME,
164
  'version' => AI1WMRE_VERSION,
165
+ 'requires' => '1.19',
166
  'short' => AI1WMRE_PLUGIN_SHORT,
167
  );
168
  }
175
  'about' => AI1WMEE_PLUGIN_ABOUT,
176
  'basename' => AI1WMEE_PLUGIN_BASENAME,
177
  'version' => AI1WMEE_VERSION,
178
+ 'requires' => '1.28',
179
  'short' => AI1WMEE_PLUGIN_SHORT,
180
  );
181
  }
188
  'about' => AI1WMME_PLUGIN_ABOUT,
189
  'basename' => AI1WMME_PLUGIN_BASENAME,
190
  'version' => AI1WMME_VERSION,
191
+ 'requires' => '3.76',
192
  'short' => AI1WMME_PLUGIN_SHORT,
193
  );
194
  }
201
  'about' => AI1WMOE_PLUGIN_ABOUT,
202
  'basename' => AI1WMOE_PLUGIN_BASENAME,
203
  'version' => AI1WMOE_VERSION,
204
+ 'requires' => '1.42',
205
  'short' => AI1WMOE_PLUGIN_SHORT,
206
  );
207
  }
214
  'about' => AI1WMPE_PLUGIN_ABOUT,
215
  'basename' => AI1WMPE_PLUGIN_BASENAME,
216
  'version' => AI1WMPE_VERSION,
217
+ 'requires' => '1.17',
218
  'short' => AI1WMPE_PLUGIN_SHORT,
219
  );
220
  }
227
  'about' => AI1WMNE_PLUGIN_ABOUT,
228
  'basename' => AI1WMNE_PLUGIN_BASENAME,
229
  'version' => AI1WMNE_VERSION,
230
+ 'requires' => '1.14',
231
  'short' => AI1WMNE_PLUGIN_SHORT,
232
  );
233
  }
240
  'about' => AI1WMSE_PLUGIN_ABOUT,
241
  'basename' => AI1WMSE_PLUGIN_BASENAME,
242
  'version' => AI1WMSE_VERSION,
243
+ 'requires' => '3.48',
244
  'short' => AI1WMSE_PLUGIN_SHORT,
245
  );
246
  }
253
  'about' => AI1WMUE_PLUGIN_ABOUT,
254
  'basename' => AI1WMUE_PLUGIN_BASENAME,
255
  'version' => AI1WMUE_VERSION,
256
+ 'requires' => '2.31',
257
  'short' => AI1WMUE_PLUGIN_SHORT,
258
  );
259
  }
266
  'about' => AI1WMLE_PLUGIN_ABOUT,
267
  'basename' => AI1WMLE_PLUGIN_BASENAME,
268
  'version' => AI1WMLE_VERSION,
269
+ 'requires' => '2.41',
270
  'short' => AI1WMLE_PLUGIN_SHORT,
271
  );
272
  }
279
  'about' => AI1WMWE_PLUGIN_ABOUT,
280
  'basename' => AI1WMWE_PLUGIN_BASENAME,
281
  'version' => AI1WMWE_VERSION,
282
+ 'requires' => '1.16',
283
  'short' => AI1WMWE_PLUGIN_SHORT,
284
  );
285
  }
lib/model/class-ai1wm-feedback.php CHANGED
@@ -40,37 +40,44 @@ class Ai1wm_Feedback {
40
  *
41
  * @return array
42
  */
43
- public function add( $type, $email, $message, $terms, $purchases ) {
44
- $errors = array();
 
 
 
45
 
46
- // Submit feedback to ServMask
47
  if ( empty( $type ) ) {
48
- $errors[] = __( 'Feedback type is not valid.', AI1WM_PLUGIN_NAME );
49
- } elseif ( ! filter_var( $email, FILTER_VALIDATE_EMAIL ) ) {
50
- $errors[] = __( 'Your email is not valid.', AI1WM_PLUGIN_NAME );
51
- } elseif ( empty( $message ) ) {
52
- $errors[] = __( 'Please enter comments in the text area.', AI1WM_PLUGIN_NAME );
53
- } elseif ( empty( $terms ) ) {
54
- $errors[] = __( 'Please accept feedback term conditions.', AI1WM_PLUGIN_NAME );
55
- } else {
56
- $response = wp_remote_post(
57
- AI1WM_FEEDBACK_URL,
58
- array(
59
- 'timeout' => 15,
60
- 'body' => array(
61
- 'type' => $type,
62
- 'email' => $email,
63
- 'message' => $message,
64
- 'purchases' => $purchases,
65
- ),
66
- )
67
- );
 
 
 
 
 
68
 
69
- if ( is_wp_error( $response ) ) {
70
- $errors[] = sprintf( __( 'Something went wrong: %s', AI1WM_PLUGIN_NAME ), $response->get_error_message() );
71
- }
72
  }
73
 
74
- return $errors;
75
  }
76
  }
40
  *
41
  * @return array
42
  */
43
+ public static function add( $type, $email, $message, $terms, $purchases ) {
44
+ // Validate email
45
+ if ( filter_var( $email, FILTER_VALIDATE_EMAIL ) === false ) {
46
+ throw new Ai1wm_Feedback_Exception( __( 'Your email is not valid.', AI1WM_PLUGIN_NAME ) );
47
+ }
48
 
49
+ // Validate type
50
  if ( empty( $type ) ) {
51
+ throw new Ai1wm_Feedback_Exception( __( 'Feedback type is not valid.', AI1WM_PLUGIN_NAME ) );
52
+ }
53
+
54
+ // Validate message
55
+ if ( empty( $message ) ) {
56
+ throw new Ai1wm_Feedback_Exception( __( 'Please enter comments in the text area.', AI1WM_PLUGIN_NAME ) );
57
+ }
58
+
59
+ // Validate terms
60
+ if ( empty( $terms ) ) {
61
+ throw new Ai1wm_Feedback_Exception( __( 'Please accept feedback term conditions.', AI1WM_PLUGIN_NAME ) );
62
+ }
63
+
64
+ $response = wp_remote_post(
65
+ AI1WM_FEEDBACK_URL,
66
+ array(
67
+ 'timeout' => 15,
68
+ 'body' => array(
69
+ 'type' => $type,
70
+ 'email' => $email,
71
+ 'message' => $message,
72
+ 'purchases' => $purchases,
73
+ ),
74
+ )
75
+ );
76
 
77
+ if ( is_wp_error( $response ) ) {
78
+ throw new Ai1wm_Feedback_Exception( sprintf( __( 'Something went wrong: %s', AI1WM_PLUGIN_NAME ), $response->get_error_message() ) );
 
79
  }
80
 
81
+ return $response;
82
  }
83
  }
lib/model/class-ai1wm-report.php CHANGED
@@ -38,33 +38,37 @@ class Ai1wm_Report {
38
  *
39
  * @return array
40
  */
41
- public function add( $email, $message, $terms ) {
42
- $errors = array();
 
 
 
 
 
 
 
 
 
 
 
 
 
43
 
44
- // Submit report to ServMask
45
- if ( ! filter_var( $email, FILTER_VALIDATE_EMAIL ) ) {
46
- $errors[] = __( 'Your email is not valid.', AI1WM_PLUGIN_NAME );
47
- } elseif ( empty( $message ) ) {
48
- $errors[] = __( 'Please enter comments in the text area.', AI1WM_PLUGIN_NAME );
49
- } elseif ( empty( $terms ) ) {
50
- $errors[] = __( 'Please accept report term conditions.', AI1WM_PLUGIN_NAME );
51
- } else {
52
- $response = wp_remote_post(
53
- AI1WM_REPORT_URL,
54
- array(
55
- 'timeout' => 15,
56
- 'body' => array(
57
- 'email' => $email,
58
- 'message' => $message,
59
- ),
60
- )
61
- );
62
 
63
- if ( is_wp_error( $response ) ) {
64
- $errors[] = sprintf( __( 'Something went wrong: %s', AI1WM_PLUGIN_NAME ), $response->get_error_message() );
65
- }
66
  }
67
 
68
- return $errors;
69
  }
70
  }
38
  *
39
  * @return array
40
  */
41
+ public static function add( $email, $message, $terms ) {
42
+ // Validate email
43
+ if ( filter_var( $email, FILTER_VALIDATE_EMAIL ) === false ) {
44
+ throw new Ai1wm_Report_Exception( __( 'Your email is not valid.', AI1WM_PLUGIN_NAME ) );
45
+ }
46
+
47
+ // Validate message
48
+ if ( empty( $message ) ) {
49
+ throw new Ai1wm_Report_Exception( __( 'Please enter comments in the text area.', AI1WM_PLUGIN_NAME ) );
50
+ }
51
+
52
+ // Validate terms
53
+ if ( empty( $terms ) ) {
54
+ throw new Ai1wm_Report_Exception( __( 'Please accept report term conditions.', AI1WM_PLUGIN_NAME ) );
55
+ }
56
 
57
+ $response = wp_remote_post(
58
+ AI1WM_REPORT_URL,
59
+ array(
60
+ 'timeout' => 15,
61
+ 'body' => array(
62
+ 'email' => $email,
63
+ 'message' => $message,
64
+ ),
65
+ )
66
+ );
 
 
 
 
 
 
 
 
67
 
68
+ if ( is_wp_error( $response ) ) {
69
+ throw new Ai1wm_Report_Exception( sprintf( __( 'Something went wrong: %s', AI1WM_PLUGIN_NAME ), $response->get_error_message() ) );
 
70
  }
71
 
72
+ return $response;
73
  }
74
  }
lib/model/class-ai1wm-template.php CHANGED
@@ -32,10 +32,10 @@ class Ai1wm_Template extends Bandar {
32
  /**
33
  * Renders a file and returns its contents
34
  *
35
- * @param string $file View to render
36
- * @param array $args Set of arguments
37
- *
38
- * @return string Rendered view
39
  */
40
  public static function render( $view, $args = array(), $path = false ) {
41
  parent::render( $view, $args, $path );
@@ -44,15 +44,23 @@ class Ai1wm_Template extends Bandar {
44
  /**
45
  * Returns link to an asset file
46
  *
47
- * @param string $asset Asset file
48
- *
49
- * @return string Asset URL
50
  */
51
  public static function asset_link( $asset, $prefix = 'AI1WM' ) {
52
  return constant( $prefix . '_URL' ) . '/lib/view/assets/' . $asset . '?v=' . constant( $prefix . '_VERSION' );
53
  }
54
 
55
- public static function get_content( $template, $args = array(), $path = false ) {
56
- return parent::getTemplateContent( $template, $args, $path );
 
 
 
 
 
 
 
 
57
  }
58
  }
32
  /**
33
  * Renders a file and returns its contents
34
  *
35
+ * @param string $view View to render
36
+ * @param array $args Set of arguments
37
+ * @param string|bool $path Path to template
38
+ * @return string Rendered view
39
  */
40
  public static function render( $view, $args = array(), $path = false ) {
41
  parent::render( $view, $args, $path );
44
  /**
45
  * Returns link to an asset file
46
  *
47
+ * @param string $asset Asset file
48
+ * @param string $prefix Asset prefix
49
+ * @return string Asset URL
50
  */
51
  public static function asset_link( $asset, $prefix = 'AI1WM' ) {
52
  return constant( $prefix . '_URL' ) . '/lib/view/assets/' . $asset . '?v=' . constant( $prefix . '_VERSION' );
53
  }
54
 
55
+ /**
56
+ * Renders a file and gets its contents
57
+ *
58
+ * @param string $view View to render
59
+ * @param array $args Set of arguments
60
+ * @param string|bool $path Path to template
61
+ * @return string Rendered view
62
+ */
63
+ public static function get_content( $view, $args = array(), $path = false ) {
64
+ return parent::getTemplateContent( $view, $args, $path );
65
  }
66
  }
lib/model/import/class-ai1wm-import-database.php CHANGED
@@ -312,7 +312,7 @@ class Ai1wm_Import_Database {
312
  if ( ! isset( $config['NoEmailReplace'] ) ) {
313
  if ( ! in_array( sprintf( '@%s', $old_domain ), $old_replace_values ) ) {
314
  $old_replace_values[] = sprintf( '@%s', $old_domain );
315
- $new_replace_values[] = sprintf( '@%s', $new_domain );
316
  }
317
  }
318
  }
@@ -410,7 +410,7 @@ class Ai1wm_Import_Database {
410
  if ( ! isset( $config['NoEmailReplace'] ) ) {
411
  if ( ! in_array( sprintf( '@%s', $old_domain ), $old_replace_values ) ) {
412
  $old_replace_values[] = sprintf( '@%s', $old_domain );
413
- $new_replace_values[] = sprintf( '@%s', $new_domain );
414
  }
415
  }
416
  }
@@ -509,7 +509,7 @@ class Ai1wm_Import_Database {
509
  if ( ! isset( $config['NoEmailReplace'] ) ) {
510
  if ( ! in_array( sprintf( '@%s', $old_domain ), $old_replace_values ) ) {
511
  $old_replace_values[] = sprintf( '@%s', $old_domain );
512
- $new_replace_values[] = sprintf( '@%s', $new_domain );
513
  }
514
  }
515
  }
@@ -607,7 +607,7 @@ class Ai1wm_Import_Database {
607
  if ( ! isset( $config['NoEmailReplace'] ) ) {
608
  if ( ! in_array( sprintf( '@%s', $old_domain ), $old_replace_values ) ) {
609
  $old_replace_values[] = sprintf( '@%s', $old_domain );
610
- $new_replace_values[] = sprintf( '@%s', $new_domain );
611
  }
612
  }
613
  }
312
  if ( ! isset( $config['NoEmailReplace'] ) ) {
313
  if ( ! in_array( sprintf( '@%s', $old_domain ), $old_replace_values ) ) {
314
  $old_replace_values[] = sprintf( '@%s', $old_domain );
315
+ $new_replace_values[] = str_ireplace( '@www.', '@', sprintf( '@%s', $new_domain ) );
316
  }
317
  }
318
  }
410
  if ( ! isset( $config['NoEmailReplace'] ) ) {
411
  if ( ! in_array( sprintf( '@%s', $old_domain ), $old_replace_values ) ) {
412
  $old_replace_values[] = sprintf( '@%s', $old_domain );
413
+ $new_replace_values[] = str_ireplace( '@www.', '@', sprintf( '@%s', $new_domain ) );
414
  }
415
  }
416
  }
509
  if ( ! isset( $config['NoEmailReplace'] ) ) {
510
  if ( ! in_array( sprintf( '@%s', $old_domain ), $old_replace_values ) ) {
511
  $old_replace_values[] = sprintf( '@%s', $old_domain );
512
+ $new_replace_values[] = str_ireplace( '@www.', '@', sprintf( '@%s', $new_domain ) );
513
  }
514
  }
515
  }
607
  if ( ! isset( $config['NoEmailReplace'] ) ) {
608
  if ( ! in_array( sprintf( '@%s', $old_domain ), $old_replace_values ) ) {
609
  $old_replace_values[] = sprintf( '@%s', $old_domain );
610
+ $new_replace_values[] = str_ireplace( '@www.', '@', sprintf( '@%s', $new_domain ) );
611
  }
612
  }
613
  }
lib/vendor/servmask/database/class-ai1wm-database.php CHANGED
@@ -145,7 +145,7 @@ abstract class Ai1wm_Database {
145
  // Check Microsoft SQL Server support
146
  if ( is_resource( $this->wpdb->dbh ) ) {
147
  if ( get_resource_type( $this->wpdb->dbh ) === 'SQL Server Connection' ) {
148
- throw new Exception(
149
  'Your WordPress installation uses Microsoft SQL Server. ' .
150
  'In order 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>'
@@ -849,6 +849,16 @@ abstract class Ai1wm_Database {
849
  // Run SQL query
850
  $this->query( $query );
851
  }
 
 
 
 
 
 
 
 
 
 
852
  }
853
 
854
  // Set query offset
@@ -1434,6 +1444,26 @@ abstract class Ai1wm_Database {
1434
  return str_ireplace( $search, $replace, $input );
1435
  }
1436
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1437
  /**
1438
  * Returns header for dump file
1439
  *
145
  // Check Microsoft SQL Server support
146
  if ( is_resource( $this->wpdb->dbh ) ) {
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
  'In order 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>'
849
  // Run SQL query
850
  $this->query( $query );
851
  }
852
+
853
+ // Replace table row format (MyISAM and InnoDB)
854
+ if ( $this->errno() === 1071 || $this->errno() === 1709 ) {
855
+
856
+ // Replace table row format
857
+ $query = $this->replace_table_row_format( $query );
858
+
859
+ // Run SQL query
860
+ $this->query( $query );
861
+ }
862
  }
863
 
864
  // Set query offset
1444
  return str_ireplace( $search, $replace, $input );
1445
  }
1446
 
1447
+ /**
1448
+ * Replace table row format
1449
+ *
1450
+ * @param string $input SQL statement
1451
+ * @return string
1452
+ */
1453
+ protected function replace_table_row_format( $input ) {
1454
+ // Set table replace row format
1455
+ $search = array(
1456
+ 'ENGINE=InnoDB',
1457
+ 'ENGINE=MyISAM',
1458
+ );
1459
+ $replace = array(
1460
+ 'ENGINE=InnoDB ROW_FORMAT=DYNAMIC',
1461
+ 'ENGINE=MyISAM ROW_FORMAT=DYNAMIC',
1462
+ );
1463
+
1464
+ return str_ireplace( $search, $replace, $input );
1465
+ }
1466
+
1467
  /**
1468
  * Returns header for dump file
1469
  *
lib/view/assets/css/backups.min.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";@-webkit-keyframes ai1wm-rotate{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}25%{-webkit-transform:rotateZ(-90deg);transform:rotateZ(-90deg)}50%{-webkit-transform:rotateZ(-180deg);transform:rotateZ(-180deg)}75%{-webkit-transform:rotateZ(-270deg);transform:rotateZ(-270deg)}to{-webkit-transform:rotateZ(-360deg);transform:rotateZ(-360deg)}}@keyframes ai1wm-rotate{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}25%{-webkit-transform:rotateZ(-90deg);transform:rotateZ(-90deg)}50%{-webkit-transform:rotateZ(-180deg);transform:rotateZ(-180deg)}75%{-webkit-transform:rotateZ(-270deg);transform:rotateZ(-270deg)}to{-webkit-transform:rotateZ(-360deg);transform:rotateZ(-360deg)}}@-webkit-keyframes ai1wm-emphasize{0%,to{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.2);transform:scale(1.2)}}@keyframes ai1wm-emphasize{0%,to{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.2);transform:scale(1.2)}}@-webkit-keyframes ai1wm-fadein{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.5);transform:scale(1.5)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes ai1wm-fadein{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.5);transform:scale(1.5)}to{-webkit-transform:scale(1);transform:scale(1)}}.ai1wm-button-group{border:2px solid #27ae60;background-color:transparent;color:#27ae60;border-radius:5px;cursor:pointer;text-transform:uppercase;font-weight:600;transition:background-color .2s ease-out;display:inline-block;text-align:left}.ai1wm-button-group.ai1wm-button-export,.ai1wm-button-group.ai1wm-button-import{box-sizing:content-box}.ai1wm-button-group.ai1wm-button-export.ai1wm-open>.ai1wm-dropdown-menu{height:448px;border-top:1px solid #27ae60}.ai1wm-button-group.ai1wm-button-import.ai1wm-open>.ai1wm-dropdown-menu{height:476px;border-top:1px solid #27ae60}.ai1wm-button-group .ai1wm-button-main{position:relative;padding:6px 50px 6px 25px;box-sizing:content-box}.ai1wm-button-group .ai1wm-dropdown-menu{height:0;overflow:hidden;transition:height .2s cubic-bezier(.19,1,.22,1);border-top:none}.ai1wm-dropdown-menu{list-style:none}.ai1wm-dropdown-menu,.ai1wm-dropdown-menu li{margin:0!important;padding:0}.ai1wm-dropdown-menu li a,.ai1wm-dropdown-menu li a:visited{display:block;padding:5px 26px;text-decoration:none;color:#27ae60;text-align:left;box-sizing:content-box}.ai1wm-dropdown-menu li a:hover,.ai1wm-dropdown-menu li a:visited:hover{text-decoration:none;color:#111}.ai1mw-lines{position:absolute;width:12px;height:10px;top:9px;right:20px}.ai1wm-line{position:absolute;width:100%;height:2px;margin:auto;background:#27ae60;transition:all .2s ease-in-out}.ai1wm-line-first{top:0;left:0}div.ai1wm-open .ai1wm-line-first,div.ai1wm-open .ai1wm-line-third{top:50%}.ai1wm-line-second{top:50%;left:0}.ai1wm-line-third{top:100%;left:0}.ai1wm-button-blue,.ai1wm-button-gray,.ai1wm-button-green,.ai1wm-button-green-small,.ai1wm-button-red{display:inline-block;border:2px solid #95a5a6;background-color:transparent;color:#95a5a6;border-radius:5px;cursor:pointer;padding:5px 25px 5px 26px;text-transform:uppercase;font-weight:600;outline:0;transition:background-color .2s ease-out;text-decoration:none}.ai1wm-button-gray:hover{background-color:#95a5a6;color:#fff}.ai1wm-button-blue,.ai1wm-button-green,.ai1wm-button-green-small,.ai1wm-button-red{border:2px solid #27ae60;color:#27ae60}.ai1wm-button-green:hover{background-color:#27ae60;color:#fff}.ai1wm-button-blue,.ai1wm-button-green-small,.ai1wm-button-red{border:2px solid #6eb649;color:#6eb649}.ai1wm-button-green-small:hover{background-color:#6eb649;color:#fff}.ai1wm-button-blue,.ai1wm-button-red{border:2px solid #00aff0;color:#00aff0}.ai1wm-button-blue:hover{background-color:#00aff0;color:#fff}.ai1wm-button-red{border:2px solid #e74c3c;color:#e74c3c}.ai1wm-button-red:hover{background-color:#e74c3c;color:#fff}.ai1wm-button-blue[disabled=disabled],.ai1wm-button-green-small[disabled=disabled],.ai1wm-button-green[disabled=disabled],.ai1wm-button-red[disabled=disabled]{opacity:.6;cursor:default}.ai1wm-button-blue[disabled=disabled]:hover{color:#00aff0}.ai1wm-button-red[disabled=disabled]:hover{color:#e74c3c}.ai1wm-button-green[disabled=disabled]:hover{color:#27ae60}.ai1wm-button-blue[disabled=disabled]:hover,.ai1wm-button-green-small[disabled=disabled]:hover,.ai1wm-button-green[disabled=disabled]:hover,.ai1wm-button-red[disabled=disabled]:hover{background:0 0}.ai1wm-message-close-button{position:absolute;right:10px;top:6px;text-decoration:none;font-size:10px}input[type=radio].ai1wm-flat-radio-button{display:none}input[type=radio].ai1wm-flat-radio-button+a i,input[type=radio].ai1wm-flat-radio-button+label i{vertical-align:middle;float:left;width:25px;height:25px;border-radius:50%;background:0 0;border:2px solid #ccc;content:" ";cursor:pointer;position:relative;box-sizing:content-box}input[type=radio].ai1wm-flat-radio-button:checked+a i,input[type=radio].ai1wm-flat-radio-button:checked+label i{background-color:#d9d9d9;border-color:#6f6f6f}.ai1wm-clear{*zoom:1;clear:both}.ai1wm-clear:after,.ai1wm-clear:before{content:" ";display:table}.ai1wm-clear:after{clear:both}.ai1wm-container .ai1wm-row label{position:relative;top:-1px}.ai1wm-container .ai1wm-row label:after{content:"\200E"}.ai1wm-share-button-container{text-align:center}.ai1wm-share-button-container .ai1wm-share-button{text-decoration:none;margin:10px;font-size:30px}.ai1wm-report-problem{position:relative;float:right}.ai1wm-report-problem-dialog{position:absolute;z-index:999;width:280px;right:0;background-color:#fff;margin:6px 0 0;padding:15px 15px 10px;border:1px solid #d6d6d6;border-radius:3px;box-shadow:0 1px 0 0 #fff inset;display:none}.ai1wm-report-email{width:100%;font-weight:400;font-size:.8rem;height:2.3rem;line-height:2.3rem;border-radius:5px;margin-bottom:4px;padding:0 10px}.ai1wm-report-message{width:100%;border-radius:3px;font-size:.8rem;padding:6px 10px;resize:none}.ai1wm-feedback-cancel:active,.ai1wm-feedback-cancel:link,.ai1wm-feedback-cancel:visited,.ai1wm-report-cancel:active,.ai1wm-report-cancel:link,.ai1wm-report-cancel:visited{float:left;line-height:34px;outline:0;text-decoration:none;color:#e74c3c}.ai1wm-form-submit{float:right}.ai1wm-report-active{display:block}.ai1wm-report-terms-segment{font-size:.7rem;line-height:1rem;margin:4px 0 8px}.ai1wm-report-terms-segment>.ai1wm-report-terms{border-radius:3px}.ai1wm-import-info a,.ai1wm-no-underline{text-decoration:none}.ai1wm-top-negative-four{top:-4px}.ai1wm-feedback-form{display:none}.ai1wm-feedback-types{margin:0;padding:0;list-style:none}.ai1wm-feedback-types li{margin:14px 0;padding:0}.ai1wm-feedback-types>li>a>span,.ai1wm-feedback-types>li>label>span{display:inline-block;padding:5px 0 6px 8px}.ai1wm-feedback-types>li>a{height:29px;outline:0;color:#333;text-deciration:none}.ai1wm-loader{display:inline-block;width:128px;height:128px;position:relative;-webkit-animation:ai1wm-rotate 1.5s infinite linear;animation:ai1wm-rotate 1.5s infinite linear;background:url(../img/logo-128x128.png);background-repeat:no-repeat;background-position:center center}.ai1wm-hide{display:none}.ai1wm-label{border:1px solid #5cb85c;background-color:transparent;color:#5cb85c;cursor:pointer;text-transform:uppercase;font-weight:600;outline:0;transition:background-color .2s ease-out;padding:.2em .6em;font-size:.8em;border-radius:5px}.ai1wm-label:hover{background-color:#5cb85c;color:#fff}.ai1wm-dialog-message{text-align:left;line-height:1.5em}.ai1wm-import-info{display:inline-block;font-size:12px;font-weight:700;margin-top:16px}[class*=" ai1wm-icon-"],[class^=ai1wm-icon-]{font-family:'servmask';speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ai1wm-icon-file-zip:before{content:"\e60f"}.ai1wm-icon-folder:before{content:"\e60e"}.ai1wm-icon-file:before{content:"\e60b"}.ai1wm-icon-file-content:before{content:"\e60c"}.ai1wm-icon-cloud-upload:before{content:"\e600"}.ai1wm-icon-history:before{content:"\e603"}.ai1wm-icon-notification:before{content:"\e619"}.ai1wm-icon-arrow-down:before{content:"\e604"}.ai1wm-icon-close:before{content:"\e61a"}.ai1wm-icon-wordpress2:before{content:"\e620"}.ai1wm-icon-arrow-right:before{content:"\e605"}.ai1wm-icon-plus2:before{content:"\e607"}.ai1wm-icon-edit-pencil:before{content:"\e900"}.ai1wm-icon-export:before{content:"\e601"}.ai1wm-icon-publish:before{content:"\e602"}.ai1wm-icon-paperplane:before{content:"\e608"}.ai1wm-icon-help:before{content:"\e609"}.ai1wm-icon-chevron-right:before{content:"\e60d"}.ai1wm-icon-dropbox:before{content:"\e606"}.ai1wm-icon-gear:before{content:"\e60a"}.ai1wm-icon-database:before{content:"\e964"}.ai1wm-icon-upload2:before{content:"\e9c6"}.ai1wm-icon-checkmark:before{content:"\ea10"}.ai1wm-icon-checkmark2:before{content:"\ea11"}.ai1wm-icon-enter:before{content:"\ea13"}.ai1wm-icon-exit:before{content:"\ea14"}.ai1wm-icon-amazon:before{content:"\ea87"}.ai1wm-icon-onedrive:before{content:"\eaaf"}@media (min-width:855px){.ai1wm-row{margin-right:399px}.ai1wm-row:after,.ai1wm-row:before{content:" ";display:table}.ai1wm-row:after{clear:both}.ai1wm-left{float:left;width:100%}.ai1wm-right{float:right;width:377px;margin-right:-399px}.ai1wm-right .ai1wm-sidebar{width:100%}.ai1wm-right .ai1wm-segment{width:333px;border:1px solid #d6d6d6;border-radius:3px;box-shadow:inset 0 1px 0 0 #fff;color:#333;background-color:#f9f9f9;padding:20px;text-decoration:none;text-shadow:0 1px 0 #fff;background-clip:padding-box}.ai1wm-right .ai1wm-segment h2{margin:22px 0 0;padding:0;font-weight:700;font-size:14px;text-transform:uppercase;text-align:center}.ai1wm-right .ai1wm-feedback-email{width:100%;font-weight:400;font-size:.8rem;height:2.3rem;line-height:2.3rem;border-radius:5px;margin-bottom:4px;padding:0 10px}.ai1wm-right .ai1wm-feedback-message{width:100%;border-radius:3px;font-size:.8rem;padding:6px 10px;resize:none}.ai1wm-right .ai1wm-feedback-terms-segment{font-size:.7rem;line-height:1rem;margin:4px 0 8px}.ai1wm-right .ai1wm-feedback-terms-segment>.ai1wm-feedback-terms{border-radius:3px}}.ai1wm-holder{position:relative;border:1px solid #d6d6d6;border-radius:3px;box-shadow:inset 0 1px 0 0 #fff;padding:20px;background:#f9f9f9}.ai1wm-holder h1{float:left;font-weight:300;font-size:22px;text-transform:uppercase}.ai1wm-holder h1 i{position:relative;top:2px}@media (max-width:854px){.ai1wm-container{margin-left:10px!important}.ai1wm-right,.ai1wm-row{margin-right:0!important}.ai1wm-right{float:left!important;width:100%!important;margin-top:18px}.ai1wm-right .ai1wm-sidebar{width:auto!important;border:1px solid #d6d6d6;border-radius:3px;box-shadow:inset 0 1px 0 0 #fff;padding:20px;background:#f9f9f9}.ai1wm-right .ai1wm-feedback-email{width:100%;font-weight:400;font-size:.8rem;height:2.3rem;line-height:2.3rem;border-radius:5px;margin-bottom:4px;padding:0 10px}.ai1wm-right .ai1wm-feedback-message{width:100%;border-radius:3px;font-size:.8rem;padding:6px 10px;resize:none}.ai1wm-right .ai1wm-feedback-terms-segment{font-size:.7rem;line-height:1rem;margin:4px 0 8px;border-radius:3px}.ai1wm-right .ai1wm-feedback-terms-segment>.ai1wm-feedback-terms{border-radius:3px}}.ai1wm-container{margin:20px 20px 0 2px}.ai1wm-container:after,.ai1wm-container:before{content:" ";display:table}.ai1wm-container:after{clear:both}.ai1wm-replace-row{width:100%;box-shadow:outset 0 1px 0 0 white;border-radius:3px;color:#333;font-size:11px;font-weight:700;background-color:#f9f9f9;text-decoration:none;text-shadow:0 1px 0 #fff;background-clip:padding-box;margin-bottom:10px}.ai1wm-field{margin-bottom:4px}.ai1wm-field input[type=text],.ai1wm-field textarea{width:100%;font-weight:400}.ai1wm-field-set{margin-top:18px}.ai1wm-message{-moz-box-sizing:border-box;background-color:#efefef;border-radius:4px;color:rgba(0,0,0,.6);height:auto;margin:10px 0;min-height:18px;padding:6px 10px;position:relative;border:1px solid;transition:opacity .1s ease 0s,color .1s ease 0s,background .1s ease 0s,box-shadow .1s ease 0s}.ai1wm-message.ai1wm-success-message{background-color:#f2f8f0;color:#119000;font-size:12px}.ai1wm-message.ai1wm-info-message{background-color:#d9edf7;color:#31708f;font-size:11px}.ai1wm-message.ai1wm-error-message{background-color:#f1d7d7;color:#a95252;font-size:12px}.ai1wm-message.ai1wm-red-message{color:#d95c5c;border:2px solid #d95c5c;background-color:transparent}.ai1wm-message.ai1wm-red-message h3{margin:.4em 0;color:#d95c5c}.ai1wm-message p{margin:4px 0;font-size:12px}.ai1wm-message-warning{display:block;font-size:14px;line-height:18px;padding:12px 20px;margin:0 0 22px;background-color:#f9f9f9;border:1px solid #d6d6d6;border-radius:3px;box-shadow:0 1px 0 0 #fff inset;border-left:4px solid #ffba00}.ai1wm-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.7);z-index:100001}.ai1wm-modal-container{position:fixed;display:none;top:50%;left:50%;z-index:100002;width:480px;height:auto;padding:16px;-webkit-transform:translate(-240px,-94px);transform:translate(-240px,-94px);border:1px solid #fff;box-shadow:0 2px 6px #292929;border-radius:6px;background:#f6f6f6;box-sizing:border-box;text-align:center}.ai1wm-modal-container section{display:block;min-height:102px}.ai1wm-holder h1,.ai1wm-modal-container section h1{margin:0;padding:0}.ai1wm-modal-container section h1 .ai1wm-title-green{color:#27ae60;font-size:.7em}.ai1wm-modal-container section h1 .ai1wm-title-red{color:#e74c3c;font-size:20px}.ai1wm-modal-container section h1 .ai1wm-title-grey{color:gray;font-size:20px}.ai1wm-modal-container section h1 .ai1wm-loader{width:32px;height:32px;background:url(../img/logo-32x32.png)}.ai1wm-modal-container section h1 .ai1wm-icon-notification{font-size:1.2em;color:#e74c3c}.ai1wm-modal-container section p{margin:0;padding:12px 0}.ai1wm-modal-container section p .ai1wm-modal-sites p{padding:4px 10px;text-align:left}.ai1wm-modal-container section p .ai1wm-modal-sites input,.ai1wm-modal-container section p .ai1wm-modal-sites select{padding:0 6px;width:100%;border-radius:3px;height:30px;line-height:30px}.ai1wm-modal-container section p .ai1wm-modal-subtitle-green{color:#27ae60}.ai1wm-modal-container section p .ai1wm-modal-subtitle-red{color:#e74c3c}.ai1wm-modal-container section p .ai1wm-modal-subdescription{display:block;text-align:left}.ai1wm-modal-container section p a.ai1wm-button-green{display:inline-block;position:relative;top:26px}.ai1wm-modal-container section p a.ai1wm-emphasize{-webkit-animation:ai1wm-emphasize 1s infinite;animation:ai1wm-emphasize 1s infinite}.ai1wm-modal-container section p em{display:block;color:#34495e;font-style:normal}.ai1wm-modal-container section p.ai1wm-import-modal-content{text-align:left}.ai1wm-modal-container section p.ai1wm-import-modal-content-done{text-align:left;padding:1.62em .5em}.ai1wm-modal-container .ai1wm-import-modal-actions{border-top:1px solid #ccc;padding-top:1em;text-align:right}.ai1wm-modal-container .ai1wm-import-modal-actions .ai1wm-button-gray{margin-right:1em}.ai1wm-modal-container .ai1wm-import-modal-notice{border-top:1px solid #ccc}.ai1wm-modal-container .ai1wm-import-modal-notice p{font-weight:700;margin:0;padding-top:16px;text-align:center}#ai1wm-backup-progress,#ai1wm-backup-progress-bar{background-color:#dfdfdf;height:20px;width:350px;border-radius:15px}#ai1wm-backup-progress-bar{background-color:#00aff0;line-height:20px;color:#fff;width:0;text-align:center}.ai1wm-backups{width:100%;margin:1em 0;padding:0;border-collapse:collapse}.ai1wm-backups .ai1wm-column-name{text-align:left;word-wrap:break-word;word-break:break-all}.ai1wm-backups .ai1wm-column-date,.ai1wm-backups .ai1wm-column-size{text-align:center;white-space:nowrap}.ai1wm-backups .ai1wm-column-actions{text-align:right;white-space:nowrap}.ai1wm-backups thead th{padding:4px 6px;text-align:left;font-size:1.2em}.ai1wm-backups tbody tr:first-child{border-top:1px solid #ccc}.ai1wm-backups tbody tr{border-bottom:1px solid #ccc}.ai1wm-backups tbody tr:hover:not(.ai1wm-add-label-holder){background:rgba(0,0,0,.1)}.ai1wm-backups tbody tr:hover:not(.ai1wm-add-label-holder) .ai1wm-add-description{display:inline}.ai1wm-backups tbody td{padding:4px 6px;box-sizing:border-box;line-height:24px}.ai1wm-backups tbody td.ai1wm-backup-actions{text-align:right;width:250px}.ai1wm-backups tbody td.ai1wm-backup-actions span{transition:width 2s cubic-bezier(.19,1,.22,1);display:inline-block;width:0;text-align:center;visibility:hidden}.ai1wm-backups tbody td.ai1wm-backup-actions .ai1wm-backup-delete,.ai1wm-backups tbody td.ai1wm-backup-actions .ai1wm-backup-download,.ai1wm-backups tbody td.ai1wm-backup-actions .ai1wm-backup-restore{border-radius:50px;margin:0 2px;padding:4px 8px}.ai1wm-backups tbody td.ai1wm-backup-actions .ai1wm-button-on span{width:80px;visibility:visible}.ai1wm-backups .spinner{visibility:visible;margin:0}.ai1wm-backups .ai1wm-backups-list-spinner{float:none;visibility:visible;clear:both;padding-left:25px;width:auto}.ai1wm-backups .ai1wm-spinner-holder{line-height:37px}.ai1wm-backups .ai1wm-icon-edit-pencil{display:none;background-color:none;cursor:pointer}.ai1wm-backups .ai1wm-add-description:hover .ai1wm-icon-edit-pencil,.ai1wm-backups .ai1wm-backup-label:hover .ai1wm-icon-edit-pencil{display:inline}.ai1wm-backups .ai1wm-add-description{font-size:12px;cursor:pointer;font-style:italic;display:none}.ai1wm-backups .ai1wm-backup-label-colored{display:inline-block;padding:.25em .4em;font-size:85%;font-weight:400;line-height:1;text-align:center;vertical-align:baseline;border-radius:.25rem;color:#000;background-color:#fad390;cursor:pointer;word-wrap:break-word;word-break:break-all;white-space:normal}.ai1wm-backups .ai1wm-backup-label-colored .ai1wm-icon-edit-pencil{background-color:none}.ai1wm-backups .ai1wm-add-label-holder{border-bottom:none}.ai1wm-backups .ai1wm-add-label-holder td{padding:0}.ai1wm-backups .ai1wm-add-label-holder input{border-radius:5px;border:1px solid #ccc}.ai1wm-backups-empty{line-height:2em}.ai1wm-spinner-paragraph{clear:both}.ai1wm-spinner-paragraph .spinner{padding-left:25px;visibility:visible;float:left;width:auto;margin-left:0}
1
+ @charset "UTF-8";@-webkit-keyframes ai1wm-rotate{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}25%{-webkit-transform:rotateZ(-90deg);transform:rotateZ(-90deg)}50%{-webkit-transform:rotateZ(-180deg);transform:rotateZ(-180deg)}75%{-webkit-transform:rotateZ(-270deg);transform:rotateZ(-270deg)}to{-webkit-transform:rotateZ(-360deg);transform:rotateZ(-360deg)}}@keyframes ai1wm-rotate{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}25%{-webkit-transform:rotateZ(-90deg);transform:rotateZ(-90deg)}50%{-webkit-transform:rotateZ(-180deg);transform:rotateZ(-180deg)}75%{-webkit-transform:rotateZ(-270deg);transform:rotateZ(-270deg)}to{-webkit-transform:rotateZ(-360deg);transform:rotateZ(-360deg)}}@-webkit-keyframes ai1wm-emphasize{0%,to{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.2);transform:scale(1.2)}}@keyframes ai1wm-emphasize{0%,to{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.2);transform:scale(1.2)}}@-webkit-keyframes ai1wm-fadein{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.5);transform:scale(1.5)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes ai1wm-fadein{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.5);transform:scale(1.5)}to{-webkit-transform:scale(1);transform:scale(1)}}.ai1wm-button-group{border:2px solid #27ae60;background-color:transparent;color:#27ae60;border-radius:5px;cursor:pointer;text-transform:uppercase;font-weight:600;transition:background-color .2s ease-out;display:inline-block;text-align:left}.ai1wm-button-group.ai1wm-button-export,.ai1wm-button-group.ai1wm-button-import{box-sizing:content-box}.ai1wm-button-group.ai1wm-button-export.ai1wm-open>.ai1wm-dropdown-menu{height:448px;border-top:1px solid #27ae60}.ai1wm-button-group.ai1wm-button-import.ai1wm-open>.ai1wm-dropdown-menu{height:476px;border-top:1px solid #27ae60}.ai1wm-button-group .ai1wm-button-main{position:relative;padding:6px 50px 6px 25px;box-sizing:content-box}.ai1wm-button-group .ai1wm-dropdown-menu{height:0;overflow:hidden;transition:height .2s cubic-bezier(.19,1,.22,1);border-top:none}.ai1wm-dropdown-menu{list-style:none}.ai1wm-dropdown-menu,.ai1wm-dropdown-menu li{margin:0!important;padding:0}.ai1wm-dropdown-menu li a,.ai1wm-dropdown-menu li a:visited{display:block;padding:5px 26px;text-decoration:none;color:#27ae60;text-align:left;box-sizing:content-box}.ai1wm-dropdown-menu li a:hover,.ai1wm-dropdown-menu li a:visited:hover{text-decoration:none;color:#111}.ai1mw-lines{position:absolute;width:12px;height:10px;top:9px;right:20px}.ai1wm-line{position:absolute;width:100%;height:2px;margin:auto;background:#27ae60;transition:all .2s ease-in-out}.ai1wm-line-first{top:0;left:0}div.ai1wm-open .ai1wm-line-first,div.ai1wm-open .ai1wm-line-third{top:50%}.ai1wm-line-second{top:50%;left:0}.ai1wm-line-third{top:100%;left:0}.ai1wm-button-blue,.ai1wm-button-gray,.ai1wm-button-green,.ai1wm-button-green-small,.ai1wm-button-red{display:inline-block;border:2px solid #95a5a6;background-color:transparent;color:#95a5a6;border-radius:5px;cursor:pointer;padding:5px 25px 5px 26px;text-transform:uppercase;font-weight:600;outline:0;transition:background-color .2s ease-out;text-decoration:none}.ai1wm-button-gray:hover{background-color:#95a5a6;color:#fff}.ai1wm-button-blue,.ai1wm-button-green,.ai1wm-button-green-small,.ai1wm-button-red{border:2px solid #27ae60;color:#27ae60}.ai1wm-button-green:hover{background-color:#27ae60;color:#fff}.ai1wm-button-blue,.ai1wm-button-green-small,.ai1wm-button-red{border:2px solid #6eb649;color:#6eb649}.ai1wm-button-green-small:hover{background-color:#6eb649;color:#fff}.ai1wm-button-blue,.ai1wm-button-red{border:2px solid #00aff0;color:#00aff0}.ai1wm-button-blue:hover{background-color:#00aff0;color:#fff}.ai1wm-button-red{border:2px solid #e74c3c;color:#e74c3c}.ai1wm-button-red:hover{background-color:#e74c3c;color:#fff}.ai1wm-button-blue[disabled=disabled],.ai1wm-button-green-small[disabled=disabled],.ai1wm-button-green[disabled=disabled],.ai1wm-button-red[disabled=disabled]{opacity:.6;cursor:default}.ai1wm-button-blue[disabled=disabled]:hover{color:#00aff0}.ai1wm-button-red[disabled=disabled]:hover{color:#e74c3c}.ai1wm-button-green[disabled=disabled]:hover{color:#27ae60}.ai1wm-button-blue[disabled=disabled]:hover,.ai1wm-button-green-small[disabled=disabled]:hover,.ai1wm-button-green[disabled=disabled]:hover,.ai1wm-button-red[disabled=disabled]:hover{background:0 0}.ai1wm-message-close-button{position:absolute;right:10px;top:6px;text-decoration:none;font-size:10px}input[type=radio].ai1wm-flat-radio-button{display:none}input[type=radio].ai1wm-flat-radio-button+a i,input[type=radio].ai1wm-flat-radio-button+label i{vertical-align:middle;float:left;width:25px;height:25px;border-radius:50%;background:0 0;border:2px solid #ccc;content:" ";cursor:pointer;position:relative;box-sizing:content-box}input[type=radio].ai1wm-flat-radio-button:checked+a i,input[type=radio].ai1wm-flat-radio-button:checked+label i{background-color:#d9d9d9;border-color:#6f6f6f}.ai1wm-clear{*zoom:1;clear:both}.ai1wm-clear:after,.ai1wm-clear:before{content:" ";display:table}.ai1wm-clear:after{clear:both}.ai1wm-container .ai1wm-row label{position:relative;top:-1px}.ai1wm-container .ai1wm-row label:after{content:"\200E"}.ai1wm-share-button-container{text-align:center}.ai1wm-share-button-container .ai1wm-share-button{text-decoration:none;margin:10px;font-size:30px}.ai1wm-report-problem{position:relative;float:right}.ai1wm-report-problem-dialog{position:absolute;z-index:999;width:280px;right:0;background-color:#fff;margin:6px 0 0;padding:15px 15px 10px;border:1px solid #d6d6d6;border-radius:3px;box-shadow:0 1px 0 0 #fff inset;display:none}.ai1wm-report-email{width:100%;font-weight:400;font-size:.8rem;height:2.3rem;line-height:2.3rem;border-radius:5px;margin-bottom:4px;padding:0 10px}.ai1wm-report-message{width:100%;border-radius:3px;font-size:.8rem;padding:6px 10px;resize:none}.ai1wm-feedback-cancel:active,.ai1wm-feedback-cancel:link,.ai1wm-feedback-cancel:visited,.ai1wm-report-cancel:active,.ai1wm-report-cancel:link,.ai1wm-report-cancel:visited{float:left;line-height:34px;outline:0;text-decoration:none;color:#e74c3c}.ai1wm-form-submit{float:right}.ai1wm-report-active{display:block}.ai1wm-report-terms-segment{font-size:.7rem;line-height:1rem;margin:4px 0 8px}.ai1wm-report-terms-segment>.ai1wm-report-terms{border-radius:3px}.ai1wm-import-info a,.ai1wm-no-underline{text-decoration:none}.ai1wm-top-negative-four{top:-4px}.ai1wm-feedback-form{display:none}.ai1wm-feedback-types{margin:0;padding:0;list-style:none}.ai1wm-feedback-types li{margin:14px 0;padding:0}.ai1wm-feedback-types>li>a>span,.ai1wm-feedback-types>li>label>span{display:inline-block;padding:5px 0 6px 8px}.ai1wm-feedback-types>li>a{height:29px;outline:0;color:#333;text-deciration:none}.ai1wm-loader{display:inline-block;width:128px;height:128px;position:relative;-webkit-animation:ai1wm-rotate 1.5s infinite linear;animation:ai1wm-rotate 1.5s infinite linear;background:url(../img/logo-128x128.png);background-repeat:no-repeat;background-position:center center}.ai1wm-hide{display:none}.ai1wm-label{border:1px solid #5cb85c;background-color:transparent;color:#5cb85c;cursor:pointer;text-transform:uppercase;font-weight:600;outline:0;transition:background-color .2s ease-out;padding:.2em .6em;font-size:.8em;border-radius:5px}.ai1wm-label:hover{background-color:#5cb85c;color:#fff}.ai1wm-dialog-message{text-align:left;line-height:1.5em}.ai1wm-import-info{display:inline-block;font-size:12px;font-weight:700;margin-top:16px}[class*=" ai1wm-icon-"],[class^=ai1wm-icon-]{font-family:'servmask';speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ai1wm-icon-file-zip:before{content:"\e60f"}.ai1wm-icon-folder:before{content:"\e60e"}.ai1wm-icon-file:before{content:"\e60b"}.ai1wm-icon-file-content:before{content:"\e60c"}.ai1wm-icon-cloud-upload:before{content:"\e600"}.ai1wm-icon-history:before{content:"\e603"}.ai1wm-icon-notification:before{content:"\e619"}.ai1wm-icon-arrow-down:before{content:"\e604"}.ai1wm-icon-close:before{content:"\e61a"}.ai1wm-icon-wordpress2:before{content:"\e620"}.ai1wm-icon-arrow-right:before{content:"\e605"}.ai1wm-icon-plus2:before{content:"\e607"}.ai1wm-icon-edit-pencil:before{content:"\e900"}.ai1wm-icon-export:before{content:"\e601"}.ai1wm-icon-publish:before{content:"\e602"}.ai1wm-icon-paperplane:before{content:"\e608"}.ai1wm-icon-help:before{content:"\e609"}.ai1wm-icon-chevron-right:before{content:"\e60d"}.ai1wm-icon-dropbox:before{content:"\e606"}.ai1wm-icon-gear:before{content:"\e60a"}.ai1wm-icon-database:before{content:"\e964"}.ai1wm-icon-upload2:before{content:"\e9c6"}.ai1wm-icon-checkmark:before{content:"\ea10"}.ai1wm-icon-checkmark2:before{content:"\ea11"}.ai1wm-icon-enter:before{content:"\ea13"}.ai1wm-icon-exit:before{content:"\ea14"}.ai1wm-icon-amazon:before{content:"\ea87"}.ai1wm-icon-onedrive:before{content:"\eaaf"}@media (min-width:855px){.ai1wm-row{margin-right:399px}.ai1wm-row:after,.ai1wm-row:before{content:" ";display:table}.ai1wm-row:after{clear:both}.ai1wm-left{float:left;width:100%}.ai1wm-right{float:right;width:377px;margin-right:-399px}.ai1wm-right .ai1wm-sidebar{width:100%}.ai1wm-right .ai1wm-segment{width:333px;border:1px solid #d6d6d6;border-radius:3px;box-shadow:inset 0 1px 0 0 #fff;color:#333;background-color:#f9f9f9;padding:20px;text-decoration:none;text-shadow:0 1px 0 #fff;background-clip:padding-box}.ai1wm-right .ai1wm-segment h2{margin:22px 0 0;padding:0;font-weight:700;font-size:14px;text-transform:uppercase;text-align:center}.ai1wm-right .ai1wm-feedback-email{width:100%;font-weight:400;font-size:.8rem;height:2.3rem;line-height:2.3rem;border-radius:5px;margin-bottom:4px;padding:0 10px}.ai1wm-right .ai1wm-feedback-message{width:100%;border-radius:3px;font-size:.8rem;padding:6px 10px;resize:none}.ai1wm-right .ai1wm-feedback-terms-segment{font-size:.7rem;line-height:1rem;margin:4px 0 8px}.ai1wm-right .ai1wm-feedback-terms-segment>.ai1wm-feedback-terms{border-radius:3px}}.ai1wm-holder{position:relative;border:1px solid #d6d6d6;border-radius:3px;box-shadow:inset 0 1px 0 0 #fff;padding:20px;background:#f9f9f9}.ai1wm-holder h1{float:left;font-weight:300;font-size:22px;text-transform:uppercase}.ai1wm-holder h1 i{position:relative;top:2px}@media (max-width:854px){.ai1wm-container{margin-left:10px!important}.ai1wm-right,.ai1wm-row{margin-right:0!important}.ai1wm-right{float:left!important;width:100%!important;margin-top:18px}.ai1wm-right .ai1wm-sidebar{width:auto!important;border:1px solid #d6d6d6;border-radius:3px;box-shadow:inset 0 1px 0 0 #fff;padding:20px;background:#f9f9f9}.ai1wm-right .ai1wm-feedback-email{width:100%;font-weight:400;font-size:.8rem;height:2.3rem;line-height:2.3rem;border-radius:5px;margin-bottom:4px;padding:0 10px}.ai1wm-right .ai1wm-feedback-message{width:100%;border-radius:3px;font-size:.8rem;padding:6px 10px;resize:none}.ai1wm-right .ai1wm-feedback-terms-segment{font-size:.7rem;line-height:1rem;margin:4px 0 8px;border-radius:3px}.ai1wm-right .ai1wm-feedback-terms-segment>.ai1wm-feedback-terms{border-radius:3px}}.ai1wm-container{margin:20px 20px 0 2px}.ai1wm-container:after,.ai1wm-container:before{content:" ";display:table}.ai1wm-container:after{clear:both}.ai1wm-replace-row{width:100%;box-shadow:outset 0 1px 0 0 white;border-radius:3px;color:#333;font-size:11px;font-weight:700;background-color:#f9f9f9;text-decoration:none;text-shadow:0 1px 0 #fff;background-clip:padding-box;margin-bottom:10px}.ai1wm-field{margin-bottom:4px}.ai1wm-field input[type=text],.ai1wm-field textarea{width:100%;font-weight:400}.ai1wm-field-set{margin-top:18px}.ai1wm-message{-moz-box-sizing:border-box;background-color:#efefef;border-radius:4px;color:rgba(0,0,0,.6);height:auto;margin:10px 0;min-height:18px;padding:6px 10px;position:relative;border:1px solid;transition:opacity .1s ease 0s,color .1s ease 0s,background .1s ease 0s,box-shadow .1s ease 0s}.ai1wm-message.ai1wm-success-message{background-color:#f2f8f0;color:#119000;font-size:12px}.ai1wm-message.ai1wm-info-message{background-color:#d9edf7;color:#31708f;font-size:11px}.ai1wm-message.ai1wm-error-message{background-color:#f1d7d7;color:#a95252;font-size:12px}.ai1wm-message.ai1wm-red-message{color:#d95c5c;border:2px solid #d95c5c;background-color:transparent}.ai1wm-message.ai1wm-red-message h3{margin:.4em 0;color:#d95c5c}.ai1wm-message p{margin:4px 0;font-size:12px}.ai1wm-message-warning{display:block;font-size:14px;line-height:18px;padding:12px 20px;margin:0 0 22px;background-color:#f9f9f9;border:1px solid #d6d6d6;border-radius:3px;box-shadow:0 1px 0 0 #fff inset;border-left:4px solid #ffba00}.ai1wm-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.7);z-index:100001}.ai1wm-modal-container{position:fixed;display:none;top:50%;left:50%;z-index:100002;width:480px;height:auto;padding:16px;-webkit-transform:translate(-240px,-94px);transform:translate(-240px,-94px);border:1px solid #fff;box-shadow:0 2px 6px #292929;border-radius:6px;background:#f6f6f6;box-sizing:border-box;text-align:center}.ai1wm-modal-container section{display:block;min-height:102px}.ai1wm-holder h1,.ai1wm-modal-container section h1{margin:0;padding:0}.ai1wm-modal-container section h1 .ai1wm-title-green{color:#27ae60;font-size:.7em}.ai1wm-modal-container section h1 .ai1wm-title-red{color:#e74c3c;font-size:20px}.ai1wm-modal-container section h1 .ai1wm-title-grey{color:gray;font-size:20px}.ai1wm-modal-container section h1 .ai1wm-loader{width:32px;height:32px;background:url(../img/logo-32x32.png)}.ai1wm-modal-container section h1 .ai1wm-icon-notification{font-size:1.2em;color:#e74c3c}.ai1wm-modal-container section p{margin:0;padding:12px 0}.ai1wm-modal-container section p .ai1wm-modal-sites p{padding:4px 10px;text-align:left}.ai1wm-modal-container section p .ai1wm-modal-sites input,.ai1wm-modal-container section p .ai1wm-modal-sites select{padding:0 6px;width:100%;border-radius:3px;height:30px;line-height:30px}.ai1wm-modal-container section p .ai1wm-modal-subtitle-green{color:#27ae60}.ai1wm-modal-container section p .ai1wm-modal-subtitle-red{color:#e74c3c}.ai1wm-modal-container section p .ai1wm-modal-subdescription{display:block;text-align:left}.ai1wm-modal-container section p a.ai1wm-button-green{display:inline-block;position:relative;top:26px}.ai1wm-modal-container section p a.ai1wm-emphasize{-webkit-animation:ai1wm-emphasize 1s infinite;animation:ai1wm-emphasize 1s infinite}.ai1wm-modal-container section p em{display:block;color:#34495e;font-style:normal}.ai1wm-modal-container section p.ai1wm-import-modal-content{text-align:left}.ai1wm-modal-container section p.ai1wm-import-modal-content-done{text-align:left;padding:1.62em .5em}.ai1wm-modal-container .ai1wm-import-modal-actions{border-top:1px solid #ccc;padding-top:1em;text-align:right}.ai1wm-modal-container .ai1wm-import-modal-actions .ai1wm-button-gray{margin-right:1em}.ai1wm-backups tbody tr,.ai1wm-modal-container .ai1wm-import-modal-notice{border-top:1px solid #ccc}.ai1wm-modal-container .ai1wm-import-modal-notice p{font-weight:700;margin:0;padding-top:16px;text-align:center}.ai1wm-backups{width:100%;margin:1em 0;padding:0;border-collapse:collapse}.ai1wm-backups .ai1wm-column-name{text-align:left;word-wrap:break-word;word-break:break-all}.ai1wm-backups .ai1wm-column-date,.ai1wm-backups .ai1wm-column-size{text-align:center;white-space:nowrap}.ai1wm-backups .ai1wm-column-actions{text-align:right;white-space:nowrap}.ai1wm-backups thead th{padding:4px 6px;text-align:left;font-size:1.2em}.ai1wm-backups tbody tr{border-bottom:1px solid #ccc}.ai1wm-backups tbody tr:hover{background:rgba(0,0,0,.1)}.ai1wm-backups tbody tr:hover .ai1wm-backup-label-description:not(.ai1wm-backup-label-selected){display:inline}.ai1wm-backups tbody td{padding:4px 6px;box-sizing:border-box;line-height:24px}.ai1wm-backups tbody td.ai1wm-backup-actions{text-align:right;width:250px}.ai1wm-backups tbody td.ai1wm-backup-actions span{transition:width 2s cubic-bezier(.19,1,.22,1);display:inline-block;width:0;text-align:center;visibility:hidden}.ai1wm-backups tbody td.ai1wm-backup-actions .ai1wm-backup-delete,.ai1wm-backups tbody td.ai1wm-backup-actions .ai1wm-backup-download,.ai1wm-backups tbody td.ai1wm-backup-actions .ai1wm-backup-restore{border-radius:50px;margin:0 2px;padding:4px 8px}.ai1wm-backups tbody td.ai1wm-backup-actions .ai1wm-button-on span{width:80px;visibility:visible}.ai1wm-backups .spinner{visibility:visible;margin:0}.ai1wm-backups .ai1wm-backups-list-spinner{text-align:center;line-height:37px}.ai1wm-backups .ai1wm-backups-list-spinner .spinner{float:none;visibility:visible;margin:0 6px 0 0;position:relative;top:-2px}.ai1wm-backups .ai1wm-backup-label-text{cursor:pointer}.ai1wm-backups .ai1wm-backup-label-text .ai1wm-backup-label-colored{display:inline-block;padding:.25em .4em;font-size:85%;font-weight:400;line-height:1;text-align:center;vertical-align:baseline;border-radius:.25rem;color:#000;background-color:#fad390;cursor:pointer;word-wrap:break-word;word-break:break-all;white-space:normal}.ai1wm-backups .ai1wm-backup-label-description:hover .ai1wm-icon-edit-pencil,.ai1wm-backups .ai1wm-backup-label-text:hover .ai1wm-icon-edit-pencil{display:inline}.ai1wm-backups .ai1wm-backup-label-description{font-size:12px;cursor:pointer;font-style:italic}.ai1wm-backups .ai1wm-backup-label-holder .spinner{float:none}.ai1wm-backups .ai1wm-backup-label-holder .ai1wm-backup-label-field{border-radius:5px;border:1px solid #ccc}.ai1wm-backups-empty,.ai1wm-backups-empty-spinner-holder{line-height:2em}.ai1wm-backups-empty-spinner-holder .spinner{float:none;visibility:visible;margin:0 6px 0 0;position:relative;top:-2px}
lib/view/assets/css/backups.min.rtl.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";@-webkit-keyframes ai1wm-rotate{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}25%{-webkit-transform:rotateZ(90deg);transform:rotateZ(90deg)}50%{-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg)}75%{-webkit-transform:rotateZ(270deg);transform:rotateZ(270deg)}to{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}@keyframes ai1wm-rotate{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}25%{-webkit-transform:rotateZ(90deg);transform:rotateZ(90deg)}50%{-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg)}75%{-webkit-transform:rotateZ(270deg);transform:rotateZ(270deg)}to{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}@-webkit-keyframes ai1wm-emphasize{0%,to{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.2);transform:scale(1.2)}}@keyframes ai1wm-emphasize{0%,to{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.2);transform:scale(1.2)}}@-webkit-keyframes ai1wm-fadein{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.5);transform:scale(1.5)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes ai1wm-fadein{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.5);transform:scale(1.5)}to{-webkit-transform:scale(1);transform:scale(1)}}.ai1wm-button-group{border:2px solid #27ae60;background-color:transparent;color:#27ae60;border-radius:5px;cursor:pointer;text-transform:uppercase;font-weight:600;transition:background-color .2s ease-out;display:inline-block;text-align:right}.ai1wm-button-group.ai1wm-button-export,.ai1wm-button-group.ai1wm-button-import{box-sizing:content-box}.ai1wm-button-group.ai1wm-button-export.ai1wm-open>.ai1wm-dropdown-menu{height:448px;border-top:1px solid #27ae60}.ai1wm-button-group.ai1wm-button-import.ai1wm-open>.ai1wm-dropdown-menu{height:476px;border-top:1px solid #27ae60}.ai1wm-button-group .ai1wm-button-main{position:relative;padding:6px 25px 6px 50px;box-sizing:content-box}.ai1wm-button-group .ai1wm-dropdown-menu{height:0;overflow:hidden;transition:height .2s cubic-bezier(.19,1,.22,1);border-top:none}.ai1wm-dropdown-menu{list-style:none}.ai1wm-dropdown-menu,.ai1wm-dropdown-menu li{margin:0!important;padding:0}.ai1wm-dropdown-menu li a,.ai1wm-dropdown-menu li a:visited{display:block;padding:5px 26px;text-decoration:none;color:#27ae60;text-align:right;box-sizing:content-box}.ai1wm-dropdown-menu li a:hover,.ai1wm-dropdown-menu li a:visited:hover{text-decoration:none;color:#111}.ai1mw-lines{position:absolute;width:12px;height:10px;top:9px;left:20px}.ai1wm-line{position:absolute;width:100%;height:2px;margin:auto;background:#27ae60;transition:all .2s ease-in-out}.ai1wm-line-first{top:0;right:0}div.ai1wm-open .ai1wm-line-first,div.ai1wm-open .ai1wm-line-third{top:50%}.ai1wm-line-second{top:50%;right:0}.ai1wm-line-third{top:100%;right:0}.ai1wm-button-blue,.ai1wm-button-gray,.ai1wm-button-green,.ai1wm-button-green-small,.ai1wm-button-red{display:inline-block;border:2px solid #95a5a6;background-color:transparent;color:#95a5a6;border-radius:5px;cursor:pointer;padding:5px 26px 5px 25px;text-transform:uppercase;font-weight:600;outline:0;transition:background-color .2s ease-out;text-decoration:none}.ai1wm-button-gray:hover{background-color:#95a5a6;color:#fff}.ai1wm-button-blue,.ai1wm-button-green,.ai1wm-button-green-small,.ai1wm-button-red{border:2px solid #27ae60;color:#27ae60}.ai1wm-button-green:hover{background-color:#27ae60;color:#fff}.ai1wm-button-blue,.ai1wm-button-green-small,.ai1wm-button-red{border:2px solid #6eb649;color:#6eb649}.ai1wm-button-green-small:hover{background-color:#6eb649;color:#fff}.ai1wm-button-blue,.ai1wm-button-red{border:2px solid #00aff0;color:#00aff0}.ai1wm-button-blue:hover{background-color:#00aff0;color:#fff}.ai1wm-button-red{border:2px solid #e74c3c;color:#e74c3c}.ai1wm-button-red:hover{background-color:#e74c3c;color:#fff}.ai1wm-button-blue[disabled=disabled],.ai1wm-button-green-small[disabled=disabled],.ai1wm-button-green[disabled=disabled],.ai1wm-button-red[disabled=disabled]{opacity:.6;cursor:default}.ai1wm-button-blue[disabled=disabled]:hover{color:#00aff0}.ai1wm-button-red[disabled=disabled]:hover{color:#e74c3c}.ai1wm-button-green[disabled=disabled]:hover{color:#27ae60}.ai1wm-button-blue[disabled=disabled]:hover,.ai1wm-button-green-small[disabled=disabled]:hover,.ai1wm-button-green[disabled=disabled]:hover,.ai1wm-button-red[disabled=disabled]:hover{background:100% 0}.ai1wm-message-close-button{position:absolute;left:10px;top:6px;text-decoration:none;font-size:10px}input[type=radio].ai1wm-flat-radio-button{display:none}input[type=radio].ai1wm-flat-radio-button+a i,input[type=radio].ai1wm-flat-radio-button+label i{vertical-align:middle;float:right;width:25px;height:25px;border-radius:50%;background:100% 0;border:2px solid #ccc;content:" ";cursor:pointer;position:relative;box-sizing:content-box}input[type=radio].ai1wm-flat-radio-button:checked+a i,input[type=radio].ai1wm-flat-radio-button:checked+label i{background-color:#d9d9d9;border-color:#6f6f6f}.ai1wm-clear{*zoom:1;clear:both}.ai1wm-clear:after,.ai1wm-clear:before{content:" ";display:table}.ai1wm-clear:after{clear:both}.ai1wm-container .ai1wm-row label{position:relative;top:-1px}.ai1wm-container .ai1wm-row label:after{content:"\200E"}.ai1wm-share-button-container{text-align:center}.ai1wm-share-button-container .ai1wm-share-button{text-decoration:none;margin:10px;font-size:30px}.ai1wm-report-problem{position:relative;float:left}.ai1wm-report-problem-dialog{position:absolute;z-index:999;width:280px;left:0;background-color:#fff;margin:6px 0 0;padding:15px 15px 10px;border:1px solid #d6d6d6;border-radius:3px;box-shadow:0 1px 0 0 #fff inset;display:none}.ai1wm-report-email{width:100%;font-weight:400;font-size:.8rem;height:2.3rem;line-height:2.3rem;border-radius:5px;margin-bottom:4px;padding:0 10px}.ai1wm-report-message{width:100%;border-radius:3px;font-size:.8rem;padding:6px 10px;resize:none}.ai1wm-feedback-cancel:active,.ai1wm-feedback-cancel:link,.ai1wm-feedback-cancel:visited,.ai1wm-report-cancel:active,.ai1wm-report-cancel:link,.ai1wm-report-cancel:visited{float:right;line-height:34px;outline:0;text-decoration:none;color:#e74c3c}.ai1wm-form-submit{float:left}.ai1wm-report-active{display:block}.ai1wm-report-terms-segment{font-size:.7rem;line-height:1rem;margin:4px 0 8px}.ai1wm-report-terms-segment>.ai1wm-report-terms{border-radius:3px}.ai1wm-import-info a,.ai1wm-no-underline{text-decoration:none}.ai1wm-top-negative-four{top:-4px}.ai1wm-feedback-form{display:none}.ai1wm-feedback-types{margin:0;padding:0;list-style:none}.ai1wm-feedback-types li{margin:14px 0;padding:0}.ai1wm-feedback-types>li>a>span,.ai1wm-feedback-types>li>label>span{display:inline-block;padding:5px 8px 6px 0}.ai1wm-feedback-types>li>a{height:29px;outline:0;color:#333;text-deciration:none}.ai1wm-loader{display:inline-block;width:128px;height:128px;position:relative;-webkit-animation:ai1wm-rotate 1.5s infinite linear;animation:ai1wm-rotate 1.5s infinite linear;background:url(../img/logo-128x128.png);background-repeat:no-repeat;background-position:center center}.ai1wm-hide{display:none}.ai1wm-label{border:1px solid #5cb85c;background-color:transparent;color:#5cb85c;cursor:pointer;text-transform:uppercase;font-weight:600;outline:0;transition:background-color .2s ease-out;padding:.2em .6em;font-size:.8em;border-radius:5px}.ai1wm-label:hover{background-color:#5cb85c;color:#fff}.ai1wm-dialog-message{text-align:right;line-height:1.5em}.ai1wm-import-info{display:inline-block;font-size:12px;font-weight:700;margin-top:16px}[class*=" ai1wm-icon-"],[class^=ai1wm-icon-]{font-family:'servmask';speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ai1wm-icon-file-zip:before{content:"\e60f"}.ai1wm-icon-folder:before{content:"\e60e"}.ai1wm-icon-file:before{content:"\e60b"}.ai1wm-icon-file-content:before{content:"\e60c"}.ai1wm-icon-cloud-upload:before{content:"\e600"}.ai1wm-icon-history:before{content:"\e603"}.ai1wm-icon-notification:before{content:"\e619"}.ai1wm-icon-arrow-down:before{content:"\e604"}.ai1wm-icon-close:before{content:"\e61a"}.ai1wm-icon-wordpress2:before{content:"\e620"}.ai1wm-icon-arrow-right:before{content:"\e605"}.ai1wm-icon-plus2:before{content:"\e607"}.ai1wm-icon-edit-pencil:before{content:"\e900"}.ai1wm-icon-export:before{content:"\e601"}.ai1wm-icon-publish:before{content:"\e602"}.ai1wm-icon-paperplane:before{content:"\e608"}.ai1wm-icon-help:before{content:"\e609"}.ai1wm-icon-chevron-right:before{content:"\e60d"}.ai1wm-icon-dropbox:before{content:"\e606"}.ai1wm-icon-gear:before{content:"\e60a"}.ai1wm-icon-database:before{content:"\e964"}.ai1wm-icon-upload2:before{content:"\e9c6"}.ai1wm-icon-checkmark:before{content:"\ea10"}.ai1wm-icon-checkmark2:before{content:"\ea11"}.ai1wm-icon-enter:before{content:"\ea13"}.ai1wm-icon-exit:before{content:"\ea14"}.ai1wm-icon-amazon:before{content:"\ea87"}.ai1wm-icon-onedrive:before{content:"\eaaf"}@media (min-width:855px){.ai1wm-row{margin-left:399px}.ai1wm-row:after,.ai1wm-row:before{content:" ";display:table}.ai1wm-row:after{clear:both}.ai1wm-left{float:right;width:100%}.ai1wm-right{float:left;width:377px;margin-left:-399px}.ai1wm-right .ai1wm-sidebar{width:100%}.ai1wm-right .ai1wm-segment{width:333px;border:1px solid #d6d6d6;border-radius:3px;box-shadow:inset 0 1px 0 0 #fff;color:#333;background-color:#f9f9f9;padding:20px;text-decoration:none;text-shadow:0 1px 0 #fff;background-clip:padding-box}.ai1wm-right .ai1wm-segment h2{margin:22px 0 0;padding:0;font-weight:700;font-size:14px;text-transform:uppercase;text-align:center}.ai1wm-right .ai1wm-feedback-email{width:100%;font-weight:400;font-size:.8rem;height:2.3rem;line-height:2.3rem;border-radius:5px;margin-bottom:4px;padding:0 10px}.ai1wm-right .ai1wm-feedback-message{width:100%;border-radius:3px;font-size:.8rem;padding:6px 10px;resize:none}.ai1wm-right .ai1wm-feedback-terms-segment{font-size:.7rem;line-height:1rem;margin:4px 0 8px}.ai1wm-right .ai1wm-feedback-terms-segment>.ai1wm-feedback-terms{border-radius:3px}}.ai1wm-holder{position:relative;border:1px solid #d6d6d6;border-radius:3px;box-shadow:inset 0 1px 0 0 #fff;padding:20px;background:#f9f9f9}.ai1wm-holder h1{float:right;font-weight:300;font-size:22px;text-transform:uppercase}.ai1wm-holder h1 i{position:relative;top:2px}@media (max-width:854px){.ai1wm-container{margin-right:10px!important}.ai1wm-right,.ai1wm-row{margin-left:0!important}.ai1wm-right{float:right!important;width:100%!important;margin-top:18px}.ai1wm-right .ai1wm-sidebar{width:auto!important;border:1px solid #d6d6d6;border-radius:3px;box-shadow:inset 0 1px 0 0 #fff;padding:20px;background:#f9f9f9}.ai1wm-right .ai1wm-feedback-email{width:100%;font-weight:400;font-size:.8rem;height:2.3rem;line-height:2.3rem;border-radius:5px;margin-bottom:4px;padding:0 10px}.ai1wm-right .ai1wm-feedback-message{width:100%;border-radius:3px;font-size:.8rem;padding:6px 10px;resize:none}.ai1wm-right .ai1wm-feedback-terms-segment{font-size:.7rem;line-height:1rem;margin:4px 0 8px;border-radius:3px}.ai1wm-right .ai1wm-feedback-terms-segment>.ai1wm-feedback-terms{border-radius:3px}}.ai1wm-container{margin:20px 2px 0 20px}.ai1wm-container:after,.ai1wm-container:before{content:" ";display:table}.ai1wm-container:after{clear:both}.ai1wm-replace-row{width:100%;box-shadow:outset 0 1px 0 0 white;border-radius:3px;color:#333;font-size:11px;font-weight:700;background-color:#f9f9f9;text-decoration:none;text-shadow:0 1px 0 #fff;background-clip:padding-box;margin-bottom:10px}.ai1wm-field{margin-bottom:4px}.ai1wm-field input[type=text],.ai1wm-field textarea{width:100%;font-weight:400}.ai1wm-field-set{margin-top:18px}.ai1wm-message{-moz-box-sizing:border-box;background-color:#efefef;border-radius:4px;color:rgba(0,0,0,.6);height:auto;margin:10px 0;min-height:18px;padding:6px 10px;position:relative;border:1px solid;transition:opacity .1s ease 0s,color .1s ease 0s,background .1s ease 0s,box-shadow .1s ease 0s}.ai1wm-message.ai1wm-success-message{background-color:#f2f8f0;color:#119000;font-size:12px}.ai1wm-message.ai1wm-info-message{background-color:#d9edf7;color:#31708f;font-size:11px}.ai1wm-message.ai1wm-error-message{background-color:#f1d7d7;color:#a95252;font-size:12px}.ai1wm-message.ai1wm-red-message{color:#d95c5c;border:2px solid #d95c5c;background-color:transparent}.ai1wm-message.ai1wm-red-message h3{margin:.4em 0;color:#d95c5c}.ai1wm-message p{margin:4px 0;font-size:12px}.ai1wm-message-warning{display:block;font-size:14px;line-height:18px;padding:12px 20px;margin:0 0 22px;background-color:#f9f9f9;border:1px solid #d6d6d6;border-radius:3px;box-shadow:0 1px 0 0 #fff inset;border-right:4px solid #ffba00}.ai1wm-overlay{display:none;position:fixed;top:0;right:0;width:100%;height:100%;background-color:rgba(0,0,0,.7);z-index:100001}.ai1wm-modal-container{position:fixed;display:none;top:50%;right:50%;z-index:100002;width:480px;height:auto;padding:16px;-webkit-transform:translate(240px,-94px);transform:translate(240px,-94px);border:1px solid #fff;box-shadow:0 2px 6px #292929;border-radius:6px;background:#f6f6f6;box-sizing:border-box;text-align:center}.ai1wm-modal-container section{display:block;min-height:102px}.ai1wm-holder h1,.ai1wm-modal-container section h1{margin:0;padding:0}.ai1wm-modal-container section h1 .ai1wm-title-green{color:#27ae60;font-size:.7em}.ai1wm-modal-container section h1 .ai1wm-title-red{color:#e74c3c;font-size:20px}.ai1wm-modal-container section h1 .ai1wm-title-grey{color:gray;font-size:20px}.ai1wm-modal-container section h1 .ai1wm-loader{width:32px;height:32px;background:url(../img/logo-32x32.png)}.ai1wm-modal-container section h1 .ai1wm-icon-notification{font-size:1.2em;color:#e74c3c}.ai1wm-modal-container section p{margin:0;padding:12px 0}.ai1wm-modal-container section p .ai1wm-modal-sites p{padding:4px 10px;text-align:right}.ai1wm-modal-container section p .ai1wm-modal-sites input,.ai1wm-modal-container section p .ai1wm-modal-sites select{padding:0 6px;width:100%;border-radius:3px;height:30px;line-height:30px}.ai1wm-modal-container section p .ai1wm-modal-subtitle-green{color:#27ae60}.ai1wm-modal-container section p .ai1wm-modal-subtitle-red{color:#e74c3c}.ai1wm-modal-container section p .ai1wm-modal-subdescription{display:block;text-align:right}.ai1wm-modal-container section p a.ai1wm-button-green{display:inline-block;position:relative;top:26px}.ai1wm-modal-container section p a.ai1wm-emphasize{-webkit-animation:ai1wm-emphasize 1s infinite;animation:ai1wm-emphasize 1s infinite}.ai1wm-modal-container section p em{display:block;color:#34495e;font-style:normal}.ai1wm-modal-container section p.ai1wm-import-modal-content{text-align:right}.ai1wm-modal-container section p.ai1wm-import-modal-content-done{text-align:right;padding:1.62em .5em}.ai1wm-modal-container .ai1wm-import-modal-actions{border-top:1px solid #ccc;padding-top:1em;text-align:left}.ai1wm-modal-container .ai1wm-import-modal-actions .ai1wm-button-gray{margin-left:1em}.ai1wm-modal-container .ai1wm-import-modal-notice{border-top:1px solid #ccc}.ai1wm-modal-container .ai1wm-import-modal-notice p{font-weight:700;margin:0;padding-top:16px;text-align:center}#ai1wm-backup-progress,#ai1wm-backup-progress-bar{background-color:#dfdfdf;height:20px;width:350px;border-radius:15px}#ai1wm-backup-progress-bar{background-color:#00aff0;line-height:20px;color:#fff;width:0;text-align:center}.ai1wm-backups{width:100%;margin:1em 0;padding:0;border-collapse:collapse}.ai1wm-backups .ai1wm-column-name{text-align:right;word-wrap:break-word;word-break:break-all}.ai1wm-backups .ai1wm-column-date,.ai1wm-backups .ai1wm-column-size{text-align:center;white-space:nowrap}.ai1wm-backups .ai1wm-column-actions{text-align:left;white-space:nowrap}.ai1wm-backups thead th{padding:4px 6px;text-align:right;font-size:1.2em}.ai1wm-backups tbody tr:first-child{border-top:1px solid #ccc}.ai1wm-backups tbody tr{border-bottom:1px solid #ccc}.ai1wm-backups tbody tr:hover:not(.ai1wm-add-label-holder){background:rgba(0,0,0,.1)}.ai1wm-backups tbody tr:hover:not(.ai1wm-add-label-holder) .ai1wm-add-description{display:inline}.ai1wm-backups tbody td{padding:4px 6px;box-sizing:border-box;line-height:24px}.ai1wm-backups tbody td.ai1wm-backup-actions{text-align:left;width:250px}.ai1wm-backups tbody td.ai1wm-backup-actions span{transition:width 2s cubic-bezier(.19,1,.22,1);display:inline-block;width:0;text-align:center;visibility:hidden}.ai1wm-backups tbody td.ai1wm-backup-actions .ai1wm-backup-delete,.ai1wm-backups tbody td.ai1wm-backup-actions .ai1wm-backup-download,.ai1wm-backups tbody td.ai1wm-backup-actions .ai1wm-backup-restore{border-radius:50px;margin:0 2px;padding:4px 8px}.ai1wm-backups tbody td.ai1wm-backup-actions .ai1wm-button-on span{width:80px;visibility:visible}.ai1wm-backups .spinner{visibility:visible;margin:0}.ai1wm-backups .ai1wm-backups-list-spinner{float:none;visibility:visible;clear:both;padding-right:25px;width:auto}.ai1wm-backups .ai1wm-spinner-holder{line-height:37px}.ai1wm-backups .ai1wm-icon-edit-pencil{display:none;background-color:none;cursor:pointer}.ai1wm-backups .ai1wm-add-description:hover .ai1wm-icon-edit-pencil,.ai1wm-backups .ai1wm-backup-label:hover .ai1wm-icon-edit-pencil{display:inline}.ai1wm-backups .ai1wm-add-description{font-size:12px;cursor:pointer;font-style:italic;display:none}.ai1wm-backups .ai1wm-backup-label-colored{display:inline-block;padding:.25em .4em;font-size:85%;font-weight:400;line-height:1;text-align:center;vertical-align:baseline;border-radius:.25rem;color:#000;background-color:#fad390;cursor:pointer;word-wrap:break-word;word-break:break-all;white-space:normal}.ai1wm-backups .ai1wm-backup-label-colored .ai1wm-icon-edit-pencil{background-color:none}.ai1wm-backups .ai1wm-add-label-holder{border-bottom:none}.ai1wm-backups .ai1wm-add-label-holder td{padding:0}.ai1wm-backups .ai1wm-add-label-holder input{border-radius:5px;border:1px solid #ccc}.ai1wm-backups-empty{line-height:2em}.ai1wm-spinner-paragraph{clear:both}.ai1wm-spinner-paragraph .spinner{padding-right:25px;visibility:visible;float:right;width:auto;margin-right:0}
1
+ @charset "UTF-8";@-webkit-keyframes ai1wm-rotate{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}25%{-webkit-transform:rotateZ(90deg);transform:rotateZ(90deg)}50%{-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg)}75%{-webkit-transform:rotateZ(270deg);transform:rotateZ(270deg)}to{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}@keyframes ai1wm-rotate{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}25%{-webkit-transform:rotateZ(90deg);transform:rotateZ(90deg)}50%{-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg)}75%{-webkit-transform:rotateZ(270deg);transform:rotateZ(270deg)}to{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}@-webkit-keyframes ai1wm-emphasize{0%,to{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.2);transform:scale(1.2)}}@keyframes ai1wm-emphasize{0%,to{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.2);transform:scale(1.2)}}@-webkit-keyframes ai1wm-fadein{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.5);transform:scale(1.5)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes ai1wm-fadein{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.5);transform:scale(1.5)}to{-webkit-transform:scale(1);transform:scale(1)}}.ai1wm-button-group{border:2px solid #27ae60;background-color:transparent;color:#27ae60;border-radius:5px;cursor:pointer;text-transform:uppercase;font-weight:600;transition:background-color .2s ease-out;display:inline-block;text-align:right}.ai1wm-button-group.ai1wm-button-export,.ai1wm-button-group.ai1wm-button-import{box-sizing:content-box}.ai1wm-button-group.ai1wm-button-export.ai1wm-open>.ai1wm-dropdown-menu{height:448px;border-top:1px solid #27ae60}.ai1wm-button-group.ai1wm-button-import.ai1wm-open>.ai1wm-dropdown-menu{height:476px;border-top:1px solid #27ae60}.ai1wm-button-group .ai1wm-button-main{position:relative;padding:6px 25px 6px 50px;box-sizing:content-box}.ai1wm-button-group .ai1wm-dropdown-menu{height:0;overflow:hidden;transition:height .2s cubic-bezier(.19,1,.22,1);border-top:none}.ai1wm-dropdown-menu{list-style:none}.ai1wm-dropdown-menu,.ai1wm-dropdown-menu li{margin:0!important;padding:0}.ai1wm-dropdown-menu li a,.ai1wm-dropdown-menu li a:visited{display:block;padding:5px 26px;text-decoration:none;color:#27ae60;text-align:right;box-sizing:content-box}.ai1wm-dropdown-menu li a:hover,.ai1wm-dropdown-menu li a:visited:hover{text-decoration:none;color:#111}.ai1mw-lines{position:absolute;width:12px;height:10px;top:9px;left:20px}.ai1wm-line{position:absolute;width:100%;height:2px;margin:auto;background:#27ae60;transition:all .2s ease-in-out}.ai1wm-line-first{top:0;right:0}div.ai1wm-open .ai1wm-line-first,div.ai1wm-open .ai1wm-line-third{top:50%}.ai1wm-line-second{top:50%;right:0}.ai1wm-line-third{top:100%;right:0}.ai1wm-button-blue,.ai1wm-button-gray,.ai1wm-button-green,.ai1wm-button-green-small,.ai1wm-button-red{display:inline-block;border:2px solid #95a5a6;background-color:transparent;color:#95a5a6;border-radius:5px;cursor:pointer;padding:5px 26px 5px 25px;text-transform:uppercase;font-weight:600;outline:0;transition:background-color .2s ease-out;text-decoration:none}.ai1wm-button-gray:hover{background-color:#95a5a6;color:#fff}.ai1wm-button-blue,.ai1wm-button-green,.ai1wm-button-green-small,.ai1wm-button-red{border:2px solid #27ae60;color:#27ae60}.ai1wm-button-green:hover{background-color:#27ae60;color:#fff}.ai1wm-button-blue,.ai1wm-button-green-small,.ai1wm-button-red{border:2px solid #6eb649;color:#6eb649}.ai1wm-button-green-small:hover{background-color:#6eb649;color:#fff}.ai1wm-button-blue,.ai1wm-button-red{border:2px solid #00aff0;color:#00aff0}.ai1wm-button-blue:hover{background-color:#00aff0;color:#fff}.ai1wm-button-red{border:2px solid #e74c3c;color:#e74c3c}.ai1wm-button-red:hover{background-color:#e74c3c;color:#fff}.ai1wm-button-blue[disabled=disabled],.ai1wm-button-green-small[disabled=disabled],.ai1wm-button-green[disabled=disabled],.ai1wm-button-red[disabled=disabled]{opacity:.6;cursor:default}.ai1wm-button-blue[disabled=disabled]:hover{color:#00aff0}.ai1wm-button-red[disabled=disabled]:hover{color:#e74c3c}.ai1wm-button-green[disabled=disabled]:hover{color:#27ae60}.ai1wm-button-blue[disabled=disabled]:hover,.ai1wm-button-green-small[disabled=disabled]:hover,.ai1wm-button-green[disabled=disabled]:hover,.ai1wm-button-red[disabled=disabled]:hover{background:100% 0}.ai1wm-message-close-button{position:absolute;left:10px;top:6px;text-decoration:none;font-size:10px}input[type=radio].ai1wm-flat-radio-button{display:none}input[type=radio].ai1wm-flat-radio-button+a i,input[type=radio].ai1wm-flat-radio-button+label i{vertical-align:middle;float:right;width:25px;height:25px;border-radius:50%;background:100% 0;border:2px solid #ccc;content:" ";cursor:pointer;position:relative;box-sizing:content-box}input[type=radio].ai1wm-flat-radio-button:checked+a i,input[type=radio].ai1wm-flat-radio-button:checked+label i{background-color:#d9d9d9;border-color:#6f6f6f}.ai1wm-clear{*zoom:1;clear:both}.ai1wm-clear:after,.ai1wm-clear:before{content:" ";display:table}.ai1wm-clear:after{clear:both}.ai1wm-container .ai1wm-row label{position:relative;top:-1px}.ai1wm-container .ai1wm-row label:after{content:"\200E"}.ai1wm-share-button-container{text-align:center}.ai1wm-share-button-container .ai1wm-share-button{text-decoration:none;margin:10px;font-size:30px}.ai1wm-report-problem{position:relative;float:left}.ai1wm-report-problem-dialog{position:absolute;z-index:999;width:280px;left:0;background-color:#fff;margin:6px 0 0;padding:15px 15px 10px;border:1px solid #d6d6d6;border-radius:3px;box-shadow:0 1px 0 0 #fff inset;display:none}.ai1wm-report-email{width:100%;font-weight:400;font-size:.8rem;height:2.3rem;line-height:2.3rem;border-radius:5px;margin-bottom:4px;padding:0 10px}.ai1wm-report-message{width:100%;border-radius:3px;font-size:.8rem;padding:6px 10px;resize:none}.ai1wm-feedback-cancel:active,.ai1wm-feedback-cancel:link,.ai1wm-feedback-cancel:visited,.ai1wm-report-cancel:active,.ai1wm-report-cancel:link,.ai1wm-report-cancel:visited{float:right;line-height:34px;outline:0;text-decoration:none;color:#e74c3c}.ai1wm-form-submit{float:left}.ai1wm-report-active{display:block}.ai1wm-report-terms-segment{font-size:.7rem;line-height:1rem;margin:4px 0 8px}.ai1wm-report-terms-segment>.ai1wm-report-terms{border-radius:3px}.ai1wm-import-info a,.ai1wm-no-underline{text-decoration:none}.ai1wm-top-negative-four{top:-4px}.ai1wm-feedback-form{display:none}.ai1wm-feedback-types{margin:0;padding:0;list-style:none}.ai1wm-feedback-types li{margin:14px 0;padding:0}.ai1wm-feedback-types>li>a>span,.ai1wm-feedback-types>li>label>span{display:inline-block;padding:5px 8px 6px 0}.ai1wm-feedback-types>li>a{height:29px;outline:0;color:#333;text-deciration:none}.ai1wm-loader{display:inline-block;width:128px;height:128px;position:relative;-webkit-animation:ai1wm-rotate 1.5s infinite linear;animation:ai1wm-rotate 1.5s infinite linear;background:url(../img/logo-128x128.png);background-repeat:no-repeat;background-position:center center}.ai1wm-hide{display:none}.ai1wm-label{border:1px solid #5cb85c;background-color:transparent;color:#5cb85c;cursor:pointer;text-transform:uppercase;font-weight:600;outline:0;transition:background-color .2s ease-out;padding:.2em .6em;font-size:.8em;border-radius:5px}.ai1wm-label:hover{background-color:#5cb85c;color:#fff}.ai1wm-dialog-message{text-align:right;line-height:1.5em}.ai1wm-import-info{display:inline-block;font-size:12px;font-weight:700;margin-top:16px}[class*=" ai1wm-icon-"],[class^=ai1wm-icon-]{font-family:'servmask';speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ai1wm-icon-file-zip:before{content:"\e60f"}.ai1wm-icon-folder:before{content:"\e60e"}.ai1wm-icon-file:before{content:"\e60b"}.ai1wm-icon-file-content:before{content:"\e60c"}.ai1wm-icon-cloud-upload:before{content:"\e600"}.ai1wm-icon-history:before{content:"\e603"}.ai1wm-icon-notification:before{content:"\e619"}.ai1wm-icon-arrow-down:before{content:"\e604"}.ai1wm-icon-close:before{content:"\e61a"}.ai1wm-icon-wordpress2:before{content:"\e620"}.ai1wm-icon-arrow-right:before{content:"\e605"}.ai1wm-icon-plus2:before{content:"\e607"}.ai1wm-icon-edit-pencil:before{content:"\e900"}.ai1wm-icon-export:before{content:"\e601"}.ai1wm-icon-publish:before{content:"\e602"}.ai1wm-icon-paperplane:before{content:"\e608"}.ai1wm-icon-help:before{content:"\e609"}.ai1wm-icon-chevron-right:before{content:"\e60d"}.ai1wm-icon-dropbox:before{content:"\e606"}.ai1wm-icon-gear:before{content:"\e60a"}.ai1wm-icon-database:before{content:"\e964"}.ai1wm-icon-upload2:before{content:"\e9c6"}.ai1wm-icon-checkmark:before{content:"\ea10"}.ai1wm-icon-checkmark2:before{content:"\ea11"}.ai1wm-icon-enter:before{content:"\ea13"}.ai1wm-icon-exit:before{content:"\ea14"}.ai1wm-icon-amazon:before{content:"\ea87"}.ai1wm-icon-onedrive:before{content:"\eaaf"}@media (min-width:855px){.ai1wm-row{margin-left:399px}.ai1wm-row:after,.ai1wm-row:before{content:" ";display:table}.ai1wm-row:after{clear:both}.ai1wm-left{float:right;width:100%}.ai1wm-right{float:left;width:377px;margin-left:-399px}.ai1wm-right .ai1wm-sidebar{width:100%}.ai1wm-right .ai1wm-segment{width:333px;border:1px solid #d6d6d6;border-radius:3px;box-shadow:inset 0 1px 0 0 #fff;color:#333;background-color:#f9f9f9;padding:20px;text-decoration:none;text-shadow:0 1px 0 #fff;background-clip:padding-box}.ai1wm-right .ai1wm-segment h2{margin:22px 0 0;padding:0;font-weight:700;font-size:14px;text-transform:uppercase;text-align:center}.ai1wm-right .ai1wm-feedback-email{width:100%;font-weight:400;font-size:.8rem;height:2.3rem;line-height:2.3rem;border-radius:5px;margin-bottom:4px;padding:0 10px}.ai1wm-right .ai1wm-feedback-message{width:100%;border-radius:3px;font-size:.8rem;padding:6px 10px;resize:none}.ai1wm-right .ai1wm-feedback-terms-segment{font-size:.7rem;line-height:1rem;margin:4px 0 8px}.ai1wm-right .ai1wm-feedback-terms-segment>.ai1wm-feedback-terms{border-radius:3px}}.ai1wm-holder{position:relative;border:1px solid #d6d6d6;border-radius:3px;box-shadow:inset 0 1px 0 0 #fff;padding:20px;background:#f9f9f9}.ai1wm-holder h1{float:right;font-weight:300;font-size:22px;text-transform:uppercase}.ai1wm-holder h1 i{position:relative;top:2px}@media (max-width:854px){.ai1wm-container{margin-right:10px!important}.ai1wm-right,.ai1wm-row{margin-left:0!important}.ai1wm-right{float:right!important;width:100%!important;margin-top:18px}.ai1wm-right .ai1wm-sidebar{width:auto!important;border:1px solid #d6d6d6;border-radius:3px;box-shadow:inset 0 1px 0 0 #fff;padding:20px;background:#f9f9f9}.ai1wm-right .ai1wm-feedback-email{width:100%;font-weight:400;font-size:.8rem;height:2.3rem;line-height:2.3rem;border-radius:5px;margin-bottom:4px;padding:0 10px}.ai1wm-right .ai1wm-feedback-message{width:100%;border-radius:3px;font-size:.8rem;padding:6px 10px;resize:none}.ai1wm-right .ai1wm-feedback-terms-segment{font-size:.7rem;line-height:1rem;margin:4px 0 8px;border-radius:3px}.ai1wm-right .ai1wm-feedback-terms-segment>.ai1wm-feedback-terms{border-radius:3px}}.ai1wm-container{margin:20px 2px 0 20px}.ai1wm-container:after,.ai1wm-container:before{content:" ";display:table}.ai1wm-container:after{clear:both}.ai1wm-replace-row{width:100%;box-shadow:outset 0 1px 0 0 white;border-radius:3px;color:#333;font-size:11px;font-weight:700;background-color:#f9f9f9;text-decoration:none;text-shadow:0 1px 0 #fff;background-clip:padding-box;margin-bottom:10px}.ai1wm-field{margin-bottom:4px}.ai1wm-field input[type=text],.ai1wm-field textarea{width:100%;font-weight:400}.ai1wm-field-set{margin-top:18px}.ai1wm-message{-moz-box-sizing:border-box;background-color:#efefef;border-radius:4px;color:rgba(0,0,0,.6);height:auto;margin:10px 0;min-height:18px;padding:6px 10px;position:relative;border:1px solid;transition:opacity .1s ease 0s,color .1s ease 0s,background .1s ease 0s,box-shadow .1s ease 0s}.ai1wm-message.ai1wm-success-message{background-color:#f2f8f0;color:#119000;font-size:12px}.ai1wm-message.ai1wm-info-message{background-color:#d9edf7;color:#31708f;font-size:11px}.ai1wm-message.ai1wm-error-message{background-color:#f1d7d7;color:#a95252;font-size:12px}.ai1wm-message.ai1wm-red-message{color:#d95c5c;border:2px solid #d95c5c;background-color:transparent}.ai1wm-message.ai1wm-red-message h3{margin:.4em 0;color:#d95c5c}.ai1wm-message p{margin:4px 0;font-size:12px}.ai1wm-message-warning{display:block;font-size:14px;line-height:18px;padding:12px 20px;margin:0 0 22px;background-color:#f9f9f9;border:1px solid #d6d6d6;border-radius:3px;box-shadow:0 1px 0 0 #fff inset;border-right:4px solid #ffba00}.ai1wm-overlay{display:none;position:fixed;top:0;right:0;width:100%;height:100%;background-color:rgba(0,0,0,.7);z-index:100001}.ai1wm-modal-container{position:fixed;display:none;top:50%;right:50%;z-index:100002;width:480px;height:auto;padding:16px;-webkit-transform:translate(240px,-94px);transform:translate(240px,-94px);border:1px solid #fff;box-shadow:0 2px 6px #292929;border-radius:6px;background:#f6f6f6;box-sizing:border-box;text-align:center}.ai1wm-modal-container section{display:block;min-height:102px}.ai1wm-holder h1,.ai1wm-modal-container section h1{margin:0;padding:0}.ai1wm-modal-container section h1 .ai1wm-title-green{color:#27ae60;font-size:.7em}.ai1wm-modal-container section h1 .ai1wm-title-red{color:#e74c3c;font-size:20px}.ai1wm-modal-container section h1 .ai1wm-title-grey{color:gray;font-size:20px}.ai1wm-modal-container section h1 .ai1wm-loader{width:32px;height:32px;background:url(../img/logo-32x32.png)}.ai1wm-modal-container section h1 .ai1wm-icon-notification{font-size:1.2em;color:#e74c3c}.ai1wm-modal-container section p{margin:0;padding:12px 0}.ai1wm-modal-container section p .ai1wm-modal-sites p{padding:4px 10px;text-align:right}.ai1wm-modal-container section p .ai1wm-modal-sites input,.ai1wm-modal-container section p .ai1wm-modal-sites select{padding:0 6px;width:100%;border-radius:3px;height:30px;line-height:30px}.ai1wm-modal-container section p .ai1wm-modal-subtitle-green{color:#27ae60}.ai1wm-modal-container section p .ai1wm-modal-subtitle-red{color:#e74c3c}.ai1wm-modal-container section p .ai1wm-modal-subdescription{display:block;text-align:right}.ai1wm-modal-container section p a.ai1wm-button-green{display:inline-block;position:relative;top:26px}.ai1wm-modal-container section p a.ai1wm-emphasize{-webkit-animation:ai1wm-emphasize 1s infinite;animation:ai1wm-emphasize 1s infinite}.ai1wm-modal-container section p em{display:block;color:#34495e;font-style:normal}.ai1wm-modal-container section p.ai1wm-import-modal-content{text-align:right}.ai1wm-modal-container section p.ai1wm-import-modal-content-done{text-align:right;padding:1.62em .5em}.ai1wm-modal-container .ai1wm-import-modal-actions{border-top:1px solid #ccc;padding-top:1em;text-align:left}.ai1wm-modal-container .ai1wm-import-modal-actions .ai1wm-button-gray{margin-left:1em}.ai1wm-backups tbody tr,.ai1wm-modal-container .ai1wm-import-modal-notice{border-top:1px solid #ccc}.ai1wm-modal-container .ai1wm-import-modal-notice p{font-weight:700;margin:0;padding-top:16px;text-align:center}.ai1wm-backups{width:100%;margin:1em 0;padding:0;border-collapse:collapse}.ai1wm-backups .ai1wm-column-name{text-align:right;word-wrap:break-word;word-break:break-all}.ai1wm-backups .ai1wm-column-date,.ai1wm-backups .ai1wm-column-size{text-align:center;white-space:nowrap}.ai1wm-backups .ai1wm-column-actions{text-align:left;white-space:nowrap}.ai1wm-backups thead th{padding:4px 6px;text-align:right;font-size:1.2em}.ai1wm-backups tbody tr{border-bottom:1px solid #ccc}.ai1wm-backups tbody tr:hover{background:rgba(0,0,0,.1)}.ai1wm-backups tbody tr:hover .ai1wm-backup-label-description:not(.ai1wm-backup-label-selected){display:inline}.ai1wm-backups tbody td{padding:4px 6px;box-sizing:border-box;line-height:24px}.ai1wm-backups tbody td.ai1wm-backup-actions{text-align:left;width:250px}.ai1wm-backups tbody td.ai1wm-backup-actions span{transition:width 2s cubic-bezier(.19,1,.22,1);display:inline-block;width:0;text-align:center;visibility:hidden}.ai1wm-backups tbody td.ai1wm-backup-actions .ai1wm-backup-delete,.ai1wm-backups tbody td.ai1wm-backup-actions .ai1wm-backup-download,.ai1wm-backups tbody td.ai1wm-backup-actions .ai1wm-backup-restore{border-radius:50px;margin:0 2px;padding:4px 8px}.ai1wm-backups tbody td.ai1wm-backup-actions .ai1wm-button-on span{width:80px;visibility:visible}.ai1wm-backups .spinner{visibility:visible;margin:0}.ai1wm-backups .ai1wm-backups-list-spinner{text-align:center;line-height:37px}.ai1wm-backups .ai1wm-backups-list-spinner .spinner{float:none;visibility:visible;margin:0 0 0 6px;position:relative;top:-2px}.ai1wm-backups .ai1wm-backup-label-text{cursor:pointer}.ai1wm-backups .ai1wm-backup-label-text .ai1wm-backup-label-colored{display:inline-block;padding:.25em .4em;font-size:85%;font-weight:400;line-height:1;text-align:center;vertical-align:baseline;border-radius:.25rem;color:#000;background-color:#fad390;cursor:pointer;word-wrap:break-word;word-break:break-all;white-space:normal}.ai1wm-backups .ai1wm-backup-label-description:hover .ai1wm-icon-edit-pencil,.ai1wm-backups .ai1wm-backup-label-text:hover .ai1wm-icon-edit-pencil{display:inline}.ai1wm-backups .ai1wm-backup-label-description{font-size:12px;cursor:pointer;font-style:italic}.ai1wm-backups .ai1wm-backup-label-holder .spinner{float:none}.ai1wm-backups .ai1wm-backup-label-holder .ai1wm-backup-label-field{border-radius:5px;border:1px solid #ccc}.ai1wm-backups-empty,.ai1wm-backups-empty-spinner-holder{line-height:2em}.ai1wm-backups-empty-spinner-holder .spinner{float:none;visibility:visible;margin:0 0 0 6px;position:relative;top:-2px}
lib/view/assets/javascript/backups.min.js CHANGED
@@ -255,7 +255,7 @@ jQuery(document).ready(function ($) {
255
  e.preventDefault();
256
  });
257
 
258
- $('#ai1wm-report-submit').click(function (r) {
259
  var self = $(this);
260
 
261
  var spinner = self.next();
@@ -1678,7 +1678,7 @@ var Restore = __webpack_require__(8);
1678
  jQuery(document).ready(function ($) {
1679
  'use strict';
1680
 
1681
- $("#ai1wm-backups-list").on({
1682
  mouseenter: function mouseenter() {
1683
  $(this).addClass('ai1wm-button-on');
1684
  },
@@ -1707,9 +1707,10 @@ jQuery(document).ready(function ($) {
1707
  }).done(function (data) {
1708
  if (data.errors.length === 0) {
1709
  self.closest('tr').remove();
1710
- if ($('.ai1wm-backups tbody tr').length === 0) {
1711
- $('.ai1wm-backups').addClass('ai1wm-hide');
1712
- $('.ai1wm-backups-empty').removeClass('ai1wm-hide');
 
1713
  }
1714
  }
1715
  });
@@ -1735,107 +1736,81 @@ jQuery(document).ready(function ($) {
1735
  }
1736
  });
1737
 
1738
- $('#ai1wm-backups-list').on('click', '.ai1wm-add-description, .ai1wm-backup-label', function () {
1739
  $(this).hide();
1740
-
1741
- if (!$(this).closest('td').find('.ai1wm-add-label-holder').length) {
1742
- var td = $(this).closest('td');
1743
- var backup_label = td.find('.ai1wm-backup-label');
1744
- var backup_label_text = td.find('.ai1wm-backup-label-colored');
1745
-
1746
- td.append('\n\t\t\t\t<tr class="ai1wm-add-label-holder">\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<input type="text" class="ai1wm-label-field" value="" />\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t');
1747
-
1748
- td.find('.ai1wm-label-field').val(backup_label_text.text().trim()).focus();
1749
- backup_label.hide();
1750
- }
1751
  });
1752
 
1753
- $('#ai1wm-backups-list').on('keypress keydown', '.ai1wm-label-field', function (e) {
1754
- var keycode = typeof e.keyCode != 'undefined' && e.keyCode ? e.keyCode : e.which;
1755
- var input = $(this);
1756
 
1757
- if (keycode === 13) {
 
1758
  e.preventDefault();
 
 
1759
 
1760
  $.ajax({
1761
- url: ai1wm_backups.ajax.add_backup_label,
1762
- beforeSend: function beforeSend(xhr) {
1763
- input.hide();
1764
- input.parent().append('<span class="spinner"></span>');
1765
- },
1766
  type: 'POST',
1767
  dataType: 'json',
1768
  data: {
1769
- 'backup_name': input.parents('tr').find('.ai1wm-backup-filename').text().trim(),
1770
- 'backup_label': input.val(),
1771
- 'secret_key': ai1wm_backups.secret_key
1772
  },
1773
  dataFilter: function dataFilter(data, type) {
1774
  return Ai1wm.Util.json(data);
1775
  }
1776
  }).done(function (data) {
1777
- var td = input.parents('td');
1778
- var backup_label = td.find('.ai1wm-backup-label');
1779
- var backup_label_text = td.find('.ai1wm-backup-label-colored');
1780
- var backup_add_description = td.find('.ai1wm-add-description');
1781
-
1782
- // Remove tr element with input field
1783
- input.closest('tr').remove();
1784
-
1785
- // Show label element if exist
1786
- if (backup_label.length && data.label.length) {
1787
- backup_label_text.text(input.val());
1788
- backup_label.show();
1789
- } else if (!backup_label.text().length && data.label.length) {
1790
- td.append('\n\t\t\t\t\t\t<span class="ai1wm-backup-label">\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t<span class="ai1wm-backup-label-colored">' + data.label + '</span>\n\t\t\t\t\t\t\t<i class="ai1wm-icon-edit-pencil"></i>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t');
1791
- } else {
1792
- backup_label.remove();
1793
-
1794
- if (!backup_add_description.length) {
1795
- td.append('\n\t\t\t\t\t\t\t<span class="ai1wm-add-description">\n\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t' + ai1wm_locale.click_to_set_backup_label + '\n\t\t\t\t\t\t\t\t<i class="ai1wm-icon-edit-pencil"></i>\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t');
1796
  } else {
1797
- backup_add_description.removeAttr('style');
 
1798
  }
 
 
1799
  }
1800
- }).fail(function (jqXHR, textStatus, textError) {
1801
- alert(ai1wm_locale.unable_to_add_backup_label + textError);
1802
  });
1803
- } else if (keycode === 27) {
1804
  e.preventDefault();
1805
- var td = input.parents('td');
1806
- var backup_label = td.find('.ai1wm-backup-label');
1807
- var backup_add_description = td.find('.ai1wm-add-description');
1808
-
1809
- // Remove tr element with input field
1810
- input.closest('tr').remove();
1811
 
1812
- // Show label element if exist
1813
- if (backup_label.length) {
1814
- backup_label.show();
1815
  } else {
1816
- backup_add_description.removeAttr('style');
 
 
1817
  }
 
 
1818
  }
1819
  });
1820
 
1821
  $(document).on('ai1wm-export-status', function (e, params) {
1822
- switch (params.type) {
1823
- case 'download':
1824
- if ($('.ai1wm-backups').length && !$('.ai1wm-backups').hasClass('ai1wm-hide')) {
1825
- $('.ai1wm-backups tbody').prepend('\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td colspan="4" align="center" class="ai1wm-spinner-holder">\n\t\t\t\t\t\t\t\t<span class="spinner ai1wm-backups-list-spinner"></span>\n\t\t\t\t\t\t\t\t' + ai1wm_locale.refresh_backup_list + '\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t');
1826
- } else {
1827
- $('.ai1wm-backups-empty').addClass('ai1wm-hide');
1828
- $('#ai1wm-backups-list').prepend('\n\t\t\t\t\t\t<p class="ai1wm-spinner-paragraph">\n\t\t\t\t\t\t\t<span class="spinner">' + ai1wm_locale.refresh_backup_list + '</span>\n\t\t\t\t\t\t</p>\n\t\t\t\t\t');
1829
- }
1830
 
1831
- $.get(ai1wm_backups.ajax.backup_list, { secret_key: ai1wm_backups.secret_key }).done(function (data) {
1832
- $('#ai1wm-backups-list').html(data);
1833
- }).fail(function (jqXHR, textStatus, textError) {
1834
- alert(ai1wm_locale.unable_to_refresh_backups_list + textError);
1835
- });
1836
- break;
1837
- default:
1838
- break;
1839
  }
1840
  });
1841
 
255
  e.preventDefault();
256
  });
257
 
258
+ $('#ai1wm-report-submit').click(function (e) {
259
  var self = $(this);
260
 
261
  var spinner = self.next();
1678
  jQuery(document).ready(function ($) {
1679
  'use strict';
1680
 
1681
+ $('#ai1wm-backups-list').on({
1682
  mouseenter: function mouseenter() {
1683
  $(this).addClass('ai1wm-button-on');
1684
  },
1707
  }).done(function (data) {
1708
  if (data.errors.length === 0) {
1709
  self.closest('tr').remove();
1710
+
1711
+ if ($('.ai1wm-backups tbody tr').length === 1) {
1712
+ $('.ai1wm-backups').hide();
1713
+ $('.ai1wm-backups-empty').show();
1714
  }
1715
  }
1716
  });
1736
  }
1737
  });
1738
 
1739
+ $('#ai1wm-backups-list').on('click', '.ai1wm-backup-label-description, .ai1wm-backup-label-text', function () {
1740
  $(this).hide();
1741
+ $(this).closest('.ai1wm-column-name').find('.ai1wm-backup-label-holder').show();
1742
+ $(this).closest('.ai1wm-column-name').find('.ai1wm-backup-label-field').focus();
 
 
 
 
 
 
 
 
 
1743
  });
1744
 
1745
+ $('#ai1wm-backups-list').on('keydown', '.ai1wm-backup-label-field', function (e) {
1746
+ var self = $(this);
1747
+ var spinner = $('<span class="spinner"></span>');
1748
 
1749
+ // Update backup label
1750
+ if (e.which === 13) {
1751
  e.preventDefault();
1752
+ self.hide();
1753
+ self.closest('.ai1wm-backup-label-holder').append(spinner);
1754
 
1755
  $.ajax({
1756
+ url: ai1wm_backups.labels.url,
 
 
 
 
1757
  type: 'POST',
1758
  dataType: 'json',
1759
  data: {
1760
+ 'secret_key': ai1wm_backups.secret_key,
1761
+ 'archive': self.data('archive'),
1762
+ 'label': self.val()
1763
  },
1764
  dataFilter: function dataFilter(data, type) {
1765
  return Ai1wm.Util.json(data);
1766
  }
1767
  }).done(function (data) {
1768
+ if (data.errors.length === 0) {
1769
+ spinner.remove();
1770
+ self.show();
1771
+
1772
+ if (self.val()) {
1773
+ self.closest('.ai1wm-backup-label-holder').hide();
1774
+ self.closest('.ai1wm-column-name').find('.ai1wm-backup-label-text').show();
1775
+ self.closest('.ai1wm-column-name').find('.ai1wm-backup-label-colored').text(self.val());
 
 
 
 
 
 
 
 
 
 
 
1776
  } else {
1777
+ self.closest('.ai1wm-backup-label-holder').hide();
1778
+ self.closest('.ai1wm-column-name').find('.ai1wm-backup-label-description').removeClass('ai1wm-backup-label-selected').removeAttr('style');
1779
  }
1780
+
1781
+ self.data('value', self.val());
1782
  }
 
 
1783
  });
1784
+ } else if (e.which === 27) {
1785
  e.preventDefault();
 
 
 
 
 
 
1786
 
1787
+ if (self.data('value')) {
1788
+ self.closest('.ai1wm-backup-label-holder').hide();
1789
+ self.closest('.ai1wm-column-name').find('.ai1wm-backup-label-text').show();
1790
  } else {
1791
+ self.closest('.ai1wm-backup-label-holder').hide();
1792
+ self.closest('.ai1wm-column-name').find('.ai1wm-backup-label-text').hide();
1793
+ self.closest('.ai1wm-column-name').find('.ai1wm-backup-label-description').removeClass('ai1wm-backup-label-selected').removeAttr('style');
1794
  }
1795
+
1796
+ self.val(self.data('value'));
1797
  }
1798
  });
1799
 
1800
  $(document).on('ai1wm-export-status', function (e, params) {
1801
+ if (params.type === 'download') {
1802
+ if ($('.ai1wm-backups tbody tr').length > 1) {
1803
+ $('.ai1wm-backups-list-spinner-holder').show();
1804
+ } else {
1805
+ $('.ai1wm-backups-empty').hide();
1806
+ $('.ai1wm-backups-empty-spinner-holder').show();
1807
+ }
 
1808
 
1809
+ $.get(ai1wm_backups.backups.url, { secret_key: ai1wm_backups.secret_key }).done(function (data) {
1810
+ $('#ai1wm-backups-create').find('.ai1wm-backups-empty').hide();
1811
+ $('#ai1wm-backups-create').find('.ai1wm-backups-empty-spinner-holder').hide();
1812
+ $('#ai1wm-backups-list').html(data);
1813
+ });
 
 
 
1814
  }
1815
  });
1816
 
lib/view/assets/javascript/export.min.js CHANGED
@@ -255,7 +255,7 @@ jQuery(document).ready(function ($) {
255
  e.preventDefault();
256
  });
257
 
258
- $('#ai1wm-report-submit').click(function (r) {
259
  var self = $(this);
260
 
261
  var spinner = self.next();
255
  e.preventDefault();
256
  });
257
 
258
+ $('#ai1wm-report-submit').click(function (e) {
259
  var self = $(this);
260
 
261
  var spinner = self.next();
lib/view/assets/javascript/import.min.js CHANGED
@@ -255,7 +255,7 @@ jQuery(document).ready(function ($) {
255
  e.preventDefault();
256
  });
257
 
258
- $('#ai1wm-report-submit').click(function (r) {
259
  var self = $(this);
260
 
261
  var spinner = self.next();
255
  e.preventDefault();
256
  });
257
 
258
+ $('#ai1wm-report-submit').click(function (e) {
259
  var self = $(this);
260
 
261
  var spinner = self.next();
lib/view/assets/javascript/settings.min.js CHANGED
@@ -300,7 +300,7 @@ jQuery(document).ready(function ($) {
300
  e.preventDefault();
301
  });
302
 
303
- $('#ai1wm-report-submit').click(function (r) {
304
  var self = $(this);
305
 
306
  var spinner = self.next();
300
  e.preventDefault();
301
  });
302
 
303
+ $('#ai1wm-report-submit').click(function (e) {
304
  var self = $(this);
305
 
306
  var spinner = self.next();
lib/view/backups/backups-list.php CHANGED
@@ -40,10 +40,17 @@ if ( ! defined( 'ABSPATH' ) ) {
40
  </tr>
41
  </thead>
42
  <tbody>
 
 
 
 
 
 
 
43
  <?php foreach ( $backups as $backup ) : ?>
44
  <tr>
45
  <td class="ai1wm-column-name">
46
- <?php if ( $backup['path'] ) : ?>
47
  <i class="ai1wm-icon-folder"></i>
48
  <?php echo esc_html( $backup['path'] ); ?>
49
  <br />
@@ -52,34 +59,37 @@ if ( ! defined( 'ABSPATH' ) ) {
52
  <span class="ai1wm-backup-filename">
53
  <?php echo esc_html( basename( $backup['filename'] ) ); ?>
54
  </span>
55
- <?php if ( isset( $backups_labels[ basename( $backup['filename'] ) ] ) ) : ?>
56
- <span class="ai1wm-backup-label">
57
- <br />
58
- <span class="ai1wm-backup-label-colored">
59
- <?php echo esc_html( $backups_labels[ basename( $backup['filename'] ) ] ); ?>
60
- </span>
61
- <i class="ai1wm-icon-edit-pencil"></i>
62
- </span>
63
- <?php else : ?>
64
- <span class="ai1wm-add-description">
65
- <br />
66
- <?php _e( 'Click to set a label for this backup', AI1WM_PLUGIN_NAME ); ?>
67
- <i class="ai1wm-icon-edit-pencil"></i>
68
  </span>
69
- <?php endif; ?>
 
 
 
 
 
70
  </td>
71
  <td class="ai1wm-column-date">
72
  <?php echo esc_html( sprintf( __( '%s ago', AI1WM_PLUGIN_NAME ), human_time_diff( $backup['mtime'] ) ) ); ?>
73
  </td>
74
  <td class="ai1wm-column-size">
75
- <?php if ( is_null( $backup['size'] ) ) : ?>
76
- <?php _e( '2GB+', AI1WM_PLUGIN_NAME ); ?>
77
- <?php else : ?>
78
  <?php echo ai1wm_size_format( $backup['size'], 2 ); ?>
 
 
79
  <?php endif; ?>
80
  </td>
81
  <td class="ai1wm-column-actions ai1wm-backup-actions">
82
- <a href="<?php echo ai1wm_backup_url( array( 'archive' => esc_attr( $backup['filename'] ) ) ); ?>" class="ai1wm-button-green ai1wm-backup-download" download="<?php echo esc_attr( $backup['filename'] ); ?>" aria-label="<?php _e( 'Download backup', AI1WM_PLUGIN_NAME ); ?>">
83
  <i class="ai1wm-icon-arrow-down"></i>
84
  <span><?php _e( 'Download', AI1WM_PLUGIN_NAME ); ?></span>
85
  </a>
40
  </tr>
41
  </thead>
42
  <tbody>
43
+ <tr class="ai1wm-backups-list-spinner-holder ai1wm-hide">
44
+ <td colspan="4" class="ai1wm-backups-list-spinner">
45
+ <span class="spinner"></span>
46
+ <?php _e( 'Refreshing backup list...', AI1WM_PLUGIN_NAME ); ?>
47
+ </td>
48
+ </tr>
49
+
50
  <?php foreach ( $backups as $backup ) : ?>
51
  <tr>
52
  <td class="ai1wm-column-name">
53
+ <?php if ( ! empty( $backup['path'] ) ) : ?>
54
  <i class="ai1wm-icon-folder"></i>
55
  <?php echo esc_html( $backup['path'] ); ?>
56
  <br />
59
  <span class="ai1wm-backup-filename">
60
  <?php echo esc_html( basename( $backup['filename'] ) ); ?>
61
  </span>
62
+ <span class="ai1wm-backup-label-description ai1wm-hide <?php echo empty( $labels[ $backup['filename'] ] ) ? null : 'ai1wm-backup-label-selected'; ?>">
63
+ <br />
64
+ <?php _e( 'Click to set a label for this backup', AI1WM_PLUGIN_NAME ); ?>
65
+ <i class="ai1wm-icon-edit-pencil ai1wm-hide"></i>
66
+ </span>
67
+ <span class="ai1wm-backup-label-text <?php echo empty( $labels[ $backup['filename'] ] ) ? 'ai1wm-hide' : null; ?>">
68
+ <br />
69
+ <span class="ai1wm-backup-label-colored">
70
+ <?php if ( ! empty( $labels[ $backup['filename'] ] ) ) : ?>
71
+ <?php echo esc_html( $labels[ $backup['filename'] ] ); ?>
72
+ <?php endif; ?>
 
 
73
  </span>
74
+ <i class="ai1wm-icon-edit-pencil ai1wm-hide"></i>
75
+ </span>
76
+ <span class="ai1wm-backup-label-holder ai1wm-hide">
77
+ <br />
78
+ <input type="text" class="ai1wm-backup-label-field" data-archive="<?php echo esc_attr( $backup['filename'] ); ?>" data-value="<?php echo empty( $labels[ $backup['filename'] ] ) ? null : esc_attr( $labels[ $backup['filename'] ] ); ?>" value="<?php echo empty( $labels[ $backup['filename'] ] ) ? null : esc_attr( $labels[ $backup['filename'] ] ); ?>" />
79
+ </span>
80
  </td>
81
  <td class="ai1wm-column-date">
82
  <?php echo esc_html( sprintf( __( '%s ago', AI1WM_PLUGIN_NAME ), human_time_diff( $backup['mtime'] ) ) ); ?>
83
  </td>
84
  <td class="ai1wm-column-size">
85
+ <?php if ( ! is_null( $backup['size'] ) ) : ?>
 
 
86
  <?php echo ai1wm_size_format( $backup['size'], 2 ); ?>
87
+ <?php else : ?>
88
+ <?php _e( '2GB+', AI1WM_PLUGIN_NAME ); ?>
89
  <?php endif; ?>
90
  </td>
91
  <td class="ai1wm-column-actions ai1wm-backup-actions">
92
+ <a href="<?php echo esc_url( ai1wm_backup_url( array( 'archive' => $backup['filename'] ) ) ); ?>" class="ai1wm-button-green ai1wm-backup-download" download="<?php echo esc_attr( $backup['filename'] ); ?>" aria-label="<?php _e( 'Download backup', AI1WM_PLUGIN_NAME ); ?>">
93
  <i class="ai1wm-icon-arrow-down"></i>
94
  <span><?php _e( 'Download', AI1WM_PLUGIN_NAME ); ?></span>
95
  </a>
lib/view/backups/index.php CHANGED
@@ -45,7 +45,11 @@ if ( ! defined( 'ABSPATH' ) ) {
45
  </div>
46
 
47
  <form action="" method="post" id="ai1wm-export-form" class="ai1wm-clear">
48
- <div class="ai1wm-backups-create">
 
 
 
 
49
  <p class="ai1wm-backups-empty <?php echo empty( $backups ) ? null : 'ai1wm-hide'; ?>">
50
  <?php _e( 'There are no backups available at this time, why not create a new one?', AI1WM_PLUGIN_NAME ); ?>
51
  </p>
45
  </div>
46
 
47
  <form action="" method="post" id="ai1wm-export-form" class="ai1wm-clear">
48
+ <div id="ai1wm-backups-create">
49
+ <p class="ai1wm-backups-empty-spinner-holder ai1wm-hide">
50
+ <span class="spinner"></span>
51
+ <?php _e( 'Refreshing backup list...', AI1WM_PLUGIN_NAME ); ?>
52
+ </p>
53
  <p class="ai1wm-backups-empty <?php echo empty( $backups ) ? null : 'ai1wm-hide'; ?>">
54
  <?php _e( 'There are no backups available at this time, why not create a new one?', AI1WM_PLUGIN_NAME ); ?>
55
  </p>
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: 7.3
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,15 @@ 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.3 =
112
  **Changed**
113
 
4
  Requires at least: 3.3
5
  Tested up to: 5.2
6
  Requires PHP: 5.2.17
7
+ Stable tag: 7.4
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.4 =
112
+ **Fixed**
113
+
114
+ * Small bug when reporting an issue
115
+
116
+ **Changed**
117
+
118
+ * Remove "www" from emails on import
119
+
120
  = 7.3 =
121
  **Changed**
122