PluginProbe ʕ •ᴥ•ʔ
Presto Player / 2.0.8
Presto Player v2.0.8
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 / Playlist.php
presto-player / inc Last commit date
Blocks 2 years ago Contracts 5 years ago Database 3 years ago Integrations 2 years ago Libraries 5 years ago Models 2 years ago Seeds 4 years ago Services 2 years ago Support 2 years ago config 2 years ago Activator.php 5 years ago Attachment.php 4 years ago Controller.php 5 years ago Core.php 5 years ago Deactivator.php 3 years ago Factory.php 5 years ago Files.php 5 years ago Playlist.php 2 years ago Plugin.php 5 years ago Requirements.php 4 years ago support.php 4 years ago
Playlist.php
83 lines
1 <?php
2 namespace PrestoPlayer;
3
4 use PrestoPlayer\Services\ReusableVideos;
5 use PrestoPlayer\Blocks\AudioBlock;
6 use PrestoPlayer\Blocks\SelfHostedBlock;
7 use PrestoPlayer\Blocks\VimeoBlock;
8 use PrestoPlayer\Blocks\YouTubeBlock;
9 use PrestoPlayer\Pro\Blocks\BunnyCDNBlock;
10
11 class Playlist
12 {
13 /**
14 * Parses the attributes with respect to the provider.
15 *
16 * @param string $block_name Block name.
17 * @param array $attributes Attributes of the block.
18 *
19 * @return array
20 */
21 public function parsed_attributes($block_name, $attributes) {
22 $attributes = wp_parse_args(
23 $attributes,
24 [
25 'id' => '',
26 'src' => '',
27 'title' => '',
28 'provider' => '',
29 'class' => '',
30 'custom_field' => '',
31 'poster' => '',
32 'preload' => 'auto',
33 'preset' => 0,
34 'autoplay' => false,
35 'plays_inline' => false,
36 'chapters' => [],
37 'overlays' => [],
38 'tracks' => [],
39 'muted_autoplay_preview' => false,
40 'muted_autoplay_caption_preview' => false,
41 ],
42 );
43
44 switch ($block_name) {
45 case 'presto-player/self-hosted':
46 return (new SelfHostedBlock())->getAttributes($attributes, '');
47
48 case 'presto-player/youtube':
49 return (new YouTubeBlock())->getAttributes($attributes, '');
50
51 case 'presto-player/vimeo':
52 return (new VimeoBlock())->getAttributes($attributes, '');
53
54 case 'presto-player/bunny':
55 return (new BunnyCDNBlock())->getAttributes($attributes, '');
56
57 case 'presto-player/audio':
58 return (new AudioBlock())->getAttributes($attributes, '');
59 }
60 }
61 /**
62 * Get Video details
63 *
64 * @param $videos Array of video IDs.
65 * @return array
66 */
67 public function get_playlist_details($video)
68 {
69 if ( empty( $video ) ) {
70 return [];
71 }
72 $block = parse_blocks(ReusableVideos::get($video));
73 // return $block;
74 if ( !isset($block[0]['innerBlocks'][0]['attrs']) ) {
75 return [];
76 }
77 $inner_block = $block[0]['innerBlocks'][0];
78 $attributes = $inner_block['attrs'];
79 $video_details = $this->parsed_attributes($inner_block['blockName'], $attributes);
80 return $video_details;
81 }
82 }
83