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