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 | ![]() |
Version | 6.40 |
Comparing to | |
See all releases |
Code changes from version 6.39 to 6.40
- all-in-one-wp-migration.php +2 -2
- constants.php +7 -2
- deprecated.php +1 -1
- exceptions.php +1 -1
- functions.php +104 -15
- lib/controller/class-ai1wm-backups-controller.php +1 -1
- lib/controller/class-ai1wm-export-controller.php +1 -1
- lib/controller/class-ai1wm-feedback-controller.php +9 -9
- lib/controller/class-ai1wm-import-controller.php +1 -1
- lib/controller/class-ai1wm-main-controller.php +57 -38
- lib/controller/class-ai1wm-report-controller.php +7 -7
- lib/controller/class-ai1wm-resolve-controller.php +1 -1
- lib/controller/class-ai1wm-status-controller.php +1 -1
- lib/controller/class-ai1wm-updater-controller.php +5 -5
- lib/model/class-ai1wm-backups.php +2 -2
- lib/model/class-ai1wm-compatibility.php +1 -1
- lib/model/class-ai1wm-deprecated.php +1 -1
- lib/model/class-ai1wm-extensions.php +1 -1
- lib/model/class-ai1wm-feedback.php +1 -1
- lib/model/class-ai1wm-handler.php +1 -1
- lib/model/class-ai1wm-http.php +1 -1
- lib/model/class-ai1wm-log.php +1 -1
- lib/model/class-ai1wm-report.php +1 -1
- lib/model/class-ai1wm-status.php +2 -2
- lib/model/class-ai1wm-template.php +1 -1
- lib/model/class-ai1wm-updater.php +1 -1
- lib/model/export/class-ai1wm-export-archive.php +1 -1
- lib/model/export/class-ai1wm-export-clean.php +1 -1
- lib/model/export/class-ai1wm-export-compatibility.php +7 -1
- lib/model/export/class-ai1wm-export-config.php +2 -6
- lib/model/export/class-ai1wm-export-content.php +1 -1
- lib/model/export/class-ai1wm-export-database.php +1 -1
- lib/model/export/class-ai1wm-export-download.php +1 -1
- lib/model/export/class-ai1wm-export-enumerate.php +2 -2
- lib/model/export/class-ai1wm-export-init.php +1 -7
- lib/model/export/class-ai1wm-export-resolve.php +2 -4
- lib/model/http/class-ai1wm-http-abstract.php +1 -1
- lib/model/http/class-ai1wm-http-curl.php +1 -1
- lib/model/http/class-ai1wm-http-factory.php +1 -1
- lib/model/http/class-ai1wm-http-stream.php +1 -1
- lib/model/import/class-ai1wm-import-blogs.php +1 -1
- lib/model/import/class-ai1wm-import-clean.php +1 -1
- lib/model/import/class-ai1wm-import-compatibility.php +6 -1
- lib/model/import/class-ai1wm-import-confirm.php +1 -1
- lib/model/import/class-ai1wm-import-content.php +1 -1
- lib/model/import/class-ai1wm-import-database.php +1 -1
- lib/model/import/class-ai1wm-import-done.php +1 -1
- lib/model/import/class-ai1wm-import-enumerate.php +1 -1
- lib/model/import/class-ai1wm-import-plugins.php +5 -11
- lib/model/import/class-ai1wm-import-resolve.php +2 -4
- lib/model/import/class-ai1wm-import-upload.php +1 -1
- lib/model/import/class-ai1wm-import-validate.php +1 -1
- lib/vendor/math/BigInteger.php +3811 -0
- lib/vendor/servmask/archiver/class-ai1wm-archiver.php +41 -10
- lib/vendor/servmask/archiver/class-ai1wm-compressor.php +1 -1
- lib/vendor/servmask/archiver/class-ai1wm-extractor.php +2 -12
- lib/vendor/servmask/cron/class-ai1wm-cron.php +1 -1
- lib/vendor/servmask/database/class-ai1wm-database-mysql.php +1 -1
- lib/vendor/servmask/database/class-ai1wm-database-mysqli.php +1 -1
- lib/vendor/servmask/database/class-ai1wm-database-utility.php +1 -1
- lib/vendor/servmask/database/class-ai1wm-database.php +1 -1
- lib/vendor/servmask/filesystem/class-ai1wm-file-htaccess.php +1 -1
- lib/vendor/servmask/filesystem/class-ai1wm-file-index.php +1 -1
- lib/vendor/servmask/filesystem/class-ai1wm-file-webconfig.php +1 -1
- lib/vendor/servmask/filesystem/class-ai1wm-file.php +1 -1
- lib/vendor/servmask/filter/class-ai1wm-extension-filter.php +1 -1
- lib/vendor/servmask/filter/class-ai1wm-recursive-exclude-filter.php +1 -1
- lib/vendor/servmask/iterator/class-ai1wm-recursive-directory-iterator.php +1 -1
- lib/view/assets/javascript/backups.min.js +8 -8
- lib/view/assets/javascript/export.min.js +12 -12
- lib/view/assets/javascript/import.min.js +1200 -915
- lib/view/assets/javascript/updater.min.js +2 -2
- lib/view/backups/index.php +2 -2
- lib/view/common/leave-feedback.php +3 -3
- lib/view/export/advanced-settings.php +2 -0
- lib/view/export/index.php +1 -1
- lib/view/import/index.php +1 -1
- loader.php +7 -1
- readme.txt +9 -1
- 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.
|
9 |
* Text Domain: all-in-one-wp-migration
|
10 |
* Domain Path: /languages
|
11 |
* Network: True
|
12 |
*
|
13 |
-
* Copyright (C) 2014-
|
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-
|
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.
|
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-
|
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-
|
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-
|
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 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
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-
|
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-
|
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-
|
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['
|
33 |
-
$type = trim( $_POST['
|
34 |
}
|
35 |
|
36 |
// Set E-mail
|
37 |
$email = null;
|
38 |
-
if ( isset( $_POST['
|
39 |
-
$email = trim( $_POST['
|
40 |
}
|
41 |
|
42 |
// Set Message
|
43 |
$message = null;
|
44 |
-
if ( isset( $_POST['
|
45 |
-
$message = trim( $_POST['
|
46 |
}
|
47 |
|
48 |
// Set Terms
|
49 |
$terms = false;
|
50 |
-
if ( isset( $_POST['
|
51 |
-
$terms = (bool) $_POST['
|
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-
|
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-
|
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 |
-
|
|
|
|
|
|
|
|
|
|
|
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 |
-
|
|
|
|
|
|
|
|
|
|
|
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 |
-
|
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 |
-
|
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 |
-
|
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 |
-
|
|
|
|
|
|
|
|
|
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 |
-
|
|
|
|
|
|
|
|
|
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 |
-
|
|
|
|
|
|
|
|
|
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( '
|
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-
|
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['
|
33 |
-
$email = trim( $_POST['
|
34 |
}
|
35 |
|
36 |
// Set Message
|
37 |
$message = null;
|
38 |
-
if ( isset( $_POST['
|
39 |
-
$message = trim( $_POST['
|
40 |
}
|
41 |
|
42 |
// Set Terms
|
43 |
$terms = false;
|
44 |
-
if ( isset( $_POST['
|
45 |
-
$terms = (bool) $_POST['
|
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-
|
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-
|
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-
|
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['
|
61 |
-
$uuid = trim( $_POST['
|
62 |
}
|
63 |
|
64 |
// Set extension
|
65 |
$extension = null;
|
66 |
-
if ( isset( $_POST['
|
67 |
-
$extension = trim( $_POST['
|
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-
|
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' =>
|
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-
|
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-
|
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-
|
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-
|
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-
|
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-
|
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-
|
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-
|
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-
|
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 (
|
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-
|
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-
|
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-
|
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-
|
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-
|
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-
|
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 |
-
|
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-
|
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-
|
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-
|
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-
|
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( $
|
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-
|
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-
|
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 |
-
|
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-
|
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-
|
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-
|
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-
|
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-
|
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-
|
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-
|
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-
|
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-
|
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-
|
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-
|
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-
|
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-
|
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 |
-
//
|
37 |
-
$
|
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-
|
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 |
-
|
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-
|
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-
|
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 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|