PluginProbe ʕ •ᴥ•ʔ
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization / 1.12.0
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization v1.12.0
1.19.8 1.19.7 1.19.6 1.19.5 trunk 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.12.0 1.13.0 1.14.0 1.15.0 1.15.1 1.15.2 1.15.3 1.16.0 1.16.1 1.16.2 1.16.3 1.16.4 1.16.5 1.16.6 1.16.7 1.16.8 1.17.0 1.17.6 1.17.7 1.17.8 1.17.9 1.18.0 1.18.1 1.18.2 1.18.3 1.18.4 1.18.5 1.18.6 1.18.7 1.18.8 1.18.9 1.19.0 1.19.1 1.19.2 1.19.3 1.19.4 1.3.19 1.3.20 1.4.0 1.4.1 1.5.0 1.5.1 1.5.10 1.5.11 1.5.12 1.5.13 1.5.14 1.5.15 1.5.16 1.5.17 1.5.18 1.5.19 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.7.0 1.7.1 1.8.0 1.8.1 1.8.3 1.9.0 1.9.1 1.9.2
nitropack / wp-cli.php
nitropack Last commit date
classes 2 years ago languages 2 years ago nitropack-sdk 2 years ago view 2 years ago advanced-cache.php 2 years ago batcache-compat.php 4 years ago cf-helper.php 5 years ago constants.php 2 years ago diagnostics.php 2 years ago functions.php 2 years ago helpers.php 3 years ago integrations.php 4 years ago main.php 2 years ago readme.txt 2 years ago uninstall.php 2 years ago wp-cli.php 2 years ago
wp-cli.php
137 lines
1 <?php
2
3 defined( 'ABSPATH' ) or die( 'No script kiddies please!' );
4
5 /**
6 * Connects a website to NitroPack
7 *
8 * ## OPTIONS
9 *
10 * <siteID>
11 * : The API Key obtained from https://nitropack.io/user/connect
12 *
13 * <siteSecret>
14 * : The API Secret Key obtained from https://nitropack.io/user/connect
15 *
16 * ## EXAMPLES
17 *
18 * wp nitropack connect siteID siteSecret
19 */
20
21 function nitropack_cli_connect($args, $assocArgs) {
22 $siteId = !empty($args[0]) ? $args[0] : "";
23 $siteSecret = !empty($args[1]) ? $args[1] : "";
24 nitropack_verify_connect($siteId, $siteSecret);
25 }
26
27 /**
28 * Disconnects a website from NitroPack
29 *
30 * ## EXAMPLES
31 *
32 * wp nitropack disconnect
33 */
34
35 function nitropack_cli_disconnect($args, $assocArgs) {
36 nitropack_disconnect();
37 }
38
39 /**
40 * Purges a website's cache
41 *
42 * ## EXAMPLES
43 *
44 * wp nitropack purge
45 */
46
47 function nitropack_cli_purge($args, $assocArgs) {
48 $host = !empty($assocArgs["purge-host"]) ? $assocArgs["purge-host"] : NULL;
49 $url = !empty($assocArgs["purge-url"]) ? $assocArgs["purge-url"] : NULL;
50 $tag = !empty($assocArgs["purge-tag"]) ? $assocArgs["purge-tag"] : NULL;
51 $reason = !empty($assocArgs["purge-reason"]) ? $assocArgs["purge-reason"] : NULL;
52
53 if (!empty($host)) {
54 /**
55 * Override the site url by the purge-host parameter
56 *
57 * @param string $host
58 * @return string
59 */
60 add_filter( 'nitropack_current_host', function() use ( $host ) {
61 if (!preg_match('#^http(s)?://#', $host)) {
62 $host = 'https://' . $host;
63 }
64 return $host;
65 }
66 );
67 }
68
69 if ($url || $tag || $reason) {
70 try {
71 if (nitropack_sdk_purge($url, $tag, $reason)) {
72 nitropack_json_and_exit(array(
73 "type" => "success",
74 "message" => __( 'Success! Cache has been purged successfully!', 'nitropack' )
75 ));
76 }
77 } catch (\Exception $e) {}
78
79 nitropack_json_and_exit(array(
80 "type" => "error",
81 "message" => __( 'Error! There was an error and the cache was not purged!', 'nitropack' )
82 ));
83 } else {
84 nitropack_purge_cache();
85 }
86 }
87
88 /**
89 * Invalidate a website's cache
90 *
91 * ## EXAMPLES
92 *
93 * wp nitropack invalidate
94 */
95
96 function nitropack_cli_invalidate($args, $assocArgs) {
97 $url = !empty($assocArgs["purge-url"]) ? $assocArgs["purge-url"] : NULL;
98 $tag = !empty($assocArgs["purge-tag"]) ? $assocArgs["purge-tag"] : NULL;
99 $reason = !empty($assocArgs["purge-reason"]) ? $assocArgs["purge-reason"] : NULL;
100 if ($url || $tag || $reason) {
101 try {
102 if (nitropack_sdk_invalidate($url, $tag, $reason)) {
103 nitropack_json_and_exit(array(
104 "type" => "success",
105 "message" => __( 'Success! Cache has been invalidated successfully!', 'nitropack' )
106 ));
107 }
108 } catch (\Exception $e) {}
109
110 nitropack_json_and_exit(array(
111 "type" => "error",
112 "message" => __( 'Error! There was an error and the cache was not invalidated!', 'nitropack' )
113 ));
114 nitropack_sdk_invalidate($url, $tag, $reason);
115 } else {
116 nitropack_invalidate_cache();
117 }
118 }
119
120 /**
121 * Start a warmup process for a website
122 *
123 * ## EXAMPLES
124 *
125 * wp nitropack warmup
126 */
127
128 function nitropack_cli_warmup($args, $assocArgs) {
129 nitropack_run_warmup();
130 }
131
132 WP_CLI::add_command("nitropack connect", "nitropack_cli_connect");
133 WP_CLI::add_command("nitropack disconnect", "nitropack_cli_disconnect");
134 WP_CLI::add_command("nitropack purge", "nitropack_cli_purge");
135 WP_CLI::add_command("nitropack invalidate", "nitropack_cli_invalidate");
136 WP_CLI::add_command("nitropack warmup", "nitropack_cli_warmup");
137