PluginProbe ʕ •ᴥ•ʔ
Presto Player / trunk
Presto Player vtrunk
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 11 months ago MediaHubBlock.php 11 months ago PopupBlock.php 11 months ago PopupMediaBlock.php 8 months ago PopupTriggerBlock.php 3 weeks ago ReusableEditBlock.php 11 months ago ReusableVideoBlock.php 2 months ago SelfHostedBlock.php 11 months ago VimeoBlock.php 11 months ago YouTubeBlock.php 1 week 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