PluginProbe
FlyWP Helper – Page Cache, Page Optimization, Emails for FlyWP Server Control Panel / 1.8.0
FlyWP Helper – Page Cache, Page Optimization, Emails for FlyWP Server Control Panel v1.8.0
1.8.0 1.7.1 1.7.0 1.6.0 1.5.2 trunk 0.1 0.2.0 0.2.1 0.3 0.3.1 0.3.2 0.3.3 0.3.4 0.4 0.4.1 0.4.2 0.4.3 1.0 1.1 1.2 1.3.1 1.4.0 1.4.1 1.5.0 All 27 releases
← All changes | flywp.php +39 -4 1.4.0 → 1.8.0 View file →
@@ -2,9 +2,9 @@
2 2 /**
3 3 * Plugin Name: FlyWP
4 4 * Plugin URI: https://flywp.com
5 5 * Description: Helper plugin for FlyWP
6 - * Version: 1.4.0
6 + * Version: 1.8.0
7 7 * Author: FlyWP
8 8 * Author URI: https://flywp.com/?utm_source=wporg&utm_medium=banner&utm_campaign=author-uri
9 9 * License: GPL2
10 10 */
@@ -40,9 +40,9 @@
40 40 * Plugin version.
41 41 *
42 42 * @var string
43 43 */
44 - public $version = '1.4.0';
44 + public $version = '1.8.0';
45 45
46 46 /**
47 47 * Plugin Constructor.
48 48 *
@@ -70,8 +70,12 @@
70 70
71 71 if ( ! defined( 'FLYWP_API_KEY' ) ) {
72 72 define( 'FLYWP_API_KEY', '' );
73 73 }
74 +
75 + if ( ! defined( 'FLYWP_LOGIN_PUBLIC_KEY' ) ) {
76 + define( 'FLYWP_LOGIN_PUBLIC_KEY', '' );
77 + }
74 78 }
75 79
76 80 /**
77 81 * Plugin activation hook.
@@ -82,17 +86,22 @@
82 86 $router = new FlyWP\Router();
83 87 $router->register_routes();
84 88
85 89 flush_rewrite_rules( false );
90 +
91 + FlyWP\StaticSite\Bootstrap::install();
86 92 }
87 93
88 94 /**
89 - * Plugin activation hook.
95 + * Plugin deactivation hook.
90 96 *
91 97 * @return void
92 98 */
93 99 public function deactivate() {
94 - ( new FlyWP\Api\UpdatesData() )->deactivate();
100 + $timestamp = wp_next_scheduled( FlyWP\Api\UpdatesData::CRON_HOOK );
101 + if ( $timestamp ) {
102 + wp_unschedule_event( $timestamp, FlyWP\Api\UpdatesData::CRON_HOOK );
103 + }
95 104 }
96 105
97 106 /**
98 107 * Initialize plugin.
@@ -99,8 +108,15 @@
99 108 *
100 109 * @return void
101 110 */
102 111 public function init_plugin() {
112 + // Loaded ahead of the API-key gate below, as it does not use the API key. It answers
113 + // one POST path and does nothing on any other request.
114 + new FlyWP\Frontend\MagicLogin();
115 +
116 + // The static site CLI commands do not use the API key.
117 + FlyWP\StaticSite\Bootstrap::register_cli();
118 +
103 119 if ( ! $this->has_key() ) {
104 120 $this->add_action( 'admin_notices', 'admin_notice' );
105 121
106 122 return;
@@ -120,8 +136,9 @@
120 136 $this->email = new FlyWP\Email();
121 137 $this->optimize = new FlyWP\Optimizations();
122 138 $this->litespeed = new FlyWP\Litespeed();
123 139 $this->updates_data = new FlyWP\Api\UpdatesData();
140 + $this->static_site = new FlyWP\StaticSite\Bootstrap();
124 141 }
125 142
126 143 /**
127 144 * Show admin notice if API key is not set.
@@ -149,8 +166,26 @@
149 166 * @return string
150 167 */
151 168 public function get_key() {
152 169 return FLYWP_API_KEY;
170 + }
171 +
172 + /**
173 + * Public key used to verify magic-login tokens.
174 + *
175 + * Set as a constant on classic WordPress. On Bedrock it may only be present in the
176 + * environment, so fall back to `getenv()`.
177 + *
178 + * @return string
179 + */
180 + public function get_login_public_key() {
181 + if ( FLYWP_LOGIN_PUBLIC_KEY !== '' ) {
182 + return FLYWP_LOGIN_PUBLIC_KEY;
183 + }
184 +
185 + $from_env = getenv( 'FLYWP_LOGIN_PUBLIC_KEY' );
186 +
187 + return $from_env === false ? '' : $from_env;
153 188 }
154 189 }
155 190
156 191 /**