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 / PopupTriggerBlock.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
PopupTriggerBlock.php
77 lines
1 <?php
2 /**
3 * Popup Trigger block.
4 *
5 * @package PrestoPlayer\Blocks
6 */
7
8 namespace PrestoPlayer\Blocks;
9
10 /**
11 * Popup Trigger block.
12 */
13 class PopupTriggerBlock {
14 /**
15 * Register the block type.
16 */
17 public function register() {
18 if ( ! file_exists( PRESTO_PLAYER_PLUGIN_DIR . 'src/admin/blocks/blocks/popup-trigger' ) ) {
19 return;
20 }
21
22 add_action( 'init', array( $this, 'register_block' ) );
23 }
24
25 /**
26 * Registers the popup trigger block with WordPress.
27 */
28 public function register_block() {
29 register_block_type(
30 PRESTO_PLAYER_PLUGIN_DIR . 'src/admin/blocks/blocks/popup-trigger',
31 array(
32 'render_callback' => array( $this, 'render_block' ),
33 )
34 );
35 }
36
37 /**
38 * Renders the block content for the popup trigger block.
39 *
40 * @param array $attributes The block attributes.
41 * @param string $content The block content.
42 *
43 * @return string The rendered HTML for the block.
44 */
45 public function render_block( $attributes, $content ) {
46
47 // If the content already has the popup directives, we already have a popup trigger.
48 if ( strpos( $content, 'data-wp-on--click="actions.showPopup"' ) !== false ) {
49 return $content;
50 }
51
52 ob_start();
53 ?>
54 <div
55 <?php
56 echo wp_kses_data(
57 get_block_wrapper_attributes(
58 array(
59 'data-wp-on--click' => 'actions.showPopup',
60 'tabindex' => '0',
61 'data-wp-on--keydown' => 'actions.handleKeydown',
62 'aria-label' => __( 'Open Presto Popup dialog', 'presto-player' ),
63 'aria-haspopup' => 'dialog',
64 'data-wp-on-document--keydown' => 'callbacks.handleKeydown',
65 'data-wp-bind--aria-expanded' => 'state.overlayEnabled',
66 )
67 )
68 );
69 ?>
70 >
71 <?php echo $content; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?>
72 </div>
73 <?php
74 return ob_get_clean();
75 }
76 }
77