All-in-One WP Migration - Version 6.40

Version Description

  • Do not extract dropins files on import
  • Fix an issue with large files on import
  • Fix an issue with inactive plugins option in advanced settings on export
  • Do not exclude active plugins in package.json and multisite.json on export
  • Do not show "Resolving URL address..." on export/import
  • Add separate action hook in advanced settings called "ai1wm_export_advanced_settings" to allow custom checkbox options on export
Download this release

Release Info

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

Code changes from version 6.39 to 6.40

Files changed (80) hide show
  1. all-in-one-wp-migration.php +2 -2
  2. constants.php +7 -2
  3. deprecated.php +1 -1
  4. exceptions.php +1 -1
  5. functions.php +104 -15
  6. lib/controller/class-ai1wm-backups-controller.php +1 -1
  7. lib/controller/class-ai1wm-export-controller.php +1 -1
  8. lib/controller/class-ai1wm-feedback-controller.php +9 -9
  9. lib/controller/class-ai1wm-import-controller.php +1 -1
  10. lib/controller/class-ai1wm-main-controller.php +57 -38
  11. lib/controller/class-ai1wm-report-controller.php +7 -7
  12. lib/controller/class-ai1wm-resolve-controller.php +1 -1
  13. lib/controller/class-ai1wm-status-controller.php +1 -1
  14. lib/controller/class-ai1wm-updater-controller.php +5 -5
  15. lib/model/class-ai1wm-backups.php +2 -2
  16. lib/model/class-ai1wm-compatibility.php +1 -1
  17. lib/model/class-ai1wm-deprecated.php +1 -1
  18. lib/model/class-ai1wm-extensions.php +1 -1
  19. lib/model/class-ai1wm-feedback.php +1 -1
  20. lib/model/class-ai1wm-handler.php +1 -1
  21. lib/model/class-ai1wm-http.php +1 -1
  22. lib/model/class-ai1wm-log.php +1 -1
  23. lib/model/class-ai1wm-report.php +1 -1
  24. lib/model/class-ai1wm-status.php +2 -2
  25. lib/model/class-ai1wm-template.php +1 -1
  26. lib/model/class-ai1wm-updater.php +1 -1
  27. lib/model/export/class-ai1wm-export-archive.php +1 -1
  28. lib/model/export/class-ai1wm-export-clean.php +1 -1
  29. lib/model/export/class-ai1wm-export-compatibility.php +7 -1
  30. lib/model/export/class-ai1wm-export-config.php +2 -6
  31. lib/model/export/class-ai1wm-export-content.php +1 -1
  32. lib/model/export/class-ai1wm-export-database.php +1 -1
  33. lib/model/export/class-ai1wm-export-download.php +1 -1
  34. lib/model/export/class-ai1wm-export-enumerate.php +2 -2
  35. lib/model/export/class-ai1wm-export-init.php +1 -7
  36. lib/model/export/class-ai1wm-export-resolve.php +2 -4
  37. lib/model/http/class-ai1wm-http-abstract.php +1 -1
  38. lib/model/http/class-ai1wm-http-curl.php +1 -1
  39. lib/model/http/class-ai1wm-http-factory.php +1 -1
  40. lib/model/http/class-ai1wm-http-stream.php +1 -1
  41. lib/model/import/class-ai1wm-import-blogs.php +1 -1
  42. lib/model/import/class-ai1wm-import-clean.php +1 -1
  43. lib/model/import/class-ai1wm-import-compatibility.php +6 -1
  44. lib/model/import/class-ai1wm-import-confirm.php +1 -1
  45. lib/model/import/class-ai1wm-import-content.php +1 -1
  46. lib/model/import/class-ai1wm-import-database.php +1 -1
  47. lib/model/import/class-ai1wm-import-done.php +1 -1
  48. lib/model/import/class-ai1wm-import-enumerate.php +1 -1
  49. lib/model/import/class-ai1wm-import-plugins.php +5 -11
  50. lib/model/import/class-ai1wm-import-resolve.php +2 -4
  51. lib/model/import/class-ai1wm-import-upload.php +1 -1
  52. lib/model/import/class-ai1wm-import-validate.php +1 -1
  53. lib/vendor/math/BigInteger.php +3811 -0
  54. lib/vendor/servmask/archiver/class-ai1wm-archiver.php +41 -10
  55. lib/vendor/servmask/archiver/class-ai1wm-compressor.php +1 -1
  56. lib/vendor/servmask/archiver/class-ai1wm-extractor.php +2 -12
  57. lib/vendor/servmask/cron/class-ai1wm-cron.php +1 -1
  58. lib/vendor/servmask/database/class-ai1wm-database-mysql.php +1 -1
  59. lib/vendor/servmask/database/class-ai1wm-database-mysqli.php +1 -1
  60. lib/vendor/servmask/database/class-ai1wm-database-utility.php +1 -1
  61. lib/vendor/servmask/database/class-ai1wm-database.php +1 -1
  62. lib/vendor/servmask/filesystem/class-ai1wm-file-htaccess.php +1 -1
  63. lib/vendor/servmask/filesystem/class-ai1wm-file-index.php +1 -1
  64. lib/vendor/servmask/filesystem/class-ai1wm-file-webconfig.php +1 -1
  65. lib/vendor/servmask/filesystem/class-ai1wm-file.php +1 -1
  66. lib/vendor/servmask/filter/class-ai1wm-extension-filter.php +1 -1
  67. lib/vendor/servmask/filter/class-ai1wm-recursive-exclude-filter.php +1 -1
  68. lib/vendor/servmask/iterator/class-ai1wm-recursive-directory-iterator.php +1 -1
  69. lib/view/assets/javascript/backups.min.js +8 -8
  70. lib/view/assets/javascript/export.min.js +12 -12
  71. lib/view/assets/javascript/import.min.js +1200 -915
  72. lib/view/assets/javascript/updater.min.js +2 -2
  73. lib/view/backups/index.php +2 -2
  74. lib/view/common/leave-feedback.php +3 -3
  75. lib/view/export/advanced-settings.php +2 -0
  76. lib/view/export/index.php +1 -1
  77. lib/view/import/index.php +1 -1
  78. loader.php +7 -1
  79. readme.txt +9 -1
  80. uninstall.php +1 -1
