PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 13.0.2
Jetpack – WP Security, Backup, Speed, & Growth v13.0.2
12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 13.7.2 13.8.3 13.9.2 14.0.1 14.1.1 14.2.2 14.3.1 14.4.2 14.5.1 14.6.1 14.7.1 14.8.1 14.9.2 15.0.3 15.1.2 15.2.1 15.3.2 15.4.1 15.5.1 15.6.1 15.7.2 15.8.1 15.9.2 16.0.2 16.1.3 16.2-a.5 16.2-a.3 16.1.2 16.2-a.1 16.1.1 16.1 16.1-beta 16.1-beta.2 16.1-beta.3 16.1-a.5 16.1-a.3 16.0.1 16.1-a.1 16.0 16.0-beta 16.0-a.7 16.0-a.5 15.9.1 16.0-a.3 16.0-a.1 15.9 15.9-beta 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 3 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 4 years ago class-jetpack-bbpress-rest-api.php 2 years ago class-salesforce-lead-form.php 3 years ago class.jetpack-amp-support.php 2 years ago creative-mail.php 3 years ago crowdsignal.php 5 years ago debug-bar.php 5 years ago jetpack-backup.php 3 years ago jetpack-boost.php 3 years ago qtranslate-x.php 2 years ago vaultpress.php 2 years ago web-stories.php 5 years ago woocommerce-services.php 3 years ago woocommerce.php 2 years ago wpml.php 5 years ago
woocommerce-services.php
150 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 ?>
115 <div class="notice notice-error is-dismissible">
116 <p><?php esc_html_e( 'There was an error installing WooCommerce Services.', 'jetpack' ); ?></p>
117 </div>
118 <?php
119 }
120
121 /**
122 * Download and install the WooCommerce Services plugin.
123 *
124 * @return bool result of installation
125 */
126 private function install() {
127 $result = Plugins_Installer::install_plugin( 'woocommerce-services' );
128
129 if ( is_wp_error( $result ) ) {
130 return false;
131 } else {
132 return true;
133 }
134 }
135
136 /**
137 * Activate the WooCommerce Services plugin.
138 *
139 * @return bool result of activation
140 */
141 private function activate() {
142 $result = activate_plugin( 'woocommerce-services/woocommerce-services.php' );
143
144 // Activate_plugin() returns null on success.
145 return $result === null;
146 }
147 }
148
149 WC_Services_Installer::init();
150