PluginProbe ʕ •ᴥ•ʔ
Presto Player / 2.2.3-beta1
Presto Player v2.2.3-beta1
4.4.1 4.4.0 4.3.3 4.3.2 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 / VisitsUpgrade.php
presto-player / inc / Database / Upgrades Last commit date
PerformanceUpgrade.php 5 years ago TransientsUpgrade.php 5 years ago Upgrades.php 5 years ago VisitsUpgrade.php 5 years ago
VisitsUpgrade.php
63 lines
1 <?php
2
3 namespace PrestoPlayer\Database\Upgrades;
4
5 use PrestoPlayer\Models\ReusableVideo;
6
7 class VisitsUpgrade
8 {
9 protected $table;
10 protected $version = 1;
11 protected $name = 'presto_player_visits_upgrade_version';
12
13 public function run()
14 {
15 $this->fixReusableVideoStats();
16 }
17
18 /**
19 * Fixes error where reusable video ids were stored instead of video id
20 * in visits table
21 *
22 * @return void
23 */
24 public function fixReusableVideoStats()
25 {
26 global $wpdb;
27
28 $current_version = get_option($this->name, 0);
29
30 // we've already done this one
31 if ($this->version <= $current_version) {
32 return;
33 }
34
35 // get all reusable video ids
36 $reusable_videos = get_posts([
37 'posts_per_page' => -1,
38 'post_type' => 'pp_video_block',
39 ]);
40
41 // bail if we have no reusable videos
42 if (empty($reusable_videos)) {
43 return;
44 }
45
46 // get visits with this id and update to video
47 foreach ($reusable_videos as $reusable_video) {
48 $video_block = new ReusableVideo($reusable_video);
49 $block = $video_block->getBlock();
50
51 if (!empty($block['attrs']['id'])) {
52 $id = $block['attrs']['id'];
53 try {
54 $wpdb->update($wpdb->prefix . 'presto_player_visits', ['video_id' => $id], ['video_id' => (int) $reusable_video->ID]);
55 } catch (\Exception $e) {
56 }
57 }
58 }
59
60 update_option($this->name, $this->version);
61 }
62 }
63