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 / Blocks / SelfHostedBlock.php
presto-player / inc / Blocks Last commit date
AudioBlock.php 3 years ago ReusableEditBlock.php 2 years ago ReusableVideoBlock.php 5 years ago SelfHostedBlock.php 2 years ago VimeoBlock.php 3 years ago YouTubeBlock.php 3 years ago
SelfHostedBlock.php
86 lines
1 <?php
2
3 namespace PrestoPlayer\Blocks;
4
5 use PrestoPlayer\Attachment;
6 use PrestoPlayer\Support\Block;
7 use PrestoPlayer\Models\CurrentUser;
8
9 class SelfHostedBlock extends Block
10 {
11 /**
12 * Block name
13 *
14 * @var string
15 */
16 protected $name = 'self-hosted';
17
18 /**
19 * Register the block type.
20 *
21 * @return void
22 */
23 public function registerBlockType()
24 {
25 register_block_type(
26 PRESTO_PLAYER_PLUGIN_DIR . 'src/admin/blocks/blocks/hosted',
27 array(
28 'render_callback' => [$this, 'html'],
29 )
30 );
31 }
32
33 /**
34 * Bail if user cannot access video
35 *
36 * @return void
37 */
38 public function middleware($attributes, $content)
39 {
40 // if private and user cannot access video, don't load
41 if (!empty($attributes['visibility']) && 'private' === $attributes['visibility']) {
42 if (!CurrentUser::canAccessVideo($attributes['id'])) {
43 return false;
44 }
45 }
46
47 return parent::middleware($attributes, $content);
48 }
49
50 /**
51 * Add src to video
52 *
53 * @param array $attributes
54 * @return void
55 */
56 public function sanitizeAttributes($attributes, $default_config)
57 {
58 $src = !empty($attributes['src']) ? $attributes['src'] : '';
59
60 if (!empty($this->isHls($src))) {
61 wp_enqueue_script('hls.js');
62 }
63
64 return [
65 'src' => !empty($attributes['attachment_id']) ? Attachment::getSrc($attributes['attachment_id']) : $src,
66 ];
67 }
68
69 /**
70 * Override attributes
71 *
72 * @param array $attributes
73 * @return array
74 */
75 public function overrideAttributes($attributes)
76 {
77 $load = $this->middleware($attributes, '');
78
79 if (!$load) {
80 return array();
81 }
82
83 return $attributes;
84 }
85 }
86