all-in-one-wp-migration.php CHANGED
@@ -5,12 +5,12 @@
5
* Description: Migration tool for all your blog data. Import or Export your blog content with a single click.
6
* Author: ServMask
7
* Author URI: https://servmask.com/
8
- * Version: 6.39
9
* Text Domain: all-in-one-wp-migration
10
* Domain Path: /languages
11
* Network: True
12
*
13
- * Copyright (C) 2014-2016 ServMask Inc.
14
*
15
* This program is free software: you can redistribute it and/or modify
16
* it under the terms of the GNU General Public License as published by
5
* Description: Migration tool for all your blog data. Import or Export your blog content with a single click.
6
* Author: ServMask
7
* Author URI: https://servmask.com/
8
+ * Version: 6.40
9
* Text Domain: all-in-one-wp-migration
10
* Domain Path: /languages
11
* Network: True
12
*
13
+ * Copyright (C) 2014-2017 ServMask Inc.
14
*
15
* This program is free software: you can redistribute it and/or modify
16
* it under the terms of the GNU General Public License as published by
constants.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
@@ -31,7 +31,7 @@ define( 'AI1WM_DEBUG', false );
31
// ==================
32
// = Plugin Version =
33
// ==================
34
- define( 'AI1WM_VERSION', '6.39' );
35
36
// ===============
37
// = Plugin Name =
@@ -123,6 +123,11 @@ define( 'AI1WM_ARCHIVE_TOOLS_URL', 'https://servmask.com/archive/tools' );
123
// =========================
124
define( 'AI1WM_TABLE_PREFIX', 'SERVMASK_PREFIX_' );
125
126
// =========================
127
// = Archive Database Name =
128
// =========================
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
31
// ==================
32
// = Plugin Version =
33
// ==================
34
+ define( 'AI1WM_VERSION', '6.40' );
35
36
// ===============
37
// = Plugin Name =
123
// =========================
124
define( 'AI1WM_TABLE_PREFIX', 'SERVMASK_PREFIX_' );
125
126
+ // ========================
127
+ // = Archive Backups Name =
128
+ // ========================
129
+ define( 'AI1WM_BACKUPS_NAME', 'ai1wm-backups' );
130
+
131
// =========================
132
// = Archive Database Name =
133
// =========================
deprecated.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
exceptions.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
functions.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
@@ -469,17 +469,10 @@ function ai1wm_table_prefix( $blog_id = null ) {
469
*/
470
function ai1wm_content_filters( $filters = array() ) {
471
return array_merge( $filters, array(
472
- 'index.php',
473
- 'ai1wm-backups',
474
- 'object-cache.php',
475
- 'database.sql',
476
- 'package.json',
477
- 'multisite.json',
478
- 'blogs.json',
479
- 'filemap.list',
480
- 'themes' . DIRECTORY_SEPARATOR . 'index.php',
481
- 'plugins' . DIRECTORY_SEPARATOR . 'index.php',
482
- 'uploads' . DIRECTORY_SEPARATOR . 'index.php',
483
) );
484
}
485
@@ -643,6 +636,7 @@ function ai1wm_active_plugins() {
643
/**
644
* Set active sitewide plugins (inspired by WordPress activate_plugins() function)
645
*
646
* @return boolean
647
*/
648
function ai1wm_activate_sitewide_plugins( $plugins ) {
@@ -650,7 +644,7 @@ function ai1wm_activate_sitewide_plugins( $plugins ) {
650
651
// Add plugins
652
foreach ( $plugins as $plugin ) {
653
- if ( ! isset( $current[ $plugin ] ) ) {
654
$current[ $plugin ] = time();
655
}
656
}
@@ -661,6 +655,7 @@ function ai1wm_activate_sitewide_plugins( $plugins ) {
661
/**
662
* Set active plugins (inspired by WordPress activate_plugins() function)
663
*
664
* @return boolean
665
*/
666
function ai1wm_activate_plugins( $plugins ) {
@@ -668,7 +663,7 @@ function ai1wm_activate_plugins( $plugins ) {
668
669
// Add plugins
670
foreach ( $plugins as $plugin ) {
671
- if ( ! in_array( $plugin, $current ) ) {
672
$current[] = $plugin;
673
}
674
}
@@ -751,7 +746,7 @@ function ai1wm_write( $handle, $content ) {
751
if ( ( $meta = stream_get_meta_data( $handle ) ) ) {
752
throw new Ai1wm_Not_Writable_Exception( sprintf( __( 'Unable to write to: %s', AI1WM_PLUGIN_NAME ), $meta['uri'] ) );
753
}
754
- } elseif ( strlen( $content ) !== $write_result ) {
755
throw new Ai1wm_Quota_Exceeded_Exception( __( 'Out of disk space.', AI1WM_PLUGIN_NAME ) );
756
}
757
@@ -812,3 +807,97 @@ function ai1wm_copy( $source_file, $destination_file ) {
812
ai1wm_close( $source_handle );
813
ai1wm_close( $destination_handle );
814
}
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
469
*/
470
function ai1wm_content_filters( $filters = array() ) {
471
return array_merge( $filters, array(
472
+ AI1WM_BACKUPS_NAME,
473
+ AI1WM_PACKAGE_NAME,
474
+ AI1WM_MULTISITE_NAME,
475
+ AI1WM_DATABASE_NAME,
476
) );
477
}
478
636
/**
637
* Set active sitewide plugins (inspired by WordPress activate_plugins() function)
638
*
639
+ * @param array $plugins List of plugins
640
* @return boolean
641
*/
642
function ai1wm_activate_sitewide_plugins( $plugins ) {
644
645
// Add plugins
646
foreach ( $plugins as $plugin ) {
647
+ if ( ! isset( $current[ $plugin ] ) && ! is_wp_error( validate_plugin( $plugin ) ) ) {
648
$current[ $plugin ] = time();
649
}
650
}
655
/**
656
* Set active plugins (inspired by WordPress activate_plugins() function)
657
*
658
+ * @param array $plugins List of plugins
659
* @return boolean
660
*/
661
function ai1wm_activate_plugins( $plugins ) {
663
664
// Add plugins
665
foreach ( $plugins as $plugin ) {
666
+ if ( ! in_array( $plugin, $current ) && ! is_wp_error( validate_plugin( $plugin ) ) ) {
667
$current[] = $plugin;
668
}
669
}
746
if ( ( $meta = stream_get_meta_data( $handle ) ) ) {
747
throw new Ai1wm_Not_Writable_Exception( sprintf( __( 'Unable to write to: %s', AI1WM_PLUGIN_NAME ), $meta['uri'] ) );
748
}
749
+ } elseif ( strlen( $content ) !== $write_result ) {
750
throw new Ai1wm_Quota_Exceeded_Exception( __( 'Out of disk space.', AI1WM_PLUGIN_NAME ) );
751
}
752
807
ai1wm_close( $source_handle );
808
ai1wm_close( $destination_handle );
809
}
810
+
811
+ /**
812
+ * Sanitize path
813
+ *
814
+ * @param string $path Path string
815
+ * @param boolean $leading_slash Add leading slash
816
+ * @param boolean $trailing_slash Add trailing slash
817
+ * @return string
818
+ */
819
+ function ai1wm_sanitize_path( $path, $leading_slash = false, $trailing_slash = false ) {
820
+ // Strip leadning and trailing whitespaces
821
+ $path = trim( $path );
822
+
823
+ // Strip leading backward and forward slashes
824
+ $path = ltrim( $path, '/\\' );
825
+
826
+ // Strip trailing backward and forward slashes
827
+ $path = rtrim( $path, '/\\' );
828
+
829
+ // Add forward leading slash
830
+ if ( $leading_slash ) {
831
+ $path = sprintf( '/%s', $path );
832
+ }
833
+
834
+ // Add forward trailing slash
835
+ if ( $trailing_slash ) {
836
+ $path = sprintf( '%s/', $path );
837
+ }
838
+
839
+ return preg_replace( '/[\\\\\/]+/', '/', $path );
840
+ }
841
+
842
+ /**
843
+ * Get the size of file in bytes
844
+ *
845
+ * This method supports files > 2GB on PHP x86
846
+ *
847
+ * @param string $file_path Path to the file
848
+ * @param bool $as_string Return the filesize as string instead of BigInteger
849
+ *
850
+ * @return mixed Math_BigInteger|string|null
851
+ */
852
+ function ai1wm_filesize( $file_path, $as_string = true ) {
853
+ $chunk_size = 2000000; // 2MB
854
+ $file_size = new Math_BigInteger( 0 );
855
+
856
+ try {
857
+ $file_handle = ai1wm_open( $file_path, 'rb' );
858
+
859
+ while ( ! feof( $file_handle ) ) {
860
+ $bytes = ai1wm_read( $file_handle, $chunk_size );
861
+ $file_size = $file_size->add( new Math_BigInteger( strlen( $bytes ) ) );
862
+ }
863
+
864
+ ai1wm_close( $file_handle );
865
+
866
+ return $as_string ? $file_size->toString() : $file_size;
867
+ } catch ( Exception $e ) {
868
+ return null;
869
+ }
870
+ }
871
+
872
+ /**
873
+ * Return the smaller of two numbers
874
+ *
875
+ * @param Math_BigInteger $a First number
876
+ * @param Math_BigInteger $b Second number
877
+ *
878
+ * @return Math_BigInteger
879
+ */
880
+ function ai1wm_find_smaller_number( Math_BigInteger $a, Math_BigInteger $b ) {
881
+ if ( $a->compare( $b ) === -1 ) {
882
+ return $a;
883
+ }
884
+
885
+ return $b;
886
+ }
887
+
888
+ /**
889
+ * Wrapper around fseek
890
+ *
891
+ * This function works with offsets that are > PHP_INT_MAX
892
+ *
893
+ * @param resource $file_handle Handle to the file
894
+ * @param Math_BigInteger $offset Offset of the file
895
+ */
896
+ function ai1wm_fseek( $file_handle, Math_BigInteger $offset ) {
897
+ $chunk_size = ai1wm_find_smaller_number( new Math_BigInteger( 2000000 ), $offset );
898
+ while ( ! feof( $file_handle ) && $offset->toString() != '0' ) {
899
+ $bytes = ai1wm_read( $file_handle, $chunk_size->toInteger() );
900
+ $offset = $offset->subtract( new Math_BigInteger( strlen( $bytes ) ) );
901
+ $chunk_size = ai1wm_find_smaller_number( $chunk_size, $offset );
902
+ }
903
+ }
lib/controller/class-ai1wm-backups-controller.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/controller/class-ai1wm-export-controller.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/controller/class-ai1wm-feedback-controller.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
@@ -29,26 +29,26 @@ class Ai1wm_Feedback_Controller {
29
30
// Set Type
31
$type = null;
32
- if ( isset( $_POST['ai1wm-type'] ) ) {
33
- $type = trim( $_POST['ai1wm-type'] );
34
}
35
36
// Set E-mail
37
$email = null;
38
- if ( isset( $_POST['ai1wm-email'] ) ) {
39
- $email = trim( $_POST['ai1wm-email'] );
40
}
41
42
// Set Message
43
$message = null;
44
- if ( isset( $_POST['ai1wm-message'] ) ) {
45
- $message = trim( $_POST['ai1wm-message'] );
46
}
47
48
// Set Terms
49
$terms = false;
50
- if ( isset( $_POST['ai1wm-terms'] ) ) {
51
- $terms = (bool) $_POST['ai1wm-terms'];
52
}
53
54
$model = new Ai1wm_Feedback;
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
29
30
// Set Type
31
$type = null;
32
+ if ( isset( $_POST['ai1wm_type'] ) ) {
33
+ $type = trim( $_POST['ai1wm_type'] );
34
}
35
36
// Set E-mail
37
$email = null;
38
+ if ( isset( $_POST['ai1wm_email'] ) ) {
39
+ $email = trim( $_POST['ai1wm_email'] );
40
}
41
42
// Set Message
43
$message = null;
44
+ if ( isset( $_POST['ai1wm_message'] ) ) {
45
+ $message = trim( $_POST['ai1wm_message'] );
46
}
47
48
// Set Terms
49
$terms = false;
50
+ if ( isset( $_POST['ai1wm_terms'] ) ) {
51
+ $terms = (bool) $_POST['ai1wm_terms'];
52
}
53
54
$model = new Ai1wm_Feedback;
lib/controller/class-ai1wm-import-controller.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/controller/class-ai1wm-main-controller.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
@@ -86,8 +86,17 @@ class Ai1wm_Main_Controller {
86
// Export and import buttons
87
add_action( 'plugins_loaded', array( $this, 'ai1wm_buttons' ), 10 );
88
89
// Add updater scripts and styles
90
- add_action( 'admin_enqueue_scripts', array( $this, 'register_updater_scripts_and_styles' ) );
91
92
return $this;
93
}
@@ -116,7 +125,12 @@ class Ai1wm_Main_Controller {
116
// Add export commands
117
add_filter( 'ai1wm_export', 'Ai1wm_Export_Init::execute', 5 );
118
add_filter( 'ai1wm_export', 'Ai1wm_Export_Compatibility::execute', 5 );
119
- add_filter( 'ai1wm_export', 'Ai1wm_Export_Resolve::execute', 5 );
120
add_filter( 'ai1wm_export', 'Ai1wm_Export_Archive::execute', 10 );
121
add_filter( 'ai1wm_export', 'Ai1wm_Export_Config::execute', 50 );
122
add_filter( 'ai1wm_export', 'Ai1wm_Export_Enumerate::execute', 100 );
@@ -128,7 +142,12 @@ class Ai1wm_Main_Controller {
128
// Add import commands
129
add_filter( 'ai1wm_import', 'Ai1wm_Import_Upload::execute', 5 );
130
add_filter( 'ai1wm_import', 'Ai1wm_Import_Compatibility::execute', 10 );
131
- add_filter( 'ai1wm_import', 'Ai1wm_Import_Resolve::execute', 10 );
132
add_filter( 'ai1wm_import', 'Ai1wm_Import_Validate::execute', 50 );
133
add_filter( 'ai1wm_import', 'Ai1wm_Import_Confirm::execute', 100 );
134
add_filter( 'ai1wm_import', 'Ai1wm_Import_Blogs::execute', 150 );
@@ -304,7 +323,7 @@ class Ai1wm_Main_Controller {
304
);
305
306
// sublevel Export menu
307
- $export_page_hook_suffix = add_submenu_page(
308
'site-migration-export',
309
__( 'Export', AI1WM_PLUGIN_NAME ),
310
__( 'Export', AI1WM_PLUGIN_NAME ),
@@ -312,13 +331,9 @@ class Ai1wm_Main_Controller {
312
'site-migration-export',
313
'Ai1wm_Export_Controller::index'
314
);
315
- add_action(
316
- 'admin_print_scripts-' . $export_page_hook_suffix,
317
- array( $this, 'register_export_scripts_and_styles' )
318
- );
319
320
// sublevel Import menu
321
- $import_page_hook_suffix = add_submenu_page(
322
'site-migration-export',
323
__( 'Import', AI1WM_PLUGIN_NAME ),
324
__( 'Import', AI1WM_PLUGIN_NAME ),
@@ -326,13 +341,9 @@ class Ai1wm_Main_Controller {
326
'site-migration-import',
327
'Ai1wm_Import_Controller::index'
328
);
329
- add_action(
330
- 'admin_print_scripts-' . $import_page_hook_suffix,
331
- array( $this, 'register_import_scripts_and_styles' )
332
- );
333
334
// sublevel Backups menu
335
- $backups_page_hook_suffix = add_submenu_page(
336
'site-migration-export',
337
__( 'Backups', AI1WM_PLUGIN_NAME ),
338
__( 'Backups', AI1WM_PLUGIN_NAME ),
@@ -340,10 +351,6 @@ class Ai1wm_Main_Controller {
340
'site-migration-backups',
341
'Ai1wm_Backups_Controller::index'
342
);
343
- add_action(
344
- 'admin_print_scripts-' . $backups_page_hook_suffix,
345
- array( $this, 'register_backups_scripts_and_styles' )
346
- );
347
}
348
349
/**
@@ -351,21 +358,25 @@ class Ai1wm_Main_Controller {
351
*
352
* @return void
353
*/
354
- public function register_export_scripts_and_styles() {
355
- do_action( 'ai1mw-register-export-scripts-and-styles' );
356
357
// we don't want heartbeat to occur when exporting
358
wp_deregister_script( 'heartbeat' );
359
360
wp_enqueue_script(
361
'ai1wm-js-export',
362
Ai1wm_Template::asset_link( 'javascript/export.min.js' ),
363
array( 'jquery' )
364
);
365
- wp_enqueue_style(
366
- 'ai1wm-css-export',
367
- Ai1wm_Template::asset_link( 'css/export.min.css' )
368
- );
369
wp_localize_script( 'ai1wm-js-export', 'ai1wm_feedback', array(
370
'ajax' => array(
371
'url' => wp_make_link_relative( admin_url( 'admin-ajax.php?action=ai1wm_feedback' ) ),
@@ -392,21 +403,25 @@ class Ai1wm_Main_Controller {
392
*
393
* @return void
394
*/
395
- public function register_import_scripts_and_styles() {
396
- do_action( 'ai1mw-register-import-scripts-and-styles' );
397
398
// we don't want heartbeat to occur when importing
399
wp_deregister_script( 'heartbeat' );
400
401
wp_enqueue_script(
402
'ai1wm-js-import',
403
Ai1wm_Template::asset_link( 'javascript/import.min.js' ),
404
array( 'jquery' )
405
);
406
- wp_enqueue_style(
407
- 'ai1wm-css-import',
408
- Ai1wm_Template::asset_link( 'css/import.min.css' )
409
- );
410
wp_localize_script( 'ai1wm-js-import', 'ai1wm_uploader', array(
411
'chunk_size' => apply_filters( 'ai1wm_max_chunk_size', AI1WM_MAX_CHUNK_SIZE ),
412
'max_retries' => apply_filters( 'ai1wm_max_chunk_retries', AI1WM_MAX_CHUNK_RETRIES ),
@@ -468,18 +483,22 @@ class Ai1wm_Main_Controller {
468
*
469
* @return void
470
*/
471
- public function register_backups_scripts_and_styles() {
472
- do_action( 'ai1mw-register-backups-scripts-and-styles' );
473
474
wp_enqueue_script(
475
'ai1wm-js-backups',
476
Ai1wm_Template::asset_link( 'javascript/backups.min.js' ),
477
array( 'jquery' )
478
);
479
- wp_enqueue_style(
480
- 'ai1wm-css-backups',
481
- Ai1wm_Template::asset_link( 'css/backups.min.css' )
482
- );
483
wp_localize_script( 'ai1wm-js-backups', 'ai1wm_feedback', array(
484
'ajax' => array(
485
'url' => wp_make_link_relative( admin_url( 'admin-ajax.php?action=ai1wm_feedback' ) ),
@@ -516,7 +535,7 @@ class Ai1wm_Main_Controller {
516
return;
517
}
518
519
- do_action( 'ai1mw-register-updater-scripts-and-styles' );
520
521
wp_enqueue_style(
522
'ai1wm-css-updater',
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
86
// Export and import buttons
87
add_action( 'plugins_loaded', array( $this, 'ai1wm_buttons' ), 10 );
88
89
+ // Add export scripts and styles
90
+ add_action( 'admin_enqueue_scripts', array( $this, 'register_export_scripts_and_styles' ), 10 );
91
+
92
+ // Add import scripts and styles
93
+ add_action( 'admin_enqueue_scripts', array( $this, 'register_import_scripts_and_styles' ), 10 );
94
+
95
+ // Add backups scripts and styles
96
+ add_action( 'admin_enqueue_scripts', array( $this, 'register_backups_scripts_and_styles' ), 10 );
97
+
98
// Add updater scripts and styles
99
+ add_action( 'admin_enqueue_scripts', array( $this, 'register_updater_scripts_and_styles' ), 10 );
100
101
return $this;
102
}
125
// Add export commands
126
add_filter( 'ai1wm_export', 'Ai1wm_Export_Init::execute', 5 );
127
add_filter( 'ai1wm_export', 'Ai1wm_Export_Compatibility::execute', 5 );
128
+
129
+ // Do not resolve URL address
130
+ if ( ! isset( $_REQUEST['ai1wm_manual_export'] ) ) {
131
+ add_filter( 'ai1wm_export', 'Ai1wm_Export_Resolve::execute', 5 );
132
+ }
133
+
134
add_filter( 'ai1wm_export', 'Ai1wm_Export_Archive::execute', 10 );
135
add_filter( 'ai1wm_export', 'Ai1wm_Export_Config::execute', 50 );
136
add_filter( 'ai1wm_export', 'Ai1wm_Export_Enumerate::execute', 100 );
142
// Add import commands
143
add_filter( 'ai1wm_import', 'Ai1wm_Import_Upload::execute', 5 );
144
add_filter( 'ai1wm_import', 'Ai1wm_Import_Compatibility::execute', 10 );
145
+
146
+ // Do not resolve URL address
147
+ if ( ! isset( $_REQUEST['ai1wm_manual_import'] ) && ! isset( $_REQUEST['ai1wm_manual_backups'] ) ) {
148
+ add_filter( 'ai1wm_import', 'Ai1wm_Import_Resolve::execute', 10 );
149
+ }
150
+
151
add_filter( 'ai1wm_import', 'Ai1wm_Import_Validate::execute', 50 );
152
add_filter( 'ai1wm_import', 'Ai1wm_Import_Confirm::execute', 100 );
153
add_filter( 'ai1wm_import', 'Ai1wm_Import_Blogs::execute', 150 );
323
);
324
325
// sublevel Export menu
326
+ add_submenu_page(
327
'site-migration-export',
328
__( 'Export', AI1WM_PLUGIN_NAME ),
329
__( 'Export', AI1WM_PLUGIN_NAME ),
331
'site-migration-export',
332
'Ai1wm_Export_Controller::index'
333
);
334
335
// sublevel Import menu
336
+ add_submenu_page(
337
'site-migration-export',
338
__( 'Import', AI1WM_PLUGIN_NAME ),
339
__( 'Import', AI1WM_PLUGIN_NAME ),
341
'site-migration-import',
342
'Ai1wm_Import_Controller::index'
343
);
344
345
// sublevel Backups menu
346
+ add_submenu_page(
347
'site-migration-export',
348
__( 'Backups', AI1WM_PLUGIN_NAME ),
349
__( 'Backups', AI1WM_PLUGIN_NAME ),
351
'site-migration-backups',
352
'Ai1wm_Backups_Controller::index'
353
);
354
}
355
356
/**
358
*
359
* @return void
360
*/
361
+ public function register_export_scripts_and_styles( $hook ) {
362
+ if ( 'toplevel_page_site-migration-export' !== $hook ) {
363
+ return;
364
+ }
365
+
366
+ do_action( 'ai1mw_register_export_scripts_and_styles' );
367
368
// we don't want heartbeat to occur when exporting
369
wp_deregister_script( 'heartbeat' );
370
371
+ wp_enqueue_style(
372
+ 'ai1wm-css-export',
373
+ Ai1wm_Template::asset_link( 'css/export.min.css' )
374
+ );
375
wp_enqueue_script(
376
'ai1wm-js-export',
377
Ai1wm_Template::asset_link( 'javascript/export.min.js' ),
378
array( 'jquery' )
379
);
380
wp_localize_script( 'ai1wm-js-export', 'ai1wm_feedback', array(
381
'ajax' => array(
382
'url' => wp_make_link_relative( admin_url( 'admin-ajax.php?action=ai1wm_feedback' ) ),
403
*
404
* @return void
405
*/
406
+ public function register_import_scripts_and_styles( $hook ) {
407
+ if ( 'all-in-one-wp-migration_page_site-migration-import' !== $hook ) {
408
+ return;
409
+ }
410
+
411
+ do_action( 'ai1mw_register_import_scripts_and_styles' );
412
413
// we don't want heartbeat to occur when importing
414
wp_deregister_script( 'heartbeat' );
415
416
+ wp_enqueue_style(
417
+ 'ai1wm-css-import',
418
+ Ai1wm_Template::asset_link( 'css/import.min.css' )
419
+ );
420
wp_enqueue_script(
421
'ai1wm-js-import',
422
Ai1wm_Template::asset_link( 'javascript/import.min.js' ),
423
array( 'jquery' )
424
);
425
wp_localize_script( 'ai1wm-js-import', 'ai1wm_uploader', array(
426
'chunk_size' => apply_filters( 'ai1wm_max_chunk_size', AI1WM_MAX_CHUNK_SIZE ),
427
'max_retries' => apply_filters( 'ai1wm_max_chunk_retries', AI1WM_MAX_CHUNK_RETRIES ),
483
*
484
* @return void
485
*/
486
+ public function register_backups_scripts_and_styles( $hook ) {
487
+ if ( 'all-in-one-wp-migration_page_site-migration-backups' !== $hook ) {
488
+ return;
489
+ }
490
+
491
+ do_action( 'ai1mw_register_backups_scripts_and_styles' );
492
493
+ wp_enqueue_style(
494
+ 'ai1wm-css-backups',
495
+ Ai1wm_Template::asset_link( 'css/backups.min.css' )
496
+ );
497
wp_enqueue_script(
498
'ai1wm-js-backups',
499
Ai1wm_Template::asset_link( 'javascript/backups.min.js' ),
500
array( 'jquery' )
501
);
502
wp_localize_script( 'ai1wm-js-backups', 'ai1wm_feedback', array(
503
'ajax' => array(
504
'url' => wp_make_link_relative( admin_url( 'admin-ajax.php?action=ai1wm_feedback' ) ),
535
return;
536
}
537
538
+ do_action( 'ai1mw_register_updater_scripts_and_styles' );
539
540
wp_enqueue_style(
541
'ai1wm-css-updater',
lib/controller/class-ai1wm-report-controller.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
@@ -29,20 +29,20 @@ class Ai1wm_Report_Controller {
29
30
// Set E-mail
31
$email = null;
32
- if ( isset( $_POST['ai1wm-email'] ) ) {
33
- $email = trim( $_POST['ai1wm-email'] );
34
}
35
36
// Set Message
37
$message = null;
38
- if ( isset( $_POST['ai1wm-message'] ) ) {
39
- $message = trim( $_POST['ai1wm-message'] );
40
}
41
42
// Set Terms
43
$terms = false;
44
- if ( isset( $_POST['ai1wm-terms'] ) ) {
45
- $terms = (bool) $_POST['ai1wm-terms'];
46
}
47
48
$model = new Ai1wm_Report;
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
29
30
// Set E-mail
31
$email = null;
32
+ if ( isset( $_POST['ai1wm_email'] ) ) {
33
+ $email = trim( $_POST['ai1wm_email'] );
34
}
35
36
// Set Message
37
$message = null;
38
+ if ( isset( $_POST['ai1wm_message'] ) ) {
39
+ $message = trim( $_POST['ai1wm_message'] );
40
}
41
42
// Set Terms
43
$terms = false;
44
+ if ( isset( $_POST['ai1wm_terms'] ) ) {
45
+ $terms = (bool) $_POST['ai1wm_terms'];
46
}
47
48
$model = new Ai1wm_Report;
lib/controller/class-ai1wm-resolve-controller.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/controller/class-ai1wm-status-controller.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/controller/class-ai1wm-updater-controller.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
@@ -57,14 +57,14 @@ class Ai1wm_Updater_Controller {
57
58
// Set uuid
59
$uuid = null;
60
- if ( isset( $_POST['ai1wm-uuid'] ) ) {
61
- $uuid = trim( $_POST['ai1wm-uuid'] );
62
}
63
64
// Set extension
65
$extension = null;
66
- if ( isset( $_POST['ai1wm-extension'] ) ) {
67
- $extension = trim( $_POST['ai1wm-extension'] );
68
}
69
70
// Verify whether extension exists
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
57
58
// Set uuid
59
$uuid = null;
60
+ if ( isset( $_POST['ai1wm_uuid'] ) ) {
61
+ $uuid = trim( $_POST['ai1wm_uuid'] );
62
}
63
64
// Set extension
65
$extension = null;
66
+ if ( isset( $_POST['ai1wm_extension'] ) ) {
67
+ $extension = trim( $_POST['ai1wm_extension'] );
68
}
69
70
// Verify whether extension exists
lib/model/class-ai1wm-backups.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
@@ -50,7 +50,7 @@ class Ai1wm_Backups {
50
$backups[] = array(
51
'filename' => $item->getFilename(),
52
'mtime' => null,
53
- 'size' => null,
54
);
55
}
56
}
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
50
$backups[] = array(
51
'filename' => $item->getFilename(),
52
'mtime' => null,
53
+ 'size' => ai1wm_filesize( $item->getPathname() ),
54
);
55
}
56
}
lib/model/class-ai1wm-compatibility.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/model/class-ai1wm-deprecated.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/model/class-ai1wm-extensions.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/model/class-ai1wm-feedback.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/model/class-ai1wm-handler.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/model/class-ai1wm-http.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/model/class-ai1wm-log.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/model/class-ai1wm-report.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/model/class-ai1wm-status.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
@@ -54,7 +54,7 @@ class Ai1wm_Status {
54
}
55
56
public static function log( $data = array() ) {
57
- if ( ! defined( 'DOING_CRON' ) ) {
58
update_option( AI1WM_STATUS, $data );
59
}
60
}
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
54
}
55
56
public static function log( $data = array() ) {
57
+ if ( isset( $_REQUEST['ai1wm_manual_export'] ) || isset( $_REQUEST['ai1wm_manual_import'] ) || isset( $_REQUEST['ai1wm_manual_backups'] ) ) {
58
update_option( AI1WM_STATUS, $data );
59
}
60
}
lib/model/class-ai1wm-template.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/model/class-ai1wm-updater.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/model/export/class-ai1wm-export-archive.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/model/export/class-ai1wm-export-clean.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/model/export/class-ai1wm-export-compatibility.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
@@ -26,6 +26,11 @@
26
class Ai1wm_Export_Compatibility {
27
28
public static function execute( $params ) {
29
$messages = Ai1wm_Compatibility::get( $params );
30
31
// Set messages
@@ -39,6 +44,7 @@ class Ai1wm_Export_Compatibility {
39
// Manual export
40
if ( empty( $params['ai1wm_manual_export'] ) ) {
41
if ( function_exists( 'wp_mail' ) ) {
42
// Set recipient
43
$recipient = get_option( 'admin_email', '' );
44
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
26
class Ai1wm_Export_Compatibility {
27
28
public static function execute( $params ) {
29
+
30
+ // Set progress
31
+ Ai1wm_Status::info( __( 'Checking extensions compatibility...', AI1WM_PLUGIN_NAME ) );
32
+
33
+ // Get messages
34
$messages = Ai1wm_Compatibility::get( $params );
35
36
// Set messages
44
// Manual export
45
if ( empty( $params['ai1wm_manual_export'] ) ) {
46
if ( function_exists( 'wp_mail' ) ) {
47
+
48
// Set recipient
49
$recipient = get_option( 'admin_email', '' );
50
lib/model/export/class-ai1wm-export-config.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
@@ -58,11 +58,7 @@ class Ai1wm_Export_Config {
58
$config['Plugin'] = array( 'Version' => AI1WM_VERSION );
59
60
// Set active plugins
61
- if ( isset( $params['options']['no_plugins'] ) ) {
62
- $config['Plugins'] = array();
63
- } else {
64
- $config['Plugins'] = array_values( array_diff( ai1wm_active_plugins(), ai1wm_active_servmask_plugins() ) );
65
- }
66
67
// Set WordPress version and content
68
$config['WordPress'] = array( 'Version' => $wp_version, 'Content' => WP_CONTENT_DIR );
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
58
$config['Plugin'] = array( 'Version' => AI1WM_VERSION );
59
60
// Set active plugins
61
+ $config['Plugins'] = array_values( array_diff( ai1wm_active_plugins(), ai1wm_active_servmask_plugins() ) );
62
63
// Set WordPress version and content
64
$config['WordPress'] = array( 'Version' => $wp_version, 'Content' => WP_CONTENT_DIR );
lib/model/export/class-ai1wm-export-content.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/model/export/class-ai1wm-export-database.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/model/export/class-ai1wm-export-download.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/model/export/class-ai1wm-export-enumerate.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
@@ -72,7 +72,7 @@ class Ai1wm_Export_Enumerate {
72
// Exclude inactive plugins
73
if ( isset( $params['options']['no_inactive_plugins'] ) ) {
74
foreach ( get_plugins() as $plugin => $info ) {
75
- if ( is_plugin_inactive( $basename ) ) {
76
$inactive_plugins[] = 'plugins' . DIRECTORY_SEPARATOR .
77
( ( dirname( $plugin ) === '.' ) ? basename( $plugin ) : dirname( $plugin ) );
78
}
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
72
// Exclude inactive plugins
73
if ( isset( $params['options']['no_inactive_plugins'] ) ) {
74
foreach ( get_plugins() as $plugin => $info ) {
75
+ if ( is_plugin_inactive( $plugin ) ) {
76
$inactive_plugins[] = 'plugins' . DIRECTORY_SEPARATOR .
77
( ( dirname( $plugin ) === '.' ) ? basename( $plugin ) : dirname( $plugin ) );
78
}
lib/model/export/class-ai1wm-export-init.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
@@ -27,9 +27,6 @@ class Ai1wm_Export_Init {
27
28
public static function execute( $params ) {
29
30
- // Set progress
31
- Ai1wm_Status::info( __( 'Preparing to export...', AI1WM_PLUGIN_NAME ) );
32
-
33
// Set archive
34
if ( empty( $params['archive'] ) ) {
35
$params['archive'] = ai1wm_archive_file();
@@ -40,9 +37,6 @@ class Ai1wm_Export_Init {
40
$params['storage'] = ai1wm_storage_folder();
41
}
42
43
- // Set progress
44
- Ai1wm_Status::info( __( 'Done preparing to export.', AI1WM_PLUGIN_NAME ) );
45
-
46
return $params;
47
}
48
}
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
27
28
public static function execute( $params ) {
29
30
// Set archive
31
if ( empty( $params['archive'] ) ) {
32
$params['archive'] = ai1wm_archive_file();
37
$params['storage'] = ai1wm_storage_folder();
38
}
39
40
return $params;
41
}
42
}
lib/model/export/class-ai1wm-export-resolve.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
@@ -31,9 +31,7 @@ class Ai1wm_Export_Resolve {
31
Ai1wm_Status::info( __( 'Resolving URL address...', AI1WM_PLUGIN_NAME ) );
32
33
// HTTP resolve
34
- if ( empty( $params['ai1wm_manual_export'] ) ) {
35
- Ai1wm_Http::resolve( admin_url( 'admin-ajax.php?action=ai1wm_resolve' ) );
36
- }
37
38
// Set progress
39
Ai1wm_Status::info( __( 'Done resolving URL address...', AI1WM_PLUGIN_NAME ) );
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
31
Ai1wm_Status::info( __( 'Resolving URL address...', AI1WM_PLUGIN_NAME ) );
32
33
// HTTP resolve
34
+ Ai1wm_Http::resolve( admin_url( 'admin-ajax.php?action=ai1wm_resolve' ) );
35
36
// Set progress
37
Ai1wm_Status::info( __( 'Done resolving URL address...', AI1WM_PLUGIN_NAME ) );
lib/model/http/class-ai1wm-http-abstract.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/model/http/class-ai1wm-http-curl.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/model/http/class-ai1wm-http-factory.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/model/http/class-ai1wm-http-stream.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/model/import/class-ai1wm-import-blogs.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/model/import/class-ai1wm-import-clean.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/model/import/class-ai1wm-import-compatibility.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
@@ -26,6 +26,11 @@
26
class Ai1wm_Import_Compatibility {
27
28
public static function execute( $params ) {
29
$messages = Ai1wm_Compatibility::get( $params );
30
31
// Set messages
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
26
class Ai1wm_Import_Compatibility {
27
28
public static function execute( $params ) {
29
+
30
+ // Set progress
31
+ Ai1wm_Status::info( __( 'Checking extensions compatibility...', AI1WM_PLUGIN_NAME ) );
32
+
33
+ // Get messages
34
$messages = Ai1wm_Compatibility::get( $params );
35
36
// Set messages
lib/model/import/class-ai1wm-import-confirm.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/model/import/class-ai1wm-import-content.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/model/import/class-ai1wm-import-database.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/model/import/class-ai1wm-import-done.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/model/import/class-ai1wm-import-enumerate.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/model/import/class-ai1wm-import-plugins.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
@@ -28,25 +28,19 @@ class Ai1wm_Import_Plugins {
28
public static function execute( $params ) {
29
30
// Set progress
31
- Ai1wm_Status::info( __( 'Activating plugins...', AI1WM_PLUGIN_NAME ) );
32
33
// Open the archive file for reading
34
$archive = new Ai1wm_Extractor( ai1wm_archive_path( $params ) );
35
36
- // Include WordPress files
37
- $include_files = array_keys( _get_dropins() );
38
-
39
- // Include mu-plugins files
40
- $include_files = array_merge( $include_files, array( AI1WM_MUPLUGINS_NAME ) );
41
-
42
- // Unpack WordPress files and mu-plugins files
43
- $archive->extract_by_files_array( WP_CONTENT_DIR, $include_files );
44
45
// Close the archive file
46
$archive->close();
47
48
// Set progress
49
- Ai1wm_Status::info( __( 'Done activating plugins...', AI1WM_PLUGIN_NAME ) );
50
51
return $params;
52
}
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
28
public static function execute( $params ) {
29
30
// Set progress
31
+ Ai1wm_Status::info( __( 'Activating mu-plugins...', AI1WM_PLUGIN_NAME ) );
32
33
// Open the archive file for reading
34
$archive = new Ai1wm_Extractor( ai1wm_archive_path( $params ) );
35
36
+ // Unpack mu-plugins files
37
+ $archive->extract_by_files_array( WP_CONTENT_DIR, array( AI1WM_MUPLUGINS_NAME ) );
38
39
// Close the archive file
40
$archive->close();
41
42
// Set progress
43
+ Ai1wm_Status::info( __( 'Done activating mu-plugins...', AI1WM_PLUGIN_NAME ) );
44
45
return $params;
46
}
lib/model/import/class-ai1wm-import-resolve.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
@@ -31,9 +31,7 @@ class Ai1wm_Import_Resolve {
31
Ai1wm_Status::info( __( 'Resolving URL address...', AI1WM_PLUGIN_NAME ) );
32
33
// HTTP resolve
34
- if ( empty( $params['ai1wm_manual_import'] ) && empty( $params['ai1wm_manual_backups'] ) ) {
35
- Ai1wm_Http::resolve( admin_url( 'admin-ajax.php?action=ai1wm_resolve' ) );
36
- }
37
38
// Set progress
39
Ai1wm_Status::info( __( 'Done resolving URL address...', AI1WM_PLUGIN_NAME ) );
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
31
Ai1wm_Status::info( __( 'Resolving URL address...', AI1WM_PLUGIN_NAME ) );
32
33
// HTTP resolve
34
+ Ai1wm_Http::resolve( admin_url( 'admin-ajax.php?action=ai1wm_resolve' ) );
35
36
// Set progress
37
Ai1wm_Status::info( __( 'Done resolving URL address...', AI1WM_PLUGIN_NAME ) );
lib/model/import/class-ai1wm-import-upload.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/model/import/class-ai1wm-import-validate.php CHANGED
@@ -1,6 +1,6 @@
1
<?php
2
/**
3
- * Copyright (C) 2014-2016 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
1
<?php
2
/**
3
+ * Copyright (C) 2014-2017 ServMask Inc.
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
lib/vendor/math/BigInteger.php ADDED
@@ -0,0 +1,3811 @@