PluginProbe
Patchstack – WordPress & Plugins Security / 2.1.25
Patchstack – WordPress & Plugins Security v2.1.25
2.3.7 trunk 2.1.0 2.1.1 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.16 2.1.17 2.1.18 2.1.19 2.1.2 2.1.20 2.1.21 2.1.22 2.1.23 2.1.24 2.1.25 2.1.3 2.1.4 2.1.5 2.1.6 All 49 releases
← All changes | patchstack.php +38 -2 2.1.132.1.25 View file →
@@ -2,9 +2,9 @@
2 2 /**
3 3 * Plugin Name: Patchstack Security
4 4 * Plugin URI: https://patchstack.com
5 5 * Description: Patchstack identifies security vulnerabilities in WordPress plugins, themes, and core.
6 - * Version: 2.1.13
6 + * Version: 2.1.25
7 7 * Author: Patchstack
8 8 * License: GPLv3
9 9 * Text Domain: patchstack
10 10 * Domain Path: /languages
@@ -57,9 +57,9 @@
57 57 * The plugin version.
58 58 *
59 59 * @var string
60 60 */
61 - const VERSION = '2.1.13';
61 + const VERSION = '2.1.25';
62 62
63 63 /**
64 64 * API URL of Patchstack to communicate with.
65 65 *
@@ -169,8 +169,13 @@
169 169 $this->basename = plugin_basename( __FILE__ );
170 170 $this->url = plugin_dir_url( __FILE__ );
171 171 $names = explode( '/', $this->basename );
172 172 $this->name = $names[0];
173 +
174 + // Define WP_CLI command.
175 + if ( defined( 'WP_CLI' ) && WP_CLI && method_exists('\WP_CLI', 'add_command')) {
176 + \WP_CLI::add_command( 'patchstack activate', [ $this, 'cli_activate' ] );
177 + }
173 178 }
174 179
175 180 /**
176 181 * Call the constructor of all the Patchstack related classes.
@@ -213,8 +218,39 @@
213 218 */
214 219 public function activate() {
215 220 $this->plugin_classes();
216 221 $this->activation->activate( $this );
222 + }
223 +
224 + /**
225 + * Connects the Patchstack plugin to the API with the license id and secret key.
226 + *
227 + * Returns an error if the connection was not successful.
228 + *
229 + * ## OPTIONS
230 + *
231 + * <id>
232 + * : The API client id.
233 + *
234 + * <secret>
235 + * : The API secret key.
236 + *
237 + * ## EXAMPLES
238 + *
239 + * $ wp patchstack activate 123456 2b072e8b60402e30d481df351fc08183906254e0
240 + * Success: The Patchstack plugin has been successfully connected.
241 + */
242 + public function cli_activate( $args ) {
243 + $id = isset( $args[0] ) ? trim( $args[0] ) : '';
244 + $secret = isset( $args[1] ) ? trim( $args[1] ) : '';
245 +
246 + $result = $this->activation->alter_license( $id, $secret, 'activate' );
247 + if ( $result['result'] == 'error' ) {
248 + \WP_CLI::error( 'The Patchstack plugin could not be connected. Make sure the id and secret key are valid and that api.patchstack.com is not blocked.' );
249 + return;
250 + }
251 +
252 + \WP_CLI::success( 'The Patchstack plugin has been successfully connected.' );
217 253 }
218 254
219 255 /**
220 256 * Deactivate the plugin.