PluginProbe ʕ •ᴥ•ʔ
Presto Player / 1.10.2
Presto Player v1.10.2
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 / Models / Player.php
presto-player / inc / Models Last commit date
AudioPreset.php 4 years ago Block.php 4 years ago CurrentUser.php 5 years ago EmailCollection.php 5 years ago LicensedProduct.php 5 years ago Model.php 4 years ago ModelInterface.php 5 years ago Player.php 5 years ago Post.php 5 years ago Preset.php 4 years ago ReusableVideo.php 4 years ago Setting.php 5 years ago Video.php 4 years ago Webhook.php 3 years ago
Player.php
85 lines
1 <?php
2
3 namespace PrestoPlayer\Models;
4
5 class Player
6 {
7 public static $branding_key = 'presto_player_branding';
8
9 public static function postHasPlayer($id)
10 {
11 // global is the most reliable between page builders
12 global $load_presto_js;
13 if ($load_presto_js) {
14 return true;
15 }
16
17 // change to see if we have one of our blocks
18 $types = Block::getBlockTypes();
19 foreach ($types as $type) {
20 if (has_block($type, $id)) {
21 return true;
22 }
23 }
24
25 // check for data-presto-config (player rendered)
26 $wp_post = get_post($id);
27 if ($wp_post instanceof \WP_Post) {
28 $post = $wp_post->post_content;
29 }
30 $has_player = false !== strpos($post, '<presto-player');
31 if ($has_player) {
32 return true;
33 }
34
35 // check that we have a shortcode
36 if (has_shortcode($post, 'presto_player')) {
37 return true;
38 }
39
40 // enable on Elementor
41 if (!empty($_GET['action']) && 'elementor' === $_GET['action']) {
42 return true;
43 }
44 if (isset($_GET['elementor-preview'])) {
45 return true;
46 }
47
48 // load for beaver builder
49 if (isset($_GET['fl_builder'])) {
50 return true;
51 }
52
53 // do we have the player
54 return $has_player;
55 }
56
57 /**
58 * Get get branding settings
59 *
60 * @return array
61 */
62 public static function getBranding()
63 {
64 $defaults = [
65 'logo' => '',
66 'logo_width' => 150,
67 'color' => '#00b3ff'
68 ];
69 return self::get_option(self::$branding_key, $defaults);
70 }
71
72 /**
73 * Revert to option default in case it's empty
74 *
75 * @param string $key
76 * @param array $defaults
77 * @return array
78 */
79 public static function get_option($key, $defaults)
80 {
81 $config = get_option($key, $defaults);
82 return !empty($config) ? $config : $defaults;
83 }
84 }
85