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