PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 16.0-beta
Jetpack – WP Security, Backup, Speed, & Growth v16.0-beta
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 3 months ago 3rd-party.php 1 month ago activitypub.php 1 month ago amp.php 7 months ago atomic.php 7 months ago bbpress.php 7 months ago beaverbuilder.php 7 months ago bitly.php 7 months ago buddypress.php 7 months ago class-domain-mapping.php 7 months ago class-jetpack-bbpress-rest-api.php 2 years ago class.jetpack-amp-support.php 4 months ago creative-mail.php 7 months ago debug-bar.php 7 months ago jetpack-backup.php 7 months ago jetpack-boost.php 7 months ago qtranslate-x.php 7 months ago vaultpress.php 1 week ago web-stories.php 7 months ago woocommerce-services.php 7 months ago woocommerce.php 7 months ago wpcom-reader.php 7 months ago wpml.php 7 months 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( 0 );
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( 0 );
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