PluginProbe ʕ •ᴥ•ʔ
Presto Player / 4.3.1
Presto Player v4.3.1
4.3.1 4.3.0 4.2.4 4.2.3 4.2.2 4.2.0 4.2.1 trunk 1.10.0 1.10.1 1.10.2 1.11.0 1.12.0 1.13.0 1.14.0 1.14.1 1.5.10 1.5.11 1.5.12 1.5.13 1.5.14 1.5.15 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.10 1.6.11 1.6.12 1.6.13 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.11 2.0.12 2.0.13 2.0.14 2.0.15 2.0.16 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.2.0 2.2.1 2.2.2 2.2.3 2.2.3-beta1 2.3.0 2.3.1 2.3.2 2.3.3 3.0.0 3.0.0-beta1 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.1.0 3.1.1 3.1.2 3.1.3 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4
presto-player / inc / Database / Upgrades / OnboardingBackfillUpgrade.php
presto-player / inc / Database / Upgrades Last commit date
BunnyWebhookUpgrade.php 4 months ago OnboardingBackfillUpgrade.php 1 month ago PerformanceUpgrade.php 1 year ago TransientsUpgrade.php 3 weeks ago Upgrades.php 1 month ago VisitsUpgrade.php 1 year ago
OnboardingBackfillUpgrade.php
63 lines
1 <?php
2 /**
3 * Onboarding completion backfill for pre-4.2.0 upgrades.
4 *
5 * @package PrestoPlayer
6 * @subpackage Database\Upgrades
7 */
8
9 namespace PrestoPlayer\Database\Upgrades;
10
11 /**
12 * One-shot backfill: existing pre-4.2.0 users updating to 4.2.0 should not
13 * be shown the new onboarding wizard. If the user has any pp_video_block
14 * post in any non-trash status, mark onboarding as completed.
15 *
16 * Self-terminating via presto_player_onboarding_backfill_v1_done so the
17 * existence query runs at most once per install.
18 */
19 class OnboardingBackfillUpgrade {
20
21 /**
22 * Marker option that flips to 'yes' the first time run() executes,
23 * regardless of whether the backfill itself fired.
24 *
25 * @var string
26 */
27 private $done_option = 'presto_player_onboarding_backfill_v1_done';
28
29 /**
30 * Execute the backfill exactly once.
31 *
32 * @return void
33 */
34 public function run() {
35 if ( 'yes' === get_option( $this->done_option, 'no' ) ) {
36 return;
37 }
38
39 // Set the done flag first so we never re-run, regardless of the branch below.
40 update_option( $this->done_option, 'yes' );
41
42 // Already onboarded — nothing to backfill.
43 if ( 'yes' === get_option( 'presto_player_onboarding_completed', 'no' ) ) {
44 return;
45 }
46
47 // Existing-install signal: any pp_video_block post in any non-trash status.
48 $existing = (bool) get_posts(
49 array(
50 'post_type' => 'pp_video_block',
51 'post_status' => 'any',
52 'posts_per_page' => 1,
53 'fields' => 'ids',
54 'no_found_rows' => true,
55 )
56 );
57
58 if ( $existing ) {
59 update_option( 'presto_player_onboarding_completed', 'yes' );
60 }
61 }
62 }
63