All-in-One WP Migration - Version 7.53

Version Description

Added

  • Total number of backups in the plugin menu
Download this release

Release Info

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

Code changes from version 7.52 to 7.53

all-in-one-wp-migration.php CHANGED
@@ -5,7 +5,7 @@
5
  * Description: Migration tool for all your blog data. Import or Export your blog content with a single click.
6
  * Author: ServMask
7
  * Author URI: https://servmask.com/
8
- * Version: 7.52
9
  * Text Domain: all-in-one-wp-migration
10
  * Domain Path: /languages
11
  * Network: True
5
  * Description: Migration tool for all your blog data. Import or Export your blog content with a single click.
6
  * Author: ServMask
7
  * Author URI: https://servmask.com/
8
+ * Version: 7.53
9
  * Text Domain: all-in-one-wp-migration
10
  * Domain Path: /languages
11
  * Network: True
constants.php CHANGED
@@ -35,7 +35,7 @@ define( 'AI1WM_DEBUG', false );
35
  // ==================
36
  // = Plugin Version =
37
  // ==================
38
- define( 'AI1WM_VERSION', '7.52' );
39
 
40
  // ===============
41
  // = Plugin Name =
@@ -478,6 +478,11 @@ define( 'AI1WM_BACKUPS_INDEX_PHP', AI1WM_BACKUPS_PATH . DIRECTORY_SEPARATOR . 'i
478
  // ===========================
479
  define( 'AI1WM_BACKUPS_INDEX_HTML', AI1WM_BACKUPS_PATH . DIRECTORY_SEPARATOR . 'index.html' );
480
 
 
 
 
 
 
481
  // ==========================
482
  // = Backups .htaccess File =
483
  // ==========================
35
  // ==================
36
  // = Plugin Version =
37
  // ==================
38
+ define( 'AI1WM_VERSION', '7.53' );
39
 
40
  // ===============
41
  // = Plugin Name =
478
  // ===========================
479
  define( 'AI1WM_BACKUPS_INDEX_HTML', AI1WM_BACKUPS_PATH . DIRECTORY_SEPARATOR . 'index.html' );
480
 
481
+ // ===========================
482
+ // = Backups robots.txt File =
483
+ // ===========================
484
+ define( 'AI1WM_BACKUPS_ROBOTS_TXT', AI1WM_BACKUPS_PATH . DIRECTORY_SEPARATOR . 'robots.txt' );
485
+
486
  // ==========================
487
  // = Backups .htaccess File =
488
  // ==========================
lib/controller/class-ai1wm-main-controller.php CHANGED
@@ -271,6 +271,7 @@ class Ai1wm_Main_Controller {
271
  $this->create_backups_webconfig( AI1WM_BACKUPS_WEBCONFIG );
272
  $this->create_backups_index_php( AI1WM_BACKUPS_INDEX_PHP );
273
  $this->create_backups_index_html( AI1WM_BACKUPS_INDEX_HTML );
 
274
  }
275
 
276
  /**
@@ -453,6 +454,22 @@ class Ai1wm_Main_Controller {
453
  }
454
  }
455
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
456
  /**
457
  * If the "noabort" environment variable has been set,
458
  * the script will continue to run even though the connection has been broken
@@ -550,6 +567,15 @@ class Ai1wm_Main_Controller {
550
  Ai1wm_Template::render( 'main/backups-index-html-notice' );
551
  }
552
 
 
 
 
 
 
 
 
 
 
553
  /**
554
  * Display notice for .htaccess file in WordPress directory
555
  *
@@ -623,7 +649,7 @@ class Ai1wm_Main_Controller {
623
  add_submenu_page(
624
  'ai1wm_export',
625
  __( 'Backups', AI1WM_PLUGIN_NAME ),
626
- __( 'Backups', AI1WM_PLUGIN_NAME ),
627
  'import',
628
  'ai1wm_backups',
629
  'Ai1wm_Backups_Controller::index'
271
  $this->create_backups_webconfig( AI1WM_BACKUPS_WEBCONFIG );
272
  $this->create_backups_index_php( AI1WM_BACKUPS_INDEX_PHP );
273
  $this->create_backups_index_html( AI1WM_BACKUPS_INDEX_HTML );
274
+ $this->create_backups_robots_txt( AI1WM_BACKUPS_ROBOTS_TXT );
275
  }
276
 
277
  /**
454
  }
455
  }
456
 
457
+ /**
458
+ * Create backups robots.txt file
459
+ *
460
+ * @param string Path to file
461
+ * @return void
462
+ */
463
+ public function create_backups_robots_txt( $path ) {
464
+ if ( ! Ai1wm_File_Robots::create( $path ) ) {
465
+ if ( is_multisite() ) {
466
+ return add_action( 'network_admin_notices', array( $this, 'backups_robots_txt_notice' ) );
467
+ } else {
468
+ return add_action( 'admin_notices', array( $this, 'backups_robots_txt_notice' ) );
469
+ }
470
+ }
471
+ }
472
+
473
  /**
474
  * If the "noabort" environment variable has been set,
475
  * the script will continue to run even though the connection has been broken
567
  Ai1wm_Template::render( 'main/backups-index-html-notice' );
568
  }
569
 
570
+ /**
571
+ * Display notice for robots.txt file in backups directory
572
+ *
573
+ * @return void
574
+ */
575
+ public function backups_robots_txt_notice() {
576
+ Ai1wm_Template::render( 'main/backups-robots-txt-notice' );
577
+ }
578
+
579
  /**
580
  * Display notice for .htaccess file in WordPress directory
581
  *
649
  add_submenu_page(
650
  'ai1wm_export',
651
  __( 'Backups', AI1WM_PLUGIN_NAME ),
652
+ __( 'Backups', AI1WM_PLUGIN_NAME ) . Ai1wm_Template::get_content( 'main/backups', array( 'count' => Ai1wm_Backups::count_files() ) ),
653
  'import',
654
  'ai1wm_backups',
655
  'Ai1wm_Backups_Controller::index'
lib/model/class-ai1wm-backups.php CHANGED
@@ -85,6 +85,15 @@ class Ai1wm_Backups {
85
  return $backups;
86
  }
87
 
 
 
 
 
 
 
 
 
 
88
  /**
89
  * Delete backup file
90
  *
85
  return $backups;
86
  }
87
 
88
+ /**
89
+ * Count all backup files
90
+ *
91
+ * @return integer
92
+ */
93
+ public static function count_files() {
94
+ return count( Ai1wm_Backups::get_files() );
95
+ }
96
+
97
  /**
98
  * Delete backup file
99
  *
lib/vendor/servmask/filesystem/class-ai1wm-file-robots.php ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (C) 2014-2020 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
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ *
18
+ * ███████╗███████╗██████╗ ██╗ ██╗███╗ ███╗ █████╗ ███████╗██╗ ██╗
19
+ * ██╔════╝██╔════╝██╔══██╗██║ ██║████╗ ████║██╔══██╗██╔════╝██║ ██╔╝
20
+ * ███████╗█████╗ ██████╔╝██║ ██║██╔████╔██║███████║███████╗█████╔╝
21
+ * ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██║╚██╔╝██║██╔══██║╚════██║██╔═██╗
22
+ * ███████║███████╗██║ ██║ ╚████╔╝ ██║ ╚═╝ ██║██║ ██║███████║██║ ██╗
23
+ * ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝
24
+ */
25
+
26
+ if ( ! defined( 'ABSPATH' ) ) {
27
+ die( 'Kangaroos cannot jump here' );
28
+ }
29
+
30
+ class Ai1wm_File_Robots {
31
+
32
+ /**
33
+ * Create robots.txt file
34
+ *
35
+ * @param string $path Path to file
36
+ * @return boolean
37
+ */
38
+ public static function create( $path ) {
39
+ return Ai1wm_File::create(
40
+ $path,
41
+ implode(
42
+ PHP_EOL,
43
+ array(
44
+ 'User-agent: *',
45
+ 'Disallow: /ai1wm-backups/',
46
+ 'Disallow: /wp-content/ai1wm-backups/',
47
+ )
48
+ )
49
+ );
50
+ }
51
+ }
lib/view/main/admin-head.php CHANGED
@@ -78,6 +78,23 @@ if ( ! defined( 'ABSPATH' ) ) {
78
  color: #fff;
79
  }
80
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
81
  <?php if ( version_compare( $version, '3.8', '<' ) ) : ?>
82
  .toplevel_page_ai1wm_export > div.wp-menu-image {
83
  background: none !important;
78
  color: #fff;
79
  }
80
 
81
+ .ai1wm-menu-count {
82
+ display: inline-block;
83
+ vertical-align: top;
84
+ box-sizing: border-box;
85
+ margin: 1px 0 -1px 2px;
86
+ padding: 0 5px;
87
+ min-width: 18px;
88
+ height: 18px;
89
+ border-radius: 9px;
90
+ background-color: #d63638;
91
+ color: #fff;
92
+ font-size: 11px;
93
+ line-height: 1.6;
94
+ text-align: center;
95
+ z-index: 26;
96
+ }
97
+
98
  <?php if ( version_compare( $version, '3.8', '<' ) ) : ?>
99
  .toplevel_page_ai1wm_export > div.wp-menu-image {
100
  background: none !important;
lib/view/main/backups-robots-txt-notice.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (C) 2014-2020 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
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ *
18
+ * ███████╗███████╗██████╗ ██╗ ██╗███╗ ███╗ █████╗ ███████╗██╗ ██╗
19
+ * ██╔════╝██╔════╝██╔══██╗██║ ██║████╗ ████║██╔══██╗██╔════╝██║ ██╔╝
20
+ * ███████╗█████╗ ██████╔╝██║ ██║██╔████╔██║███████║███████╗█████╔╝
21
+ * ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██║╚██╔╝██║██╔══██║╚════██║██╔═██╗
22
+ * ███████║███████╗██║ ██║ ╚████╔╝ ██║ ╚═╝ ██║██║ ██║███████║██║ ██╗
23
+ * ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝
24
+ */
25
+
26
+ if ( ! defined( 'ABSPATH' ) ) {
27
+ die( 'Kangaroos cannot jump here' );
28
+ }
29
+ ?>
30
+
31
+ <div class="error">
32
+ <p>
33
+ <?php
34
+ printf(
35
+ __(
36
+ 'All-in-One WP Migration is not able to create <strong>%s</strong> file. ' .
37
+ 'Try to change permissions of the parent folder or send us an email at ' .
38
+ '<a href="mailto:support@servmask.com">support@servmask.com</a> for assistance.',
39
+ AI1WM_PLUGIN_NAME
40
+ ),
41
+ AI1WM_BACKUPS_ROBOTS_TXT
42
+ )
43
+ ?>
44
+ </p>
45
+ </div>
lib/view/main/backups.php ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Copyright (C) 2014-2020 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
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU General Public License
16
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ *
18
+ * ███████╗███████╗██████╗ ██╗ ██╗███╗ ███╗ █████╗ ███████╗██╗ ██╗
19
+ * ██╔════╝██╔════╝██╔══██╗██║ ██║████╗ ████║██╔══██╗██╔════╝██║ ██╔╝
20
+ * ███████╗█████╗ ██████╔╝██║ ██║██╔████╔██║███████║███████╗█████╔╝
21
+ * ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██║╚██╔╝██║██╔══██║╚════██║██╔═██╗
22
+ * ███████║███████╗██║ ██║ ╚████╔╝ ██║ ╚═╝ ██║██║ ██║███████║██║ ██╗
23
+ * ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝
24
+ */
25
+
26
+
27
+ if ( ! defined( 'ABSPATH' ) ) {
28
+ die( 'Kangaroos cannot jump here' );
29
+ }
30
+
31
+ printf( ' <span class="ai1wm-menu-count" title="%s">%d</span>', sprintf( _n( 'You have %d backup', 'You have %d backups', $count, AI1WM_PLUGIN_NAME ), $count ), $count );
loader.php CHANGED
@@ -89,6 +89,14 @@ require_once AI1WM_VENDOR_PATH .
89
  DIRECTORY_SEPARATOR .
90
  'class-ai1wm-file-webconfig.php';
91
 
 
 
 
 
 
 
 
 
92
  require_once AI1WM_VENDOR_PATH .
93
  DIRECTORY_SEPARATOR .
94
  'servmask' .
89
  DIRECTORY_SEPARATOR .
90
  'class-ai1wm-file-webconfig.php';
91
 
92
+ require_once AI1WM_VENDOR_PATH .
93
+ DIRECTORY_SEPARATOR .
94
+ 'servmask' .
95
+ DIRECTORY_SEPARATOR .
96
+ 'filesystem' .
97
+ DIRECTORY_SEPARATOR .
98
+ 'class-ai1wm-file-robots.php';
99
+
100
  require_once AI1WM_VENDOR_PATH .
101
  DIRECTORY_SEPARATOR .
102
  'servmask' .
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: move, transfer, copy, migrate, backup, clone, restore, db migration, wordp
4
  Requires at least: 3.3
5
  Tested up to: 5.9
6
  Requires PHP: 5.2.17
7
- Stable tag: 7.52
8
  License: GPLv2 or later
9
 
10
  Move, transfer, copy, migrate, and backup a site with 1-click. Quick, easy, and reliable.
@@ -76,7 +76,7 @@ Plugins dashboard.
76
  1. Click "Add New" and Search for "All-in-One WP Migration"
77
  1. Install and Activate
78
 
79
- Alternatively, you can download the plugin using the download button on this page and then upload the all-in-one-wp-migration folder to the /wp-content/plugins/ directory then activate throught the Plugins dashboard in WordPress
80
 
81
  == Screenshots ==
82
  1. Mobile Export page
@@ -89,6 +89,11 @@ All-in-One WP Migration is in full compliance with General Data Protection Regul
89
  See our [GDPR Compliant Privacy Policy here](https://www.iubenda.com/privacy-policy/946881).
90
 
91
  == Changelog ==
 
 
 
 
 
92
  = 7.52 =
93
  **Fixed**
94
 
4
  Requires at least: 3.3
5
  Tested up to: 5.9
6
  Requires PHP: 5.2.17
7
+ Stable tag: 7.53
8
  License: GPLv2 or later
9
 
10
  Move, transfer, copy, migrate, and backup a site with 1-click. Quick, easy, and reliable.
76
  1. Click "Add New" and Search for "All-in-One WP Migration"
77
  1. Install and Activate
78
 
79
+ Alternatively, you can download the plugin using the download button on this page and then upload the all-in-one-wp-migration folder to the /wp-content/plugins/ directory then activate throught the Plugins dashboard in WordPress
80
 
81
  == Screenshots ==
82
  1. Mobile Export page
89
  See our [GDPR Compliant Privacy Policy here](https://www.iubenda.com/privacy-policy/946881).
90
 
91
  == Changelog ==
92
+ = 7.53 =
93
+ **Added**
94
+
95
+ * Total number of backups in the plugin menu
96
+
97
  = 7.52 =
98
  **Fixed**
99