PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 13.4.2
Jetpack – WP Security, Backup, Speed, & Growth v13.4.2
15.9-a.7 15.9-a.5 15.9-a.3 15.9-a.1 15.8 15.8-beta 15.8-a.7 15.8-a.5 5.2.5 5.3.4 5.4.4 5.5.5 5.6.5 5.7.5 5.8.4 5.9.4 6.0.4 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.3.7 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.4.6 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.8 6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.9 6.9.1 6.9.2 6.9.3 6.9.4 7.0 7.0.1 7.0.2 7.0.3 7.0.4 7.0.5 7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2 7.2.1 7.2.1.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3 7.3.0.1 7.3.1 7.3.1.1 7.3.2 7.3.3 7.3.4 7.3.5 7.4 7.4.1 7.4.2 7.4.3 7.4.4 7.4.5 7.5 7.5.0.1 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.6 7.6.1 7.6.2 7.6.3 7.6.4 7.7 7.7.1 7.7.2 7.7.3 7.7.4 7.7.5 7.7.6 7.8 7.8.1 7.8.2 7.8.3 7.8.4 7.9 7.9.1 7.9.2 7.9.3 7.9.4 8.0 8.0.1 8.0.2 8.0.3 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.2 8.2.0.1 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6 8.3 8.3.1 8.3.2 8.3.3 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.5 8.5.1 8.5.2 8.5.3 8.6 8.6.1 8.6.2 8.6.3 8.6.4 8.7 8.7.0.1 8.7.1 8.7.2 8.7.3 8.7.4 8.8 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.9 8.9.1 8.9.2 8.9.3 8.9.4 9.0 9.0.1 9.0.2 9.0.3 9.0.4 9.0.5 9.1 9.1.1 9.1.2 9.1.3 9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.4 9.4.1 9.4.2 9.4.3 9.4.4 9.5 9.5.1 9.5.2 9.5.3 9.5.4 9.5.5 9.6 9.6.1 9.6.2 9.6.3 9.6.4 9.7 9.7.1 9.7.2 15.7-beta.2 9.7.3 15.7.1 9.8 15.8-a.1 9.8.1 15.8-a.3 9.8.2 2.0.9 9.8.3 2.1.7 9.9 2.2.10 9.9.1 2.3.10 9.9.2 2.4.7 9.9.3 2.5.5 2.6.6 2.7.5 2.8.5 2.9.6 3.0.6 3.1.5 3.2.5 3.3.6 3.4.6 3.5.6 3.6.4 3.7.5 3.8.5 3.9.10 4.0.7 4.1.4 4.2.5 4.3.5 4.4.5 4.5.3 4.6.3 4.7.4 4.8.5 4.9.3 5.0.3 5.1.4 trunk 10.0 10.0.1 10.0.2 10.1 10.1.1 10.1.2 10.2 10.2.1 10.2.2 10.2.3 10.3 10.3.1 10.3.2 10.4 10.4.1 10.4.2 10.5 10.5.1 10.5.2 10.5.3 10.6 10.6.1 10.6.2 10.7 10.7.1 10.7.2 10.8 10.8.1 10.8.2 10.9 10.9.1 10.9.2 10.9.3 11.0 11.0.1 11.0.2 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.2 11.2.1 11.2.2 11.3 11.3.1 11.3.2 11.3.3 11.3.4 11.4 11.4.1 11.4.2 11.5 11.5.1 11.5.2 11.5.3 11.6 11.6.1 11.6.2 11.7 11.7.1 11.7.2 11.7.3 11.8 11.8.3 11.8.4 11.8.5 11.8.6 11.9 11.9.1 11.9.2 11.9.3 12.0 12.0.1 12.0.2 12.1 12.1.1 12.1.2 12.2 12.2.1 12.2.2 12.3 12.3.1 12.4 12.4.1 12.5 12.5.1 12.6 12.6.1 12.6.2 12.6.3 12.7 12.7.1 12.7.2 12.8 12.8.1 12.8.2 12.9 12.9.1 12.9.2 12.9.3 12.9.4 13.0 13.0.1 13.1 13.1.1 13.1.2 13.1.3 13.1.4 13.2 13.2.1 13.2.2 13.2.3 13.3 13.3.1 13.3.2 13.4 13.4.1 13.4.2 13.4.3 13.4.4 13.5 13.5.1 13.6 13.6.1 13.7 13.7.1 13.8 13.8.1 13.8.2 13.9 13.9.1 14.0 14.1 14.2 14.2.1 14.3 14.4 14.4.1 14.5 14.6 14.7 14.8 14.9 14.9.1 15.0 15.0.1 15.0.2 15.1 15.1.1 15.2 15.3 15.3.1 15.4 15.5 15.6 15.7 15.7-a.1 15.7-a.3 15.7-a.5 15.7-a.7 15.7-beta
jetpack / 3rd-party / woocommerce-services.php
jetpack / 3rd-party Last commit date
debug-bar 4 years ago 3rd-party.php 2 years ago amp.php 3 years ago atomic.php 2 years ago bbpress.php 3 years ago beaverbuilder.php 5 years ago bitly.php 3 years ago buddypress.php 5 years ago class-domain-mapping.php 2 years ago class-jetpack-bbpress-rest-api.php 2 years ago class-salesforce-lead-form.php 2 years ago class.jetpack-amp-support.php 2 years ago creative-mail.php 2 years ago debug-bar.php 5 years ago jetpack-backup.php 2 years ago jetpack-boost.php 2 years ago qtranslate-x.php 2 years ago vaultpress.php 2 years ago web-stories.php 5 years ago woocommerce-services.php 2 years ago woocommerce.php 2 years ago wpcom-reader.php 2 years ago wpml.php 5 years ago
woocommerce-services.php
152 lines
1 <?php // phpcs:ignore WordPress.Files.FileName.InvalidClassFileName
2
3 use Automattic\Jetpack\Plugins_Installer;
4
5 if ( ! defined( 'ABSPATH' ) ) {
6 exit;
7 }
8
9 /**
10 * Installs and activates the WooCommerce Services plugin.
11 */
12 class WC_Services_Installer {
13
14 /**
15 * The instance of the Jetpack class.
16 *
17 * @var Jetpack
18 */
19 private $jetpack;
20
21 /**
22 * The singleton instance of this class.
23 *
24 * @var WC_Services_Installer
25 */
26 private static $instance = null;
27
28 /**
29 * Returns the singleton instance of this class.
30 *
31 * @return object The WC_Services_Installer object.
32 */
33 public static function init() {
34 if ( self::$instance === null ) {
35 self::$instance = new WC_Services_Installer();
36 }
37 return self::$instance;
38 }
39
40 /**
41 * Constructor
42 */
43 public function __construct() {
44 add_action( 'jetpack_loaded', array( $this, 'on_jetpack_loaded' ) );
45 if ( ! empty( $_GET['wc-services-install-error'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
46 add_action( 'admin_notices', array( $this, 'error_notice' ) );
47 }
48
49 if ( isset( $_GET['wc-services-action'] ) ) { // phpcs:ignore WordPress.Security.NonceVerification.Recommended
50 add_action( 'admin_init', array( $this, 'try_install' ) );
51 }
52 }
53
54 /**
55 * Runs on Jetpack being ready to load its packages.
56 *
57 * @param Jetpack $jetpack object.
58 */
59 public function on_jetpack_loaded( $jetpack ) {
60 $this->jetpack = $jetpack;
61 }
62
63 /**
64 * Verify the intent to install WooCommerce Services, and kick off installation.
65 */
66 public function try_install() {
67 if ( ! isset( $_GET['wc-services-action'] ) ) {
68 return;
69 }
70 check_admin_referer( 'wc-services-install' );
71
72 $result = false;
73
74 switch ( $_GET['wc-services-action'] ) {
75 case 'install':
76 if ( current_user_can( 'install_plugins' ) ) {
77 $this->jetpack->stat( 'jitm', 'wooservices-install-' . JETPACK__VERSION );
78 $result = $this->install();
79 if ( $result ) {
80 $result = $this->activate();
81 }
82 }
83 break;
84
85 case 'activate':
86 if ( current_user_can( 'activate_plugins' ) ) {
87 $this->jetpack->stat( 'jitm', 'wooservices-activate-' . JETPACK__VERSION );
88 $result = $this->activate();
89 }
90 break;
91 }
92
93 if ( isset( $_GET['redirect'] ) ) {
94 $redirect = home_url( esc_url_raw( wp_unslash( $_GET['redirect'] ) ) );
95 } else {
96 $redirect = admin_url();
97 }
98
99 if ( $result ) {
100 $this->jetpack->stat( 'jitm', 'wooservices-activated-' . JETPACK__VERSION );
101 } else {
102 $redirect = add_query_arg( 'wc-services-install-error', true, $redirect );
103 }
104
105 wp_safe_redirect( $redirect );
106
107 exit;
108 }
109
110 /**
111 * Notify the user that the installation of WooCommerce Services failed.
112 */
113 public function error_notice() {
114 wp_admin_notice(
115 esc_html__( 'There was an error installing WooCommerce Services.', 'jetpack' ),
116 array(
117 'type' => 'error',
118 'dismissible' => true,
119 )
120 );
121 }
122
123 /**
124 * Download and install the WooCommerce Services plugin.
125 *
126 * @return bool result of installation
127 */
128 private function install() {
129 $result = Plugins_Installer::install_plugin( 'woocommerce-services' );
130
131 if ( is_wp_error( $result ) ) {
132 return false;
133 } else {
134 return true;
135 }
136 }
137
138 /**
139 * Activate the WooCommerce Services plugin.
140 *
141 * @return bool result of activation
142 */
143 private function activate() {
144 $result = activate_plugin( 'woocommerce-services/woocommerce-services.php' );
145
146 // Activate_plugin() returns null on success.
147 return $result === null;
148 }
149 }
150
151 WC_Services_Installer::init();
152