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