VaultPress - Version 2.1-alpha

Version Description

Download this release

Release Info

Developer briancolinger
Plugin Icon 128x128 VaultPress
Version 2.1-alpha
Comparing to
See all releases

Code changes from version 2.0.1 to 2.1-alpha

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
- // Protect add_meta, update_meta used by the XML-RPC API
26
- add_filter( 'wp_xmlrpc_server_class', create_function( '$class', 'return \'VaultPress_XMLRPC_Server_r17994\';' ) );
 
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.0"
12
  },
13
  "require-dev": {
14
  "automattic/jetpack-standards": "master-dev",
15
- "automattic/jetpack-autoloader": "1.2.0"
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.2
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.0.1 =
53
 
54
- * Release date: July 12, 2019
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: VaultPress now requires PHP 5.3.2, and will display a notice if your site uses an older version of PHP.
71
-
72
-
73
- = 1.9.10 =
74
-
75
- * Release date: April 4, 2019
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&amp;utm_medium=plugin-description&amp;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&amp;utm_medium=plugin-description&amp;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&amp;utm_medium=plugin-description&amp;utm_campaign=1.0" rel="nofollow">Need some help?</a>
6
- * Version: 2.0.1
7
  * Author: Automattic
8
  * Author URI: http://vaultpress.com/?utm_source=author-uri&amp;utm_medium=plugin-description&amp;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.0.1' );
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
- // show message if plugin is activated but not connected to VaultPress
 
 
490
  function connect_notice() {
491
- if ( isset( $_GET['page'] ) && 'vaultpress' == $_GET['page'] )
 
 
 
 
 
492
  return;
 
493
 
494
- $message = sprintf(
495
- __( 'You must enter your registration key before VaultPress can back up and secure your site. <a href="%1$s">Register&nbsp;VaultPress</a>', 'vaultpress' ),
496
- admin_url( 'admin.php?page=vaultpress' )
497
- );
498
- $this->ui_message( $message, 'notice', __( 'VaultPress needs your attention!', 'vaultpress' ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
499
  }
500
 
501
- // show message after activation
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
- function error_notice() {
 
 
 
520
  $error_message = $this->get_option( 'connection_error_message' );
521
 
522
- // link to the VaultPress page if we're not already there
523
- if ( !isset( $_GET['page'] ) || 'vaultpress' != $_GET['page'] ) {
524
- $error_message .= ' ' . sprintf( '<a href="%s">%s</a>', admin_url( 'admin.php?page=vaultpress' ), __( 'Visit&nbsp;the&nbsp;VaultPress&nbsp;page' , 'vaultpress') );
 
 
 
 
 
 
 
525
  }
526
 
527
  $screen = get_current_screen();
528
- if ( !in_array( $screen->id, array( 'about', 'about-user', 'about-network' ) ) && !empty( $error_message ) ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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( 'connection_error_message', '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.' );
 
 
 
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' => true );
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&nbsp;experts.', 'vaultpress' ); ?></p>
717
- <a class="dops-button is-primary" href="https://vaultpress.com/plugin/?utm_source=plugin-unregistered&amp;utm_medium=view-plans-and-pricing&amp;utm_campaign=1.0-plugin" target="_blank" rel="noopener noreferrer"><?php _e( 'View plans and pricing', 'vaultpress' ); ?></a>
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( 'Settings reset', 'vaultpress' ); ?>
919
  </div>
920
  <?php
921
  if ( isset( $_GET['delete-vp-settings'] ) && 1 == (int) $_GET['delete-vp-settings'] ) {
922
  ?>
923
  <div class="dops-card">
924
- <p><?php _e( 'All VaultPress settings have been deleted.', 'vaultpress' ); ?></p>
925
  </div>
926
  <?php
927
  } else {
928
  ?>
929
  <div class="dops-card">
930
- <p><?php _e( 'Click this button to reset all VaultPress options in the database.', 'vaultpress' ); ?></p>
931
- <p><strong><?php esc_html_e( 'Warning: this process is irreversible.', 'vaultpress' ) ?></strong></p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
- Jetpack::load_xml_rpc_client();
 
 
 
 
 
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&amp;utm_medium=plugin-description&amp;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&amp;utm_medium=plugin-description&amp;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&amp;utm_medium=plugin-description&amp;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&amp;utm_medium=plugin-description&amp;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&nbsp;experts.', 'vaultpress' ); ?></p>
792
+ <a class="dops-button is-primary" href="https://vaultpress.com/plans/?utm_source=plugin-unregistered&amp;utm_medium=view-plans-and-pricing&amp;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 ComposerAutoloaderInit1c78c6262c4d1a476495a63729d12950::getLoader();
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 Automattic\Jetpack\Autoloader
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 enqueue_packages_64aab6881503fadc5588f7415d499df6() {
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
- enqueue_packages_64aab6881503fadc5588f7415d499df6();
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 Automattic\Jetpack\Autoloader
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 = 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,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 = $filesystem->normalizePath(
178
  $filesystem->isAbsolutePath( $package['path'] )
179
  ? $package['path']
180
  : $basePath . '/' . $package['path']
181
  );
182
- $map = ClassMapGenerator::createMap( $dir, $blacklist, $this->io, $namespace );
 
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 Automattic\Jetpack\Autoloader
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 Automattic\Jetpack\Autoloader
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 Automattic\Jetpack\Autoloader
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
- "psr-4": {
13
- "Automattic\\Jetpack\\Assets\\": "src/"
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.2.0.0',
47
  'path' => $vendorDir . '/automattic/jetpack-autoloader/src/AutoloadGenerator.php'
48
  ),
49
  'Automattic\\Jetpack\\Autoloader\\CustomAutoloaderPlugin' => array(
50
- 'version' => '1.2.0.0',
51
  'path' => $vendorDir . '/automattic/jetpack-autoloader/src/CustomAutoloaderPlugin.php'
52
  ),
53
  'Automattic\\Jetpack\\Assets\\Logo' => array(
54
- 'version' => '1.1.0.0',
55
- 'path' => $vendorDir . '/automattic/jetpack-logo/src/Logo.php'
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 ComposerAutoloaderInit1c78c6262c4d1a476495a63729d12950
6
  {
7
  private static $loader;
8
 
@@ -19,15 +19,15 @@ class ComposerAutoloaderInit1c78c6262c4d1a476495a63729d12950
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit1c78c6262c4d1a476495a63729d12950', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit1c78c6262c4d1a476495a63729d12950', '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\ComposerStaticInit1c78c6262c4d1a476495a63729d12950::getInitializer($loader));
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 ComposerStaticInit1c78c6262c4d1a476495a63729d12950
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
- 'Automattic\\Jetpack\\Assets\\' =>
44
- array (
45
- 0 => __DIR__ . '/..' . '/automattic/jetpack-logo/src',
46
- ),
47
  );
48
 
49
  public static function getInitializer(ClassLoader $loader)
50
  {
51
  return \Closure::bind(function () use ($loader) {
52
- $loader->prefixLengthsPsr4 = ComposerStaticInit1c78c6262c4d1a476495a63729d12950::$prefixLengthsPsr4;
53
- $loader->prefixDirsPsr4 = ComposerStaticInit1c78c6262c4d1a476495a63729d12950::$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.2.0",
5
- "version_normalized": "1.2.0.0",
6
  "source": {
7
  "type": "git",
8
  "url": "https://github.com/Automattic/jetpack-autoloader.git",
9
- "reference": "4ad9631e68e9da8b8a764615766287becfb27f81"
10
  },
11
  "dist": {
12
  "type": "zip",
13
- "url": "https://api.github.com/repos/Automattic/jetpack-autoloader/zipball/4ad9631e68e9da8b8a764615766287becfb27f81",
14
- "reference": "4ad9631e68e9da8b8a764615766287becfb27f81",
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-06-24T15:13:23+00:00",
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.0",
43
- "version_normalized": "1.1.0.0",
44
  "source": {
45
  "type": "git",
46
  "url": "https://github.com/Automattic/jetpack-logo.git",
47
- "reference": "c02750b6af95d114ba08562a7df74bab98235fef"
48
  },
49
  "dist": {
50
  "type": "zip",
51
- "url": "https://api.github.com/repos/Automattic/jetpack-logo/zipball/c02750b6af95d114ba08562a7df74bab98235fef",
52
- "reference": "c02750b6af95d114ba08562a7df74bab98235fef",
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-06-10T21:57:07+00:00",
60
  "type": "library",
61
  "installation-source": "dist",
62
  "autoload": {
63
- "psr-4": {
64
- "Automattic\\Jetpack\\Assets\\": "src/"
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.2.0",
183
- "version_normalized": "9.2.0.0",
184
  "source": {
185
  "type": "git",
186
  "url": "https://github.com/PHPCompatibility/PHPCompatibility.git",
187
- "reference": "3db1bf1e28123fd574a4ae2e9a84072826d51b5e"
188
  },
189
  "dist": {
190
  "type": "zip",
191
- "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibility/zipball/3db1bf1e28123fd574a4ae2e9a84072826d51b5e",
192
- "reference": "3db1bf1e28123fd574a4ae2e9a84072826d51b5e",
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.5 || 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": "2019-06-27T19:58:56+00:00",
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/",