PluginProbe ʕ •ᴥ•ʔ
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization / 1.16.8
NitroPack – Performance, Page Speed & Cache Plugin for Core Web Vitals, CDN & Image Optimization v1.16.8
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 1 year ago languages 2 years ago nitropack-sdk 1 year ago view 1 year ago advanced-cache.php 2 years ago batcache-compat.php 4 years ago constants.php 1 year ago diagnostics.php 2 years ago functions.php 1 year ago helpers.php 3 years ago main.php 1 year ago readme.txt 1 year ago uninstall.php 2 years ago wp-cli.php 2 years ago
wp-cli.php
136 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 } else {
115 nitropack_invalidate_cache();
116 }
117 }
118
119 /**
120 * Start a warmup process for a website
121 *
122 * ## EXAMPLES
123 *
124 * wp nitropack warmup
125 */
126
127 function nitropack_cli_warmup($args, $assocArgs) {
128 nitropack_run_warmup();
129 }
130
131 WP_CLI::add_command("nitropack connect", "nitropack_cli_connect");
132 WP_CLI::add_command("nitropack disconnect", "nitropack_cli_disconnect");
133 WP_CLI::add_command("nitropack purge", "nitropack_cli_purge");
134 WP_CLI::add_command("nitropack invalidate", "nitropack_cli_invalidate");
135 WP_CLI::add_command("nitropack warmup", "nitropack_cli_warmup");
136