PluginProbe
Extendify / trunk
Extendify vtrunk
3.2.1 3.2.0 3.1.6 3.1.5 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 3.0.6 3.0.5 3.0.4 trunk 0.1.0 0.10.0 0.10.1 0.10.2 0.11.0 0.11.1 0.2.0 0.3.0 0.3.1 0.4.0 0.5.0 0.6.0 All 127 releases
← All changes | app/AutoLaunch/Controllers/WPController.php +52 -0 3.0.6 → trunk View file →
@@ -7,10 +7,15 @@
7 7 namespace Extendify\AutoLaunch\Controllers;
8 8
9 9 defined('ABSPATH') || die('No direct access.');
10 10
11 +use Extendify\Agent\Controllers\ChatHistoryController;
12 +use Extendify\PartnerData;
11 13 use Extendify\Shared\DataProvider\ResourceData;
14 +use Extendify\Shared\Services\AutoUpdate\AutoUpdate;
15 +use Extendify\Shared\Services\LaunchUpdate\LaunchUpdater;
12 16 use Extendify\Shared\Services\Sanitizer;
17 +use Extendify\SiteVisibility;
13 18
14 19 /**
15 20 * The controller for interacting with WordPress.
16 21 */
@@ -154,10 +159,57 @@
154 159 \update_option('extendify_check_for_image_imports', true, false);
155 160 \delete_transient('extendify_import_images_check_delay');
156 161
157 162 \update_option('extendify_onboarding_completed', gmdate('Y-m-d\TH:i:s\Z'));
163 + // Anything already in the chat reads as an onboarding offer the user answered.
164 + ChatHistoryController::clear();
165 + LaunchUpdater::clearAttempts();
158 166
167 + if (PartnerData::setting('useComingSoon')) {
168 + SiteVisibility::markUnpublished();
169 + }
170 +
159 171 \do_action('extendify_after_launch');
160 172
161 173 return new \WP_REST_Response('ok');
174 + }
175 +
176 + /**
177 + * Apply pending theme / PUC-plugin upgrades before Launch runs (see
178 + * LaunchUpdater::run, which never throws).
179 + *
180 + * @return \WP_REST_Response
181 + */
182 + public static function runUpdates()
183 + {
184 + return new \WP_REST_Response(LaunchUpdater::run());
185 + }
186 +
187 + /**
188 + * Runs on every launch page load, so it must not discard site state.
189 + *
190 + * @return \WP_REST_Response
191 + */
192 + public static function preLaunch()
193 + {
194 + if (AutoUpdate::isEnabled()) {
195 + AutoUpdate::enableAutoUpdateForPlugin(EXTENDIFY_PLUGIN_BASENAME);
196 + AutoUpdate::addToAutoUpdateList('auto_update_themes', 'extendable');
197 + AutoUpdate::enableAutoUpdateForCore();
198 + }
199 +
200 + return new \WP_REST_Response(['success' => true]);
201 + }
202 +
203 + /**
204 + * Discards the launched state after the user confirms the restart.
205 + *
206 + * @return \WP_REST_Response
207 + */
208 + public static function resetLaunchState()
209 + {
210 + \delete_option('extendify_onboarding_completed');
211 + ChatHistoryController::clear();
212 +
213 + return new \WP_REST_Response(['success' => true]);
162 214 }
163 215 }