Version Description
Download this release
Release Info
Developer | briancolinger |
Plugin | VaultPress |
Version | 2.1-alpha |
Comparing to | |
See all releases |
Code changes from version 2.0.1 to 2.1-alpha
- changelog.txt +29 -0
- class.vaultpress-hotfixes.php +21 -16
- composer.json +2 -2
- readme.txt +9 -25
- vaultpress.php +129 -27
- vendor/autoload.php +1 -1
- vendor/autoload_packages.php +18 -3
- vendor/automattic/jetpack-autoloader/src/AutoloadGenerator.php +19 -5
- vendor/automattic/jetpack-autoloader/src/CustomAutoloaderPlugin.php +2 -2
- vendor/automattic/jetpack-autoloader/src/autoload.php +3 -1
- vendor/automattic/jetpack-logo/composer.json +3 -3
- vendor/automattic/jetpack-logo/phpunit.xml.dist +0 -7
- vendor/automattic/jetpack-logo/src/{Logo.php → class-logo.php} +1 -1
- vendor/automattic/jetpack-logo/tests/php/bootstrap.php +0 -3
- vendor/automattic/jetpack-logo/tests/php/test_Logo.php +0 -22
- vendor/composer/autoload_classmap.php +1 -0
- vendor/composer/autoload_classmap_package.php +4 -4
- vendor/composer/autoload_psr4.php +0 -1
- vendor/composer/autoload_real.php +4 -4
- vendor/composer/autoload_static.php +8 -8
- vendor/composer/installed.json +22 -22
changelog.txt
CHANGED
@@ -2,6 +2,35 @@
|
|
2 |
|
3 |
**This is a list detailing changes for all the past Jetpack releases. For more information about the current release, see [the readme](https://github.com/Automattic/vaultpress/blob/master/readme.txt).**
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
= 1.9.9 - 28 March 2019 =
|
6 |
* PHP 7.2.0 compatibility fix.
|
7 |
* Adding button to delete all VaultPress settings
|
2 |
|
3 |
**This is a list detailing changes for all the past Jetpack releases. For more information about the current release, see [the readme](https://github.com/Automattic/vaultpress/blob/master/readme.txt).**
|
4 |
|
5 |
+
= 2.0.1 =
|
6 |
+
|
7 |
+
* Release date: July 12, 2019
|
8 |
+
|
9 |
+
**Bug Fixes**
|
10 |
+
|
11 |
+
* Security Scanner: ensure the Security Scanner can be triggered at all times.
|
12 |
+
|
13 |
+
= 2.0 =
|
14 |
+
|
15 |
+
* Release date: July 9, 2019
|
16 |
+
|
17 |
+
**Enhancements**
|
18 |
+
|
19 |
+
* Dashboard: redesign the main VaultPress dashboard.
|
20 |
+
|
21 |
+
**Compatibility**
|
22 |
+
|
23 |
+
* General: VaultPress now requires PHP 5.3.2, and will display a notice if your site uses an older version of PHP.
|
24 |
+
|
25 |
+
|
26 |
+
= 1.9.10 =
|
27 |
+
|
28 |
+
* Release date: April 4, 2019
|
29 |
+
|
30 |
+
**Bug fixes**
|
31 |
+
|
32 |
+
* Fix a PHP fatal error caused by passing an object to the current() function.
|
33 |
+
|
34 |
= 1.9.9 - 28 March 2019 =
|
35 |
* PHP 7.2.0 compatibility fix.
|
36 |
* Adding button to delete all VaultPress settings
|
class.vaultpress-hotfixes.php
CHANGED
@@ -20,10 +20,11 @@ class VaultPress_Hotfixes {
|
|
20 |
if ( version_compare( $wp_version, '3.1.3', '<' ) ) {
|
21 |
add_filter( 'sanitize_file_name', array( $this, 'r17990' ) );
|
22 |
|
23 |
-
if ( !empty( $_POST ) )
|
24 |
$this->r17994( $_POST );
|
25 |
-
|
26 |
-
|
|
|
27 |
|
28 |
// clean post_mime_type and guid (r17994)
|
29 |
add_filter( 'pre_post_mime_type', array( $this, 'r17994_sanitize_mime_type' ) );
|
@@ -93,7 +94,7 @@ class VaultPress_Hotfixes {
|
|
93 |
add_filter( 'jetpack_xmlrpc_methods', array( $this, 'disable_jetpack_xmlrpc_methods_293' ), 20, 3 );
|
94 |
add_filter( 'xmlrpc_methods', array( $this, 'disable_xmlrpc_methods_293' ), 20 );
|
95 |
|
96 |
-
// Protect All-in-one SEO from non-authorized users making changes, and script injection attacks.
|
97 |
add_action( 'wp_ajax_aioseop_ajax_save_meta', array( $this, 'protect_aioseo_ajax' ), 1 );
|
98 |
|
99 |
// Protect The MailPoet plugin (wysija-newsletters) from remote file upload. Affects versions <= 2.6.6
|
@@ -101,24 +102,24 @@ class VaultPress_Hotfixes {
|
|
101 |
|
102 |
// Protect the Revolution Slider plugin (revslider) from local file inclusion. Affects versions < 4.2
|
103 |
add_action( 'init', array( $this , 'protect_revslider_lfi' ), 1 );
|
104 |
-
|
105 |
// Protect WooCommerce from object injection via PayPal IPN notifications. Affects 2.0.20 -> 2.3.10
|
106 |
add_action( 'init', array( $this , 'protect_woocommerce_paypal_object_injection' ), 1 );
|
107 |
|
108 |
// Protect Jetpack from comments-based XSS attack
|
109 |
add_action( 'plugins_loaded', array( $this, 'protect_jetpack_402_from_oembed_xss' ), 1 );
|
110 |
-
|
111 |
if ( version_compare( $wp_version, '3.1', '>=') && version_compare( $wp_version, '4.3', '<=' ) ) {
|
112 |
if ( is_admin() ) {
|
113 |
add_filter( 'user_email', array( $this, 'patch_user_email' ), 10 , 3 );
|
114 |
}
|
115 |
-
|
116 |
remove_shortcode( 'wp_caption' );
|
117 |
remove_shortcode( 'caption' );
|
118 |
add_shortcode( 'wp_caption', array( $this, 'filtered_caption_shortcode' ) );
|
119 |
add_shortcode( 'caption', array( $this, 'filtered_caption_shortcode' ) );
|
120 |
}
|
121 |
-
|
122 |
// Protect Akismet < 3.1.5 from stored XSS in admin page
|
123 |
add_filter( 'init', array( $this, 'protect_akismet_comment_xss' ), 50 );
|
124 |
|
@@ -127,7 +128,7 @@ class VaultPress_Hotfixes {
|
|
127 |
if ( version_compare( $wp_version, '4.4', '>=' ) ) {
|
128 |
add_filter( 'rest_pre_dispatch', array( $this, 'protect_rest_type_juggling' ), 10, 3 );
|
129 |
}
|
130 |
-
|
131 |
// Protect WordPress 4.0 - 4.7.1 against faulty youtube embeds
|
132 |
if ( version_compare( $wp_version, '4.0', '>=' ) ) {
|
133 |
$this->protect_youtube_embeds();
|
@@ -226,7 +227,7 @@ class VaultPress_Hotfixes {
|
|
226 |
function filter_long_comment_xss( $commentdata ) {
|
227 |
if ( strlen( $commentdata['comment_content'] ) > 65500 )
|
228 |
wp_die( 'Comment too long', 'Invalid comment' );
|
229 |
-
|
230 |
return $commentdata;
|
231 |
}
|
232 |
|
@@ -776,17 +777,17 @@ EOD;
|
|
776 |
die( 'file does not exist' );
|
777 |
}
|
778 |
}
|
779 |
-
|
780 |
// Protect WooCommerce 2.0.20 - 2.3.10 from PayPal IPN object injection attack.
|
781 |
function protect_woocommerce_paypal_object_injection() {
|
782 |
global $woocommerce;
|
783 |
if ( ! isset( $woocommerce ) )
|
784 |
return;
|
785 |
-
|
786 |
$wc_version = $woocommerce->version;
|
787 |
if ( version_compare( $wc_version, '2.0.20', '<' ) || version_compare( $wc_version, '2.3.11', '>=' ) )
|
788 |
return;
|
789 |
-
|
790 |
if ( isset( $_REQUEST['paypalListener'] ) ) {
|
791 |
$check_fields = array( 'custom', 'cm' );
|
792 |
foreach ( $check_fields as $field ) {
|
@@ -805,16 +806,16 @@ EOD;
|
|
805 |
|
806 |
return $value;
|
807 |
}
|
808 |
-
|
809 |
// Protect WordPress < 4.3.1 from evil tags inside caption shortcodes
|
810 |
function filtered_caption_shortcode( $attr, $content = null ) {
|
811 |
if ( isset( $attr['caption'] ) && strpos( $attr['caption'], '<' ) !== false ) {
|
812 |
$attr['caption'] = wp_kses( $attr['caption'], 'post' );
|
813 |
}
|
814 |
-
|
815 |
return img_caption_shortcode( $attr, $content );
|
816 |
}
|
817 |
-
|
818 |
// Protect Akismet < 3.1.5 from stored XSS in admin page
|
819 |
function protect_akismet_comment_xss() {
|
820 |
remove_filter( 'comment_text', array( 'Akismet_Admin', 'text_add_link_class' ) );
|
@@ -837,6 +838,10 @@ if ( defined( 'XMLRPC_REQUEST' ) && XMLRPC_REQUEST && $needs_class_fix ) {
|
|
837 |
parent::set_custom_fields( $post_id, $fields );
|
838 |
}
|
839 |
}
|
|
|
|
|
|
|
|
|
840 |
}
|
841 |
|
842 |
class VaultPress_kses {
|
20 |
if ( version_compare( $wp_version, '3.1.3', '<' ) ) {
|
21 |
add_filter( 'sanitize_file_name', array( $this, 'r17990' ) );
|
22 |
|
23 |
+
if ( ! empty( $_POST ) ) {
|
24 |
$this->r17994( $_POST );
|
25 |
+
}
|
26 |
+
// Protect add_meta, update_meta used by the XML-RPC API.
|
27 |
+
add_filter( 'wp_xmlrpc_server_class', 'r17994_xmlrpc_server' );
|
28 |
|
29 |
// clean post_mime_type and guid (r17994)
|
30 |
add_filter( 'pre_post_mime_type', array( $this, 'r17994_sanitize_mime_type' ) );
|
94 |
add_filter( 'jetpack_xmlrpc_methods', array( $this, 'disable_jetpack_xmlrpc_methods_293' ), 20, 3 );
|
95 |
add_filter( 'xmlrpc_methods', array( $this, 'disable_xmlrpc_methods_293' ), 20 );
|
96 |
|
97 |
+
// Protect All-in-one SEO from non-authorized users making changes, and script injection attacks.
|
98 |
add_action( 'wp_ajax_aioseop_ajax_save_meta', array( $this, 'protect_aioseo_ajax' ), 1 );
|
99 |
|
100 |
// Protect The MailPoet plugin (wysija-newsletters) from remote file upload. Affects versions <= 2.6.6
|
102 |
|
103 |
// Protect the Revolution Slider plugin (revslider) from local file inclusion. Affects versions < 4.2
|
104 |
add_action( 'init', array( $this , 'protect_revslider_lfi' ), 1 );
|
105 |
+
|
106 |
// Protect WooCommerce from object injection via PayPal IPN notifications. Affects 2.0.20 -> 2.3.10
|
107 |
add_action( 'init', array( $this , 'protect_woocommerce_paypal_object_injection' ), 1 );
|
108 |
|
109 |
// Protect Jetpack from comments-based XSS attack
|
110 |
add_action( 'plugins_loaded', array( $this, 'protect_jetpack_402_from_oembed_xss' ), 1 );
|
111 |
+
|
112 |
if ( version_compare( $wp_version, '3.1', '>=') && version_compare( $wp_version, '4.3', '<=' ) ) {
|
113 |
if ( is_admin() ) {
|
114 |
add_filter( 'user_email', array( $this, 'patch_user_email' ), 10 , 3 );
|
115 |
}
|
116 |
+
|
117 |
remove_shortcode( 'wp_caption' );
|
118 |
remove_shortcode( 'caption' );
|
119 |
add_shortcode( 'wp_caption', array( $this, 'filtered_caption_shortcode' ) );
|
120 |
add_shortcode( 'caption', array( $this, 'filtered_caption_shortcode' ) );
|
121 |
}
|
122 |
+
|
123 |
// Protect Akismet < 3.1.5 from stored XSS in admin page
|
124 |
add_filter( 'init', array( $this, 'protect_akismet_comment_xss' ), 50 );
|
125 |
|
128 |
if ( version_compare( $wp_version, '4.4', '>=' ) ) {
|
129 |
add_filter( 'rest_pre_dispatch', array( $this, 'protect_rest_type_juggling' ), 10, 3 );
|
130 |
}
|
131 |
+
|
132 |
// Protect WordPress 4.0 - 4.7.1 against faulty youtube embeds
|
133 |
if ( version_compare( $wp_version, '4.0', '>=' ) ) {
|
134 |
$this->protect_youtube_embeds();
|
227 |
function filter_long_comment_xss( $commentdata ) {
|
228 |
if ( strlen( $commentdata['comment_content'] ) > 65500 )
|
229 |
wp_die( 'Comment too long', 'Invalid comment' );
|
230 |
+
|
231 |
return $commentdata;
|
232 |
}
|
233 |
|
777 |
die( 'file does not exist' );
|
778 |
}
|
779 |
}
|
780 |
+
|
781 |
// Protect WooCommerce 2.0.20 - 2.3.10 from PayPal IPN object injection attack.
|
782 |
function protect_woocommerce_paypal_object_injection() {
|
783 |
global $woocommerce;
|
784 |
if ( ! isset( $woocommerce ) )
|
785 |
return;
|
786 |
+
|
787 |
$wc_version = $woocommerce->version;
|
788 |
if ( version_compare( $wc_version, '2.0.20', '<' ) || version_compare( $wc_version, '2.3.11', '>=' ) )
|
789 |
return;
|
790 |
+
|
791 |
if ( isset( $_REQUEST['paypalListener'] ) ) {
|
792 |
$check_fields = array( 'custom', 'cm' );
|
793 |
foreach ( $check_fields as $field ) {
|
806 |
|
807 |
return $value;
|
808 |
}
|
809 |
+
|
810 |
// Protect WordPress < 4.3.1 from evil tags inside caption shortcodes
|
811 |
function filtered_caption_shortcode( $attr, $content = null ) {
|
812 |
if ( isset( $attr['caption'] ) && strpos( $attr['caption'], '<' ) !== false ) {
|
813 |
$attr['caption'] = wp_kses( $attr['caption'], 'post' );
|
814 |
}
|
815 |
+
|
816 |
return img_caption_shortcode( $attr, $content );
|
817 |
}
|
818 |
+
|
819 |
// Protect Akismet < 3.1.5 from stored XSS in admin page
|
820 |
function protect_akismet_comment_xss() {
|
821 |
remove_filter( 'comment_text', array( 'Akismet_Admin', 'text_add_link_class' ) );
|
838 |
parent::set_custom_fields( $post_id, $fields );
|
839 |
}
|
840 |
}
|
841 |
+
|
842 |
+
function r17994_xmlrpc_server() {
|
843 |
+
return 'VaultPress_XMLRPC_Server_r17994';
|
844 |
+
}
|
845 |
}
|
846 |
|
847 |
class VaultPress_kses {
|
composer.json
CHANGED
@@ -8,11 +8,11 @@
|
|
8 |
"issues": "https://github.com/Automattic/vaultpress/issues"
|
9 |
},
|
10 |
"require": {
|
11 |
-
"automattic/jetpack-logo": "1.1.
|
12 |
},
|
13 |
"require-dev": {
|
14 |
"automattic/jetpack-standards": "master-dev",
|
15 |
-
"automattic/jetpack-autoloader": "1.
|
16 |
},
|
17 |
"scripts": {
|
18 |
"php:compatibility": "composer install && vendor/bin/phpcs -p -s -n --runtime-set testVersion '5.3-' --standard=PHPCompatibilityWP --ignore=docker,tools,tests,node_modules,vendor --extensions=php",
|
8 |
"issues": "https://github.com/Automattic/vaultpress/issues"
|
9 |
},
|
10 |
"require": {
|
11 |
+
"automattic/jetpack-logo": "1.1.4"
|
12 |
},
|
13 |
"require-dev": {
|
14 |
"automattic/jetpack-standards": "master-dev",
|
15 |
+
"automattic/jetpack-autoloader": "1.3.5"
|
16 |
},
|
17 |
"scripts": {
|
18 |
"php:compatibility": "composer install && vendor/bin/phpcs -p -s -n --runtime-set testVersion '5.3-' --standard=PHPCompatibilityWP --ignore=docker,tools,tests,node_modules,vendor --extensions=php",
|
readme.txt
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
Contributors: automattic, apokalyptik, briancolinger, josephscott, shaunandrews, xknown, thingalon, annezazu, rachelsquirrel
|
3 |
Tags: security, malware, virus, archive, back up, back ups, backup, backups, scanning, restore, wordpress backup, site backup, website backup
|
4 |
Requires at least: 5.1
|
5 |
-
Tested up to: 5.
|
6 |
Stable tag: 2.0.1
|
7 |
Requires PHP: 5.3
|
8 |
License: GPLv2
|
@@ -49,34 +49,18 @@ Yes, VaultPress supports Multisite installs. Each site will require its own subs
|
|
49 |
|
50 |
== Changelog ==
|
51 |
|
52 |
-
= 2.
|
53 |
|
54 |
-
* Release date:
|
55 |
-
|
56 |
-
**Bug Fixes**
|
57 |
-
|
58 |
-
* Security Scanner: ensure the Security Scanner can be triggered at all times.
|
59 |
-
|
60 |
-
= 2.0 =
|
61 |
-
|
62 |
-
* Release date: July 9, 2019
|
63 |
-
|
64 |
-
**Enhancements**
|
65 |
-
|
66 |
-
* Dashboard: redesign the main VaultPress dashboard.
|
67 |
|
68 |
**Compatibility**
|
69 |
|
70 |
-
* General:
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
*
|
76 |
-
|
77 |
-
**Bug fixes**
|
78 |
-
|
79 |
-
* Fix a PHP fatal error caused by passing an object to the current() function.
|
80 |
|
81 |
--------
|
82 |
|
2 |
Contributors: automattic, apokalyptik, briancolinger, josephscott, shaunandrews, xknown, thingalon, annezazu, rachelsquirrel
|
3 |
Tags: security, malware, virus, archive, back up, back ups, backup, backups, scanning, restore, wordpress backup, site backup, website backup
|
4 |
Requires at least: 5.1
|
5 |
+
Tested up to: 5.3
|
6 |
Stable tag: 2.0.1
|
7 |
Requires PHP: 5.3
|
8 |
License: GPLv2
|
49 |
|
50 |
== Changelog ==
|
51 |
|
52 |
+
= 2.1 =
|
53 |
|
54 |
+
* Release date: November 26, 2019
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
|
56 |
**Compatibility**
|
57 |
|
58 |
+
* General: avoid PHP deprecation notices when using a newer version of the Jetpack plugin.
|
59 |
+
* Admin Page: do not display a dashboard link if not registered.
|
60 |
+
* Admin Page: update reset settings card wording.
|
61 |
+
* Connect button: update link to current VaultPress page.
|
62 |
+
* Notices: only display notices in specific locations.
|
63 |
+
* Notices: update wording for the VaultPress connection notice
|
|
|
|
|
|
|
|
|
64 |
|
65 |
--------
|
66 |
|
vaultpress.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: VaultPress
|
4 |
* Plugin URI: http://vaultpress.com/?utm_source=plugin-uri&utm_medium=plugin-description&utm_campaign=1.0
|
5 |
* Description: Protect your content, themes, plugins, and settings with <strong>realtime backup</strong> and <strong>automated security scanning</strong> from <a href="http://vaultpress.com/?utm_source=wp-admin&utm_medium=plugin-description&utm_campaign=1.0" rel="nofollow">VaultPress</a>. Activate, enter your registration key, and never worry again. <a href="http://vaultpress.com/help/?utm_source=wp-admin&utm_medium=plugin-description&utm_campaign=1.0" rel="nofollow">Need some help?</a>
|
6 |
-
* Version: 2.
|
7 |
* Author: Automattic
|
8 |
* Author URI: http://vaultpress.com/?utm_source=author-uri&utm_medium=plugin-description&utm_campaign=1.0
|
9 |
* License: GPL2+
|
@@ -17,7 +17,7 @@
|
|
17 |
defined( 'ABSPATH' ) || die();
|
18 |
|
19 |
define( 'VAULTPRESS__MINIMUM_PHP_VERSION', '5.3.2' );
|
20 |
-
define( 'VAULTPRESS__VERSION', '2.
|
21 |
define( 'VAULTPRESS__PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
22 |
|
23 |
/**
|
@@ -486,19 +486,54 @@ class VaultPress {
|
|
486 |
return $this->_server_url;
|
487 |
}
|
488 |
|
489 |
-
|
|
|
|
|
490 |
function connect_notice() {
|
491 |
-
|
|
|
|
|
|
|
|
|
|
|
492 |
return;
|
|
|
493 |
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
499 |
}
|
500 |
|
501 |
-
|
502 |
function activated_notice() {
|
503 |
if ( 'network' == $this->get_option( 'activated' ) ) {
|
504 |
$message = sprintf(
|
@@ -516,16 +551,53 @@ class VaultPress {
|
|
516 |
$this->delete_option( 'activated' );
|
517 |
}
|
518 |
|
519 |
-
|
|
|
|
|
|
|
520 |
$error_message = $this->get_option( 'connection_error_message' );
|
521 |
|
522 |
-
// link to the VaultPress page if we're not already there
|
523 |
-
if (
|
524 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
525 |
}
|
526 |
|
527 |
$screen = get_current_screen();
|
528 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
529 |
$this->ui_message( $error_message, 'error' );
|
530 |
}
|
531 |
}
|
@@ -570,7 +642,10 @@ class VaultPress {
|
|
570 |
if ( $this->is_localhost() ) {
|
571 |
$this->update_option( 'connection', time() );
|
572 |
$this->update_option( 'connection_error_code', 'error_localhost' );
|
573 |
-
$this->update_option(
|
|
|
|
|
|
|
574 |
$this->error_notice();
|
575 |
return array( 'ui' => ob_get_clean(), 'dashboard_link' => false );
|
576 |
}
|
@@ -582,7 +657,7 @@ class VaultPress {
|
|
582 |
|
583 |
if ( ! $this->is_registered() ) {
|
584 |
$this->ui_register();
|
585 |
-
return array( 'ui' => ob_get_clean(), 'dashboard_link' =>
|
586 |
}
|
587 |
|
588 |
$status = $this->contact_service( 'status' );
|
@@ -714,7 +789,7 @@ class VaultPress {
|
|
714 |
<img src="<?php echo esc_url( plugins_url( 'images/security.svg', __FILE__ ) ); ?>" alt="VaultPress">
|
715 |
<h2><?php _e( 'The VaultPress plugin requires a subscription.', 'vaultpress' ); ?></h2>
|
716 |
<p><?php _e( 'Get realtime backups, automated security scanning, and support from WordPress experts.', 'vaultpress' ); ?></p>
|
717 |
-
<a class="dops-button is-primary" href="https://vaultpress.com/
|
718 |
</div>
|
719 |
</div>
|
720 |
|
@@ -915,20 +990,37 @@ class VaultPress {
|
|
915 |
function ui_delete_vp_settings_button() {
|
916 |
?>
|
917 |
<div class="dops-card dops-section-header is-compact">
|
918 |
-
<?php _e( '
|
919 |
</div>
|
920 |
<?php
|
921 |
if ( isset( $_GET['delete-vp-settings'] ) && 1 == (int) $_GET['delete-vp-settings'] ) {
|
922 |
?>
|
923 |
<div class="dops-card">
|
924 |
-
|
925 |
</div>
|
926 |
<?php
|
927 |
} else {
|
928 |
?>
|
929 |
<div class="dops-card">
|
930 |
-
<p><?php
|
931 |
-
<p><strong
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
932 |
<form
|
933 |
onsubmit="return confirm( '<?php esc_html_e( 'Do you really want to reset all options?', 'vaultpress' ) ?>' );"
|
934 |
method="post"
|
@@ -2898,10 +2990,15 @@ JS;
|
|
2898 |
}
|
2899 |
|
2900 |
function get_jetpack_email() {
|
2901 |
-
if ( !class_exists('Jetpack') )
|
2902 |
return false;
|
2903 |
-
|
2904 |
-
|
|
|
|
|
|
|
|
|
|
|
2905 |
$xml = new Jetpack_IXR_Client( array( 'user_id' => get_current_user_id() ) );
|
2906 |
$xml->query( 'wpcom.getUserEmail' );
|
2907 |
if ( ! $xml->isError() ) {
|
@@ -2912,10 +3009,15 @@ JS;
|
|
2912 |
}
|
2913 |
|
2914 |
function get_key_via_jetpack( $already_purchased = false ) {
|
2915 |
-
if ( !class_exists('Jetpack') )
|
2916 |
return false;
|
|
|
|
|
|
|
|
|
|
|
|
|
2917 |
|
2918 |
-
Jetpack::load_xml_rpc_client();
|
2919 |
$xml = new Jetpack_IXR_Client( array( 'user_id' => Jetpack_Options::get_option( 'master_user' ) ) );
|
2920 |
$xml->query( 'vaultpress.registerSite', $already_purchased );
|
2921 |
if ( ! $xml->isError() ) {
|
3 |
* Plugin Name: VaultPress
|
4 |
* Plugin URI: http://vaultpress.com/?utm_source=plugin-uri&utm_medium=plugin-description&utm_campaign=1.0
|
5 |
* Description: Protect your content, themes, plugins, and settings with <strong>realtime backup</strong> and <strong>automated security scanning</strong> from <a href="http://vaultpress.com/?utm_source=wp-admin&utm_medium=plugin-description&utm_campaign=1.0" rel="nofollow">VaultPress</a>. Activate, enter your registration key, and never worry again. <a href="http://vaultpress.com/help/?utm_source=wp-admin&utm_medium=plugin-description&utm_campaign=1.0" rel="nofollow">Need some help?</a>
|
6 |
+
* Version: 2.1-alpha
|
7 |
* Author: Automattic
|
8 |
* Author URI: http://vaultpress.com/?utm_source=author-uri&utm_medium=plugin-description&utm_campaign=1.0
|
9 |
* License: GPL2+
|
17 |
defined( 'ABSPATH' ) || die();
|
18 |
|
19 |
define( 'VAULTPRESS__MINIMUM_PHP_VERSION', '5.3.2' );
|
20 |
+
define( 'VAULTPRESS__VERSION', '2.1-alpha' );
|
21 |
define( 'VAULTPRESS__PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
|
22 |
|
23 |
/**
|
486 |
return $this->_server_url;
|
487 |
}
|
488 |
|
489 |
+
/**
|
490 |
+
* Show message if plugin is activated but not connected to VaultPress.
|
491 |
+
*/
|
492 |
function connect_notice() {
|
493 |
+
$screen = get_current_screen();
|
494 |
+
|
495 |
+
/**
|
496 |
+
* Do not display any error message if we don't have any info about the page.
|
497 |
+
*/
|
498 |
+
if ( is_null( $screen ) ) {
|
499 |
return;
|
500 |
+
}
|
501 |
|
502 |
+
/**
|
503 |
+
* Only display errors on specific pages:
|
504 |
+
* - the main dashboard.
|
505 |
+
* - the Jetpack dashboard.
|
506 |
+
* - the plugins screen.
|
507 |
+
*/
|
508 |
+
|
509 |
+
if (
|
510 |
+
in_array(
|
511 |
+
$screen->id,
|
512 |
+
array(
|
513 |
+
'dashboard',
|
514 |
+
'toplevel_page_jetpack',
|
515 |
+
'plugins',
|
516 |
+
),
|
517 |
+
true
|
518 |
+
)
|
519 |
+
) {
|
520 |
+
$message = sprintf(
|
521 |
+
wp_kses(
|
522 |
+
/* translators: URLs to VaultPress' dashboard page. */
|
523 |
+
__( 'To back up and secure your site, enter your registration key. <a href="%1$s">Register VaultPress or purchase a plan.</a>', 'vaultpress' ),
|
524 |
+
array(
|
525 |
+
'a' => array(
|
526 |
+
'href' => array(),
|
527 |
+
),
|
528 |
+
)
|
529 |
+
),
|
530 |
+
admin_url( 'admin.php?page=vaultpress' )
|
531 |
+
);
|
532 |
+
$this->ui_message( $message, 'notice', __( 'VaultPress needs your attention!', 'vaultpress' ) );
|
533 |
+
}
|
534 |
}
|
535 |
|
536 |
+
// show message after activation
|
537 |
function activated_notice() {
|
538 |
if ( 'network' == $this->get_option( 'activated' ) ) {
|
539 |
$message = sprintf(
|
551 |
$this->delete_option( 'activated' );
|
552 |
}
|
553 |
|
554 |
+
/**
|
555 |
+
* Display an error notice when something is wrong with our VaultPress installation.
|
556 |
+
*/
|
557 |
+
public function error_notice() {
|
558 |
$error_message = $this->get_option( 'connection_error_message' );
|
559 |
|
560 |
+
// link to the VaultPress page if we're not already there.
|
561 |
+
if (
|
562 |
+
! isset( $_GET['page'] )
|
563 |
+
|| 'vaultpress' != $_GET['page']
|
564 |
+
) {
|
565 |
+
$error_message .= sprintf(
|
566 |
+
' <a href="%s">%s</a>',
|
567 |
+
admin_url( 'admin.php?page=vaultpress' ),
|
568 |
+
esc_html__( 'Visit the VaultPress page', 'vaultpress' )
|
569 |
+
);
|
570 |
}
|
571 |
|
572 |
$screen = get_current_screen();
|
573 |
+
|
574 |
+
/*
|
575 |
+
* Do not display any error message if we don't have a message,
|
576 |
+
* or have no info about the page.
|
577 |
+
*/
|
578 |
+
if ( is_null( $screen ) || empty( $error_message ) ) {
|
579 |
+
return;
|
580 |
+
}
|
581 |
+
|
582 |
+
/*
|
583 |
+
* Only display errors on specific pages:
|
584 |
+
* - the main dashboard.
|
585 |
+
* - the VaultPress and Jetpack dashboards.
|
586 |
+
* - the plugins screen.
|
587 |
+
*/
|
588 |
+
if (
|
589 |
+
in_array(
|
590 |
+
$screen->id,
|
591 |
+
array(
|
592 |
+
'dashboard',
|
593 |
+
'toplevel_page_jetpack',
|
594 |
+
'jetpack_page_vaultpress',
|
595 |
+
'toplevel_page_vaultpress',
|
596 |
+
'plugins',
|
597 |
+
),
|
598 |
+
true
|
599 |
+
)
|
600 |
+
) {
|
601 |
$this->ui_message( $error_message, 'error' );
|
602 |
}
|
603 |
}
|
642 |
if ( $this->is_localhost() ) {
|
643 |
$this->update_option( 'connection', time() );
|
644 |
$this->update_option( 'connection_error_code', 'error_localhost' );
|
645 |
+
$this->update_option(
|
646 |
+
'connection_error_message',
|
647 |
+
esc_html__( 'Hostnames such as localhost or 127.0.0.1 can not be reached by vaultpress.com and will not work with the service. Sites must be publicly accessible in order to work with VaultPress.', 'vaultpress' )
|
648 |
+
);
|
649 |
$this->error_notice();
|
650 |
return array( 'ui' => ob_get_clean(), 'dashboard_link' => false );
|
651 |
}
|
657 |
|
658 |
if ( ! $this->is_registered() ) {
|
659 |
$this->ui_register();
|
660 |
+
return array( 'ui' => ob_get_clean(), 'dashboard_link' => false );
|
661 |
}
|
662 |
|
663 |
$status = $this->contact_service( 'status' );
|
789 |
<img src="<?php echo esc_url( plugins_url( 'images/security.svg', __FILE__ ) ); ?>" alt="VaultPress">
|
790 |
<h2><?php _e( 'The VaultPress plugin requires a subscription.', 'vaultpress' ); ?></h2>
|
791 |
<p><?php _e( 'Get realtime backups, automated security scanning, and support from WordPress experts.', 'vaultpress' ); ?></p>
|
792 |
+
<a class="dops-button is-primary" href="https://vaultpress.com/plans/?utm_source=plugin-unregistered&utm_medium=view-plans-and-pricing&utm_campaign=1.0-plugin" target="_blank" rel="noopener noreferrer"><?php _e( 'View plans and pricing', 'vaultpress' ); ?></a>
|
793 |
</div>
|
794 |
</div>
|
795 |
|
990 |
function ui_delete_vp_settings_button() {
|
991 |
?>
|
992 |
<div class="dops-card dops-section-header is-compact">
|
993 |
+
<?php _e( 'Reset settings', 'vaultpress' ); ?>
|
994 |
</div>
|
995 |
<?php
|
996 |
if ( isset( $_GET['delete-vp-settings'] ) && 1 == (int) $_GET['delete-vp-settings'] ) {
|
997 |
?>
|
998 |
<div class="dops-card">
|
999 |
+
<p><?php esc_html_e( 'All VaultPress settings have been deleted.', 'vaultpress' ); ?></p>
|
1000 |
</div>
|
1001 |
<?php
|
1002 |
} else {
|
1003 |
?>
|
1004 |
<div class="dops-card">
|
1005 |
+
<p><?php esc_html_e( 'Click this button to reset all VaultPress options in the database. You can try this if VaultPress is reporting a connection error.', 'vaultpress' ); ?></p>
|
1006 |
+
<p><strong>
|
1007 |
+
<?php
|
1008 |
+
printf(
|
1009 |
+
wp_kses(
|
1010 |
+
/* translators: URLs to VaultPress dashboard. */
|
1011 |
+
__( 'Warning: this button will unregister VaultPress and disconnect it from your site. If you intend on registering the plugin again, you can find your registration key <a href="%1$s" target="_blank" rel="noopener noreferrer">here</a>.', 'vaultpress' ),
|
1012 |
+
array(
|
1013 |
+
'a' => array(
|
1014 |
+
'href' => array(),
|
1015 |
+
'target' => array(),
|
1016 |
+
'rel' => array(),
|
1017 |
+
),
|
1018 |
+
)
|
1019 |
+
),
|
1020 |
+
'https://dashboard.vaultpress.com/account/'
|
1021 |
+
);
|
1022 |
+
?>
|
1023 |
+
</strong></p>
|
1024 |
<form
|
1025 |
onsubmit="return confirm( '<?php esc_html_e( 'Do you really want to reset all options?', 'vaultpress' ) ?>' );"
|
1026 |
method="post"
|
2990 |
}
|
2991 |
|
2992 |
function get_jetpack_email() {
|
2993 |
+
if ( ! class_exists( 'Jetpack' ) ) {
|
2994 |
return false;
|
2995 |
+
}
|
2996 |
+
|
2997 |
+
// For version of Jetpack prior to 7.7.
|
2998 |
+
if ( ! class_exists( 'Jetpack_IXR_Client' ) ) {
|
2999 |
+
Jetpack::load_xml_rpc_client();
|
3000 |
+
}
|
3001 |
+
|
3002 |
$xml = new Jetpack_IXR_Client( array( 'user_id' => get_current_user_id() ) );
|
3003 |
$xml->query( 'wpcom.getUserEmail' );
|
3004 |
if ( ! $xml->isError() ) {
|
3009 |
}
|
3010 |
|
3011 |
function get_key_via_jetpack( $already_purchased = false ) {
|
3012 |
+
if ( ! class_exists( 'Jetpack' ) ) {
|
3013 |
return false;
|
3014 |
+
}
|
3015 |
+
|
3016 |
+
// For version of Jetpack prior to 7.7.
|
3017 |
+
if ( ! class_exists( 'Jetpack_IXR_Client' ) ) {
|
3018 |
+
Jetpack::load_xml_rpc_client();
|
3019 |
+
}
|
3020 |
|
|
|
3021 |
$xml = new Jetpack_IXR_Client( array( 'user_id' => Jetpack_Options::get_option( 'master_user' ) ) );
|
3022 |
$xml->query( 'vaultpress.registerSite', $already_purchased );
|
3023 |
if ( ! $xml->isError() ) {
|
vendor/autoload.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInit6a889b0d1e7a822a20f4685b7159c315::getLoader();
|
vendor/autoload_packages.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* From your plugin include this file with:
|
6 |
* require_once . plugin_dir_path( __FILE__ ) . '/vendor/autoload_packages.php';
|
7 |
*
|
8 |
-
* @package
|
9 |
*/
|
10 |
|
11 |
// phpcs:disable PHPCompatibility.LanguageConstructs.NewLanguageConstructs.t_ns_separatorFound
|
@@ -81,8 +81,10 @@ if ( ! function_exists( __NAMESPACE__ . '\autoloader' ) ) {
|
|
81 |
'Automattic\Jetpack\Connection\Manager',
|
82 |
'Automattic\Jetpack\Connection\Manager_Interface',
|
83 |
'Automattic\Jetpack\Connection\XMLRPC_Connector',
|
|
|
84 |
'Jetpack_Options',
|
85 |
'Jetpack_Signature',
|
|
|
86 |
'Automattic\Jetpack\Sync\Main',
|
87 |
'Automattic\Jetpack\Constants',
|
88 |
'Automattic\Jetpack\Tracking',
|
@@ -120,10 +122,23 @@ if ( ! function_exists( __NAMESPACE__ . '\autoloader' ) ) {
|
|
120 |
/**
|
121 |
* Prepare all the classes for autoloading.
|
122 |
*/
|
123 |
-
function
|
124 |
$class_map = require_once dirname( __FILE__ ) . '/composer/autoload_classmap_package.php';
|
125 |
foreach ( $class_map as $class_name => $class_info ) {
|
126 |
enqueue_package_class( $class_name, $class_info['version'], $class_info['path'] );
|
127 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
128 |
}
|
129 |
-
|
5 |
* From your plugin include this file with:
|
6 |
* require_once . plugin_dir_path( __FILE__ ) . '/vendor/autoload_packages.php';
|
7 |
*
|
8 |
+
* @package automattic/jetpack-autoloader
|
9 |
*/
|
10 |
|
11 |
// phpcs:disable PHPCompatibility.LanguageConstructs.NewLanguageConstructs.t_ns_separatorFound
|
81 |
'Automattic\Jetpack\Connection\Manager',
|
82 |
'Automattic\Jetpack\Connection\Manager_Interface',
|
83 |
'Automattic\Jetpack\Connection\XMLRPC_Connector',
|
84 |
+
'Jetpack_IXR_Client',
|
85 |
'Jetpack_Options',
|
86 |
'Jetpack_Signature',
|
87 |
+
'Jetpack_XMLRPC_Server',
|
88 |
'Automattic\Jetpack\Sync\Main',
|
89 |
'Automattic\Jetpack\Constants',
|
90 |
'Automattic\Jetpack\Tracking',
|
122 |
/**
|
123 |
* Prepare all the classes for autoloading.
|
124 |
*/
|
125 |
+
function enqueue_packages_d3b39f89e9a602536d67dd2f15b2fcf3() {
|
126 |
$class_map = require_once dirname( __FILE__ ) . '/composer/autoload_classmap_package.php';
|
127 |
foreach ( $class_map as $class_name => $class_info ) {
|
128 |
enqueue_package_class( $class_name, $class_info['version'], $class_info['path'] );
|
129 |
}
|
130 |
+
|
131 |
+
$autoload_file = __DIR__ . '/composer/autoload_files.php';
|
132 |
+
$includeFiles = file_exists( $autoload_file )
|
133 |
+
? require $autoload_file
|
134 |
+
: [];
|
135 |
+
|
136 |
+
foreach ( $includeFiles as $fileIdentifier => $file ) {
|
137 |
+
if ( empty( $GLOBALS['__composer_autoload_files'][ $fileIdentifier ] ) ) {
|
138 |
+
require $file;
|
139 |
+
|
140 |
+
$GLOBALS['__composer_autoload_files'][ $fileIdentifier ] = true;
|
141 |
+
}
|
142 |
+
}
|
143 |
}
|
144 |
+
enqueue_packages_d3b39f89e9a602536d67dd2f15b2fcf3();
|
vendor/automattic/jetpack-autoloader/src/AutoloadGenerator.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Autoloader Generator.
|
4 |
*
|
5 |
-
* @package
|
6 |
*/
|
7 |
|
8 |
// phpcs:disable PHPCompatibility.Keywords.NewKeywords.t_useFound
|
@@ -139,8 +139,8 @@ class AutoloadGenerator extends BaseGenerator {
|
|
139 |
foreach ( $autoload['classmap'] as $paths ) {
|
140 |
$paths = is_array( $paths ) ? $paths : array( $paths );
|
141 |
foreach ( $paths as $path ) {
|
142 |
-
$relativePath
|
143 |
-
$autoloads[]
|
144 |
'path' => $relativePath,
|
145 |
'version' => $package->getVersion(), // Version of the class comes from the package - should we try to parse it?
|
146 |
);
|
@@ -174,12 +174,13 @@ class AutoloadGenerator extends BaseGenerator {
|
|
174 |
// Scan the PSR-4 and classmap directories for class files, and add them to the class map.
|
175 |
foreach ( $autoloads['psr-4'] as $namespace => $packages_info ) {
|
176 |
foreach ( $packages_info as $package ) {
|
177 |
-
$dir
|
178 |
$filesystem->isAbsolutePath( $package['path'] )
|
179 |
? $package['path']
|
180 |
: $basePath . '/' . $package['path']
|
181 |
);
|
182 |
-
$
|
|
|
183 |
|
184 |
foreach ( $map as $class => $path ) {
|
185 |
$classCode = var_export( $class, true );
|
@@ -262,6 +263,19 @@ function enqueue_packages_$suffix() {
|
|
262 |
foreach ( \$class_map as \$class_name => \$class_info ) {
|
263 |
enqueue_package_class( \$class_name, \$class_info['version'], \$class_info['path'] );
|
264 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
265 |
}
|
266 |
enqueue_packages_$suffix();
|
267 |
|
2 |
/**
|
3 |
* Autoloader Generator.
|
4 |
*
|
5 |
+
* @package automattic/jetpack-autoloader
|
6 |
*/
|
7 |
|
8 |
// phpcs:disable PHPCompatibility.Keywords.NewKeywords.t_useFound
|
139 |
foreach ( $autoload['classmap'] as $paths ) {
|
140 |
$paths = is_array( $paths ) ? $paths : array( $paths );
|
141 |
foreach ( $paths as $path ) {
|
142 |
+
$relativePath = empty( $installPath ) ? ( empty( $path ) ? '.' : $path ) : $installPath . '/' . $path;
|
143 |
+
$autoloads[] = array(
|
144 |
'path' => $relativePath,
|
145 |
'version' => $package->getVersion(), // Version of the class comes from the package - should we try to parse it?
|
146 |
);
|
174 |
// Scan the PSR-4 and classmap directories for class files, and add them to the class map.
|
175 |
foreach ( $autoloads['psr-4'] as $namespace => $packages_info ) {
|
176 |
foreach ( $packages_info as $package ) {
|
177 |
+
$dir = $filesystem->normalizePath(
|
178 |
$filesystem->isAbsolutePath( $package['path'] )
|
179 |
? $package['path']
|
180 |
: $basePath . '/' . $package['path']
|
181 |
);
|
182 |
+
$namespace = empty( $namespace ) ? null : $namespace;
|
183 |
+
$map = ClassMapGenerator::createMap( $dir, $blacklist, $this->io, $namespace );
|
184 |
|
185 |
foreach ( $map as $class => $path ) {
|
186 |
$classCode = var_export( $class, true );
|
263 |
foreach ( \$class_map as \$class_name => \$class_info ) {
|
264 |
enqueue_package_class( \$class_name, \$class_info['version'], \$class_info['path'] );
|
265 |
}
|
266 |
+
|
267 |
+
\$autoload_file = __DIR__ . '/composer/autoload_files.php';
|
268 |
+
\$includeFiles = file_exists( \$autoload_file )
|
269 |
+
? require \$autoload_file
|
270 |
+
: [];
|
271 |
+
|
272 |
+
foreach ( \$includeFiles as \$fileIdentifier => \$file ) {
|
273 |
+
if ( empty( \$GLOBALS['__composer_autoload_files'][ \$fileIdentifier ] ) ) {
|
274 |
+
require \$file;
|
275 |
+
|
276 |
+
\$GLOBALS['__composer_autoload_files'][ \$fileIdentifier ] = true;
|
277 |
+
}
|
278 |
+
}
|
279 |
}
|
280 |
enqueue_packages_$suffix();
|
281 |
|
vendor/automattic/jetpack-autoloader/src/CustomAutoloaderPlugin.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Custom Autoloader Composer Plugin, hooks into composer events to generate the custom autoloader.
|
4 |
*
|
5 |
-
* @package
|
6 |
*/
|
7 |
|
8 |
// phpcs:disable PHPCompatibility.Keywords.NewKeywords.t_useFound
|
@@ -24,7 +24,7 @@ use Composer\EventDispatcher\EventSubscriberInterface;
|
|
24 |
/**
|
25 |
* Class CustomAutoloaderPlugin.
|
26 |
*
|
27 |
-
* @package
|
28 |
*/
|
29 |
class CustomAutoloaderPlugin implements PluginInterface, EventSubscriberInterface {
|
30 |
|
2 |
/**
|
3 |
* Custom Autoloader Composer Plugin, hooks into composer events to generate the custom autoloader.
|
4 |
*
|
5 |
+
* @package automattic/jetpack-autoloader
|
6 |
*/
|
7 |
|
8 |
// phpcs:disable PHPCompatibility.Keywords.NewKeywords.t_useFound
|
24 |
/**
|
25 |
* Class CustomAutoloaderPlugin.
|
26 |
*
|
27 |
+
* @package automattic/jetpack-autoloader
|
28 |
*/
|
29 |
class CustomAutoloaderPlugin implements PluginInterface, EventSubscriberInterface {
|
30 |
|
vendor/automattic/jetpack-autoloader/src/autoload.php
CHANGED
@@ -5,7 +5,7 @@
|
|
5 |
* From your plugin include this file with:
|
6 |
* require_once . plugin_dir_path( __FILE__ ) . '/vendor/autoload_packages.php';
|
7 |
*
|
8 |
-
* @package
|
9 |
*/
|
10 |
|
11 |
// phpcs:disable PHPCompatibility.LanguageConstructs.NewLanguageConstructs.t_ns_separatorFound
|
@@ -81,8 +81,10 @@ if ( ! function_exists( __NAMESPACE__ . '\autoloader' ) ) {
|
|
81 |
'Automattic\Jetpack\Connection\Manager',
|
82 |
'Automattic\Jetpack\Connection\Manager_Interface',
|
83 |
'Automattic\Jetpack\Connection\XMLRPC_Connector',
|
|
|
84 |
'Jetpack_Options',
|
85 |
'Jetpack_Signature',
|
|
|
86 |
'Automattic\Jetpack\Sync\Main',
|
87 |
'Automattic\Jetpack\Constants',
|
88 |
'Automattic\Jetpack\Tracking',
|
5 |
* From your plugin include this file with:
|
6 |
* require_once . plugin_dir_path( __FILE__ ) . '/vendor/autoload_packages.php';
|
7 |
*
|
8 |
+
* @package automattic/jetpack-autoloader
|
9 |
*/
|
10 |
|
11 |
// phpcs:disable PHPCompatibility.LanguageConstructs.NewLanguageConstructs.t_ns_separatorFound
|
81 |
'Automattic\Jetpack\Connection\Manager',
|
82 |
'Automattic\Jetpack\Connection\Manager_Interface',
|
83 |
'Automattic\Jetpack\Connection\XMLRPC_Connector',
|
84 |
+
'Jetpack_IXR_Client',
|
85 |
'Jetpack_Options',
|
86 |
'Jetpack_Signature',
|
87 |
+
'Jetpack_XMLRPC_Server',
|
88 |
'Automattic\Jetpack\Sync\Main',
|
89 |
'Automattic\Jetpack\Constants',
|
90 |
'Automattic\Jetpack\Tracking',
|
vendor/automattic/jetpack-logo/composer.json
CHANGED
@@ -9,9 +9,9 @@
|
|
9 |
"php-mock/php-mock": "^2.1"
|
10 |
},
|
11 |
"autoload": {
|
12 |
-
"
|
13 |
-
"
|
14 |
-
|
15 |
},
|
16 |
"scripts": {
|
17 |
"phpunit": [
|
9 |
"php-mock/php-mock": "^2.1"
|
10 |
},
|
11 |
"autoload": {
|
12 |
+
"classmap": [
|
13 |
+
"src/"
|
14 |
+
]
|
15 |
},
|
16 |
"scripts": {
|
17 |
"phpunit": [
|
vendor/automattic/jetpack-logo/phpunit.xml.dist
DELETED
@@ -1,7 +0,0 @@
|
|
1 |
-
<phpunit bootstrap="tests/php/bootstrap.php" backupGlobals="false" colors="true">
|
2 |
-
<testsuites>
|
3 |
-
<testsuite name="main">
|
4 |
-
<directory prefix="test" suffix=".php">tests/php</directory>
|
5 |
-
</testsuite>
|
6 |
-
</testsuites>
|
7 |
-
</phpunit>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/automattic/jetpack-logo/src/{Logo.php → class-logo.php}
RENAMED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* A logo for Jetpack.
|
4 |
*
|
5 |
-
* @package jetpack-logo
|
6 |
*/
|
7 |
|
8 |
namespace Automattic\Jetpack\Assets;
|
2 |
/**
|
3 |
* A logo for Jetpack.
|
4 |
*
|
5 |
+
* @package automattic/jetpack-logo
|
6 |
*/
|
7 |
|
8 |
namespace Automattic\Jetpack\Assets;
|
vendor/automattic/jetpack-logo/tests/php/bootstrap.php
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
require_once __DIR__ . '/../../vendor/autoload.php';
|
|
|
|
|
|
vendor/automattic/jetpack-logo/tests/php/test_Logo.php
DELETED
@@ -1,22 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
use Automattic\Jetpack\Assets\Logo;
|
4 |
-
|
5 |
-
use PHPUnit\Framework\TestCase;
|
6 |
-
|
7 |
-
class Test_Logo extends TestCase {
|
8 |
-
|
9 |
-
/**
|
10 |
-
* Ensure the rendered logo has all the CSS classes needed for styling.
|
11 |
-
*/
|
12 |
-
function test_constructor_default_logo() {
|
13 |
-
$logo = new Logo();
|
14 |
-
$logo_render = $logo->render();
|
15 |
-
$this->assertContains( '<svg xmlns="http://www.w3.org/2000/svg"', $logo_render );
|
16 |
-
$this->assertContains( 'class="jetpack-logo"', $logo_render );
|
17 |
-
$this->assertContains( 'class="jetpack-logo__icon-circle"', $logo_render );
|
18 |
-
$this->assertEquals( 2, preg_match_all( '/class="jetpack-logo__icon-triangle"/', $logo_render ) );
|
19 |
-
$this->assertContains( 'class="jetpack-logo__text"', $logo_render );
|
20 |
-
}
|
21 |
-
|
22 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vendor/composer/autoload_classmap.php
CHANGED
@@ -6,4 +6,5 @@ $vendorDir = dirname(dirname(__FILE__));
|
|
6 |
$baseDir = dirname($vendorDir);
|
7 |
|
8 |
return array(
|
|
|
9 |
);
|
6 |
$baseDir = dirname($vendorDir);
|
7 |
|
8 |
return array(
|
9 |
+
'Automattic\\Jetpack\\Assets\\Logo' => $vendorDir . '/automattic/jetpack-logo/src/class-logo.php',
|
10 |
);
|
vendor/composer/autoload_classmap_package.php
CHANGED
@@ -43,16 +43,16 @@ return array(
|
|
43 |
'path' => $vendorDir . '/automattic/jetpack-standards/PostInstall.php'
|
44 |
),
|
45 |
'Automattic\\Jetpack\\Autoloader\\AutoloadGenerator' => array(
|
46 |
-
'version' => '1.
|
47 |
'path' => $vendorDir . '/automattic/jetpack-autoloader/src/AutoloadGenerator.php'
|
48 |
),
|
49 |
'Automattic\\Jetpack\\Autoloader\\CustomAutoloaderPlugin' => array(
|
50 |
-
'version' => '1.
|
51 |
'path' => $vendorDir . '/automattic/jetpack-autoloader/src/CustomAutoloaderPlugin.php'
|
52 |
),
|
53 |
'Automattic\\Jetpack\\Assets\\Logo' => array(
|
54 |
-
'version' => '1.1.
|
55 |
-
'path' => $vendorDir . '/automattic/jetpack-logo/src/
|
56 |
),
|
57 |
);
|
58 |
|
43 |
'path' => $vendorDir . '/automattic/jetpack-standards/PostInstall.php'
|
44 |
),
|
45 |
'Automattic\\Jetpack\\Autoloader\\AutoloadGenerator' => array(
|
46 |
+
'version' => '1.3.5.0',
|
47 |
'path' => $vendorDir . '/automattic/jetpack-autoloader/src/AutoloadGenerator.php'
|
48 |
),
|
49 |
'Automattic\\Jetpack\\Autoloader\\CustomAutoloaderPlugin' => array(
|
50 |
+
'version' => '1.3.5.0',
|
51 |
'path' => $vendorDir . '/automattic/jetpack-autoloader/src/CustomAutoloaderPlugin.php'
|
52 |
),
|
53 |
'Automattic\\Jetpack\\Assets\\Logo' => array(
|
54 |
+
'version' => '1.1.4.0',
|
55 |
+
'path' => $vendorDir . '/automattic/jetpack-logo/src/class-logo.php'
|
56 |
),
|
57 |
);
|
58 |
|
vendor/composer/autoload_psr4.php
CHANGED
@@ -10,5 +10,4 @@ return array(
|
|
10 |
'Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\' => array($vendorDir . '/dealerdirect/phpcodesniffer-composer-installer/src'),
|
11 |
'Automattic\\Jetpack\\Standards\\' => array($vendorDir . '/automattic/jetpack-standards'),
|
12 |
'Automattic\\Jetpack\\Autoloader\\' => array($vendorDir . '/automattic/jetpack-autoloader/src'),
|
13 |
-
'Automattic\\Jetpack\\Assets\\' => array($vendorDir . '/automattic/jetpack-logo/src'),
|
14 |
);
|
10 |
'Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\' => array($vendorDir . '/dealerdirect/phpcodesniffer-composer-installer/src'),
|
11 |
'Automattic\\Jetpack\\Standards\\' => array($vendorDir . '/automattic/jetpack-standards'),
|
12 |
'Automattic\\Jetpack\\Autoloader\\' => array($vendorDir . '/automattic/jetpack-autoloader/src'),
|
|
|
13 |
);
|
vendor/composer/autoload_real.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
-
class
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
@@ -19,15 +19,15 @@ class ComposerAutoloaderInit1c78c6262c4d1a476495a63729d12950
|
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
-
spl_autoload_register(array('
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
-
spl_autoload_unregister(array('
|
25 |
|
26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
27 |
if ($useStaticLoader) {
|
28 |
require_once __DIR__ . '/autoload_static.php';
|
29 |
|
30 |
-
call_user_func(\Composer\Autoload\
|
31 |
} else {
|
32 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
33 |
foreach ($map as $namespace => $path) {
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
+
class ComposerAutoloaderInit6a889b0d1e7a822a20f4685b7159c315
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInit6a889b0d1e7a822a20f4685b7159c315', 'loadClassLoader'), true, true);
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit6a889b0d1e7a822a20f4685b7159c315', 'loadClassLoader'));
|
25 |
|
26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
27 |
if ($useStaticLoader) {
|
28 |
require_once __DIR__ . '/autoload_static.php';
|
29 |
|
30 |
+
call_user_func(\Composer\Autoload\ComposerStaticInit6a889b0d1e7a822a20f4685b7159c315::getInitializer($loader));
|
31 |
} else {
|
32 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
33 |
foreach ($map as $namespace => $path) {
|
vendor/composer/autoload_static.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
-
class
|
8 |
{
|
9 |
public static $prefixLengthsPsr4 = array (
|
10 |
'V' =>
|
@@ -19,7 +19,6 @@ class ComposerStaticInit1c78c6262c4d1a476495a63729d12950
|
|
19 |
array (
|
20 |
'Automattic\\Jetpack\\Standards\\' => 29,
|
21 |
'Automattic\\Jetpack\\Autoloader\\' => 30,
|
22 |
-
'Automattic\\Jetpack\\Assets\\' => 26,
|
23 |
),
|
24 |
);
|
25 |
|
@@ -40,17 +39,18 @@ class ComposerStaticInit1c78c6262c4d1a476495a63729d12950
|
|
40 |
array (
|
41 |
0 => __DIR__ . '/..' . '/automattic/jetpack-autoloader/src',
|
42 |
),
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
);
|
48 |
|
49 |
public static function getInitializer(ClassLoader $loader)
|
50 |
{
|
51 |
return \Closure::bind(function () use ($loader) {
|
52 |
-
$loader->prefixLengthsPsr4 =
|
53 |
-
$loader->prefixDirsPsr4 =
|
|
|
54 |
|
55 |
}, null, ClassLoader::class);
|
56 |
}
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
+
class ComposerStaticInit6a889b0d1e7a822a20f4685b7159c315
|
8 |
{
|
9 |
public static $prefixLengthsPsr4 = array (
|
10 |
'V' =>
|
19 |
array (
|
20 |
'Automattic\\Jetpack\\Standards\\' => 29,
|
21 |
'Automattic\\Jetpack\\Autoloader\\' => 30,
|
|
|
22 |
),
|
23 |
);
|
24 |
|
39 |
array (
|
40 |
0 => __DIR__ . '/..' . '/automattic/jetpack-autoloader/src',
|
41 |
),
|
42 |
+
);
|
43 |
+
|
44 |
+
public static $classMap = array (
|
45 |
+
'Automattic\\Jetpack\\Assets\\Logo' => __DIR__ . '/..' . '/automattic/jetpack-logo/src/class-logo.php',
|
46 |
);
|
47 |
|
48 |
public static function getInitializer(ClassLoader $loader)
|
49 |
{
|
50 |
return \Closure::bind(function () use ($loader) {
|
51 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInit6a889b0d1e7a822a20f4685b7159c315::$prefixLengthsPsr4;
|
52 |
+
$loader->prefixDirsPsr4 = ComposerStaticInit6a889b0d1e7a822a20f4685b7159c315::$prefixDirsPsr4;
|
53 |
+
$loader->classMap = ComposerStaticInit6a889b0d1e7a822a20f4685b7159c315::$classMap;
|
54 |
|
55 |
}, null, ClassLoader::class);
|
56 |
}
|
vendor/composer/installed.json
CHANGED
@@ -1,17 +1,17 @@
|
|
1 |
[
|
2 |
{
|
3 |
"name": "automattic/jetpack-autoloader",
|
4 |
-
"version": "v1.
|
5 |
-
"version_normalized": "1.
|
6 |
"source": {
|
7 |
"type": "git",
|
8 |
"url": "https://github.com/Automattic/jetpack-autoloader.git",
|
9 |
-
"reference": "
|
10 |
},
|
11 |
"dist": {
|
12 |
"type": "zip",
|
13 |
-
"url": "https://api.github.com/repos/Automattic/jetpack-autoloader/zipball/
|
14 |
-
"reference": "
|
15 |
"shasum": ""
|
16 |
},
|
17 |
"require": {
|
@@ -20,7 +20,7 @@
|
|
20 |
"require-dev": {
|
21 |
"phpunit/phpunit": "^5.7 || ^6.5 || ^7.5"
|
22 |
},
|
23 |
-
"time": "2019-
|
24 |
"type": "composer-plugin",
|
25 |
"extra": {
|
26 |
"class": "Automattic\\Jetpack\\Autoloader\\CustomAutoloaderPlugin"
|
@@ -39,30 +39,30 @@
|
|
39 |
},
|
40 |
{
|
41 |
"name": "automattic/jetpack-logo",
|
42 |
-
"version": "v1.1.
|
43 |
-
"version_normalized": "1.1.
|
44 |
"source": {
|
45 |
"type": "git",
|
46 |
"url": "https://github.com/Automattic/jetpack-logo.git",
|
47 |
-
"reference": "
|
48 |
},
|
49 |
"dist": {
|
50 |
"type": "zip",
|
51 |
-
"url": "https://api.github.com/repos/Automattic/jetpack-logo/zipball/
|
52 |
-
"reference": "
|
53 |
"shasum": ""
|
54 |
},
|
55 |
"require-dev": {
|
56 |
"php-mock/php-mock": "^2.1",
|
57 |
"phpunit/phpunit": "^5.7 || ^6.5 || ^7.5"
|
58 |
},
|
59 |
-
"time": "2019-
|
60 |
"type": "library",
|
61 |
"installation-source": "dist",
|
62 |
"autoload": {
|
63 |
-
"
|
64 |
-
"
|
65 |
-
|
66 |
},
|
67 |
"notification-url": "https://packagist.org/downloads/",
|
68 |
"license": [
|
@@ -179,17 +179,17 @@
|
|
179 |
},
|
180 |
{
|
181 |
"name": "phpcompatibility/php-compatibility",
|
182 |
-
"version": "9.
|
183 |
-
"version_normalized": "9.
|
184 |
"source": {
|
185 |
"type": "git",
|
186 |
"url": "https://github.com/PHPCompatibility/PHPCompatibility.git",
|
187 |
-
"reference": "
|
188 |
},
|
189 |
"dist": {
|
190 |
"type": "zip",
|
191 |
-
"url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibility/zipball/
|
192 |
-
"reference": "
|
193 |
"shasum": ""
|
194 |
},
|
195 |
"require": {
|
@@ -203,10 +203,10 @@
|
|
203 |
"phpunit/phpunit": "~4.5 || ^5.0 || ^6.0 || ^7.0"
|
204 |
},
|
205 |
"suggest": {
|
206 |
-
"dealerdirect/phpcodesniffer-composer-installer": "^0.
|
207 |
"roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues."
|
208 |
},
|
209 |
-
"time": "
|
210 |
"type": "phpcodesniffer-standard",
|
211 |
"installation-source": "dist",
|
212 |
"notification-url": "https://packagist.org/downloads/",
|
1 |
[
|
2 |
{
|
3 |
"name": "automattic/jetpack-autoloader",
|
4 |
+
"version": "v1.3.5",
|
5 |
+
"version_normalized": "1.3.5.0",
|
6 |
"source": {
|
7 |
"type": "git",
|
8 |
"url": "https://github.com/Automattic/jetpack-autoloader.git",
|
9 |
+
"reference": "efa1cec37282cf60efaf57724ae2532c7c21bf94"
|
10 |
},
|
11 |
"dist": {
|
12 |
"type": "zip",
|
13 |
+
"url": "https://api.github.com/repos/Automattic/jetpack-autoloader/zipball/efa1cec37282cf60efaf57724ae2532c7c21bf94",
|
14 |
+
"reference": "efa1cec37282cf60efaf57724ae2532c7c21bf94",
|
15 |
"shasum": ""
|
16 |
},
|
17 |
"require": {
|
20 |
"require-dev": {
|
21 |
"phpunit/phpunit": "^5.7 || ^6.5 || ^7.5"
|
22 |
},
|
23 |
+
"time": "2019-11-25T12:37:57+00:00",
|
24 |
"type": "composer-plugin",
|
25 |
"extra": {
|
26 |
"class": "Automattic\\Jetpack\\Autoloader\\CustomAutoloaderPlugin"
|
39 |
},
|
40 |
{
|
41 |
"name": "automattic/jetpack-logo",
|
42 |
+
"version": "v1.1.4",
|
43 |
+
"version_normalized": "1.1.4.0",
|
44 |
"source": {
|
45 |
"type": "git",
|
46 |
"url": "https://github.com/Automattic/jetpack-logo.git",
|
47 |
+
"reference": "7da178a529f772cddfd0bbf1775eb30a852739c2"
|
48 |
},
|
49 |
"dist": {
|
50 |
"type": "zip",
|
51 |
+
"url": "https://api.github.com/repos/Automattic/jetpack-logo/zipball/7da178a529f772cddfd0bbf1775eb30a852739c2",
|
52 |
+
"reference": "7da178a529f772cddfd0bbf1775eb30a852739c2",
|
53 |
"shasum": ""
|
54 |
},
|
55 |
"require-dev": {
|
56 |
"php-mock/php-mock": "^2.1",
|
57 |
"phpunit/phpunit": "^5.7 || ^6.5 || ^7.5"
|
58 |
},
|
59 |
+
"time": "2019-11-08T21:16:05+00:00",
|
60 |
"type": "library",
|
61 |
"installation-source": "dist",
|
62 |
"autoload": {
|
63 |
+
"classmap": [
|
64 |
+
"src/"
|
65 |
+
]
|
66 |
},
|
67 |
"notification-url": "https://packagist.org/downloads/",
|
68 |
"license": [
|
179 |
},
|
180 |
{
|
181 |
"name": "phpcompatibility/php-compatibility",
|
182 |
+
"version": "9.1.1",
|
183 |
+
"version_normalized": "9.1.1.0",
|
184 |
"source": {
|
185 |
"type": "git",
|
186 |
"url": "https://github.com/PHPCompatibility/PHPCompatibility.git",
|
187 |
+
"reference": "2b63c5d284ab8857f7b1d5c240ddb507a6b2293c"
|
188 |
},
|
189 |
"dist": {
|
190 |
"type": "zip",
|
191 |
+
"url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibility/zipball/2b63c5d284ab8857f7b1d5c240ddb507a6b2293c",
|
192 |
+
"reference": "2b63c5d284ab8857f7b1d5c240ddb507a6b2293c",
|
193 |
"shasum": ""
|
194 |
},
|
195 |
"require": {
|
203 |
"phpunit/phpunit": "~4.5 || ^5.0 || ^6.0 || ^7.0"
|
204 |
},
|
205 |
"suggest": {
|
206 |
+
"dealerdirect/phpcodesniffer-composer-installer": "^0.4.3 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically.",
|
207 |
"roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues."
|
208 |
},
|
209 |
+
"time": "2018-12-30T23:16:27+00:00",
|
210 |
"type": "phpcodesniffer-standard",
|
211 |
"installation-source": "dist",
|
212 |
"notification-url": "https://packagist.org/downloads/",
|