PluginProbe ʕ •ᴥ•ʔ
EmbedPress – PDF Embedder, 3D PDF FlipBook, Google Reviews, YouTube Videos, Upload & Embed PDF documents / 4.0.5
EmbedPress – PDF Embedder, 3D PDF FlipBook, Google Reviews, YouTube Videos, Upload & Embed PDF documents v4.0.5
4.6.0 4.5.6 4.5.5 4.5.4 4.5.3 4.5.2 trunk 1.0.0 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.5.0 1.6.0 1.6.1 1.6.2 1.6.3 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.2.0 2.2.1 2.2.2 2.3.0 2.3.1 2.3.2 2.3.3 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.1.3 3.2.0 3.2.1 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.6.8 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 3.9.1 3.9.10 3.9.11 3.9.12 3.9.13 3.9.14 3.9.15 3.9.16 3.9.17 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9 4.0.0 4.0.1 4.0.10 4.0.11 4.0.12 4.0.13 4.0.14 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.0.9 4.1.0 4.1.1 4.1.10 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9 4.2.0 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.8 4.2.9 4.3.0 4.3.1 4.4.0 4.4.1 4.4.10 4.4.11 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6 4.4.7 4.4.8 4.4.9 4.5.0 4.5.1
embedpress / Gutenberg / block-backend / block-youtube.php
embedpress / Gutenberg / block-backend Last commit date
block-embedpress.php 2 years ago block-wistia.php 2 years ago block-youtube.php 2 years ago
block-youtube.php
80 lines
1 <?php
2
3
4 /**
5 * Renders the `embedpress/youtube` block on server.
6 *
7 * @param array $attributes The block attributes.
8 *
9 * @return false|string
10 */
11
12 function isYoutube($url) {
13 $pattern = '/^(https?:\/\/)?(www\.)?(youtube\.com\/(watch\?(.*&)?v=|(embed|v)\/))|youtu.be\/([a-zA-Z0-9_-]{11})/';
14
15 return preg_match($pattern, $url);
16 }
17
18
19 function embedpress_gutenberg_render_block_youtube( $attributes )
20 {
21 ob_start();
22 $align = 'align' . ( isset( $attributes[ 'align' ] ) ? $attributes[ 'align' ] : 'center' );
23 $youtube_params = apply_filters( 'embedpress_gutenberg_youtube_params', [] );
24 $iframeUrl = $attributes[ 'iframeSrc' ];
25 foreach ( $youtube_params as $param => $value ) {
26 $iframeUrl = add_query_arg( $param, $value, $iframeUrl );
27 }
28
29 if(!isYoutube($iframeUrl))
30 {
31 return;
32 }
33
34 ?>
35 <div class="ose-youtube wp-block-embed-youtube ose-youtube-single-video <?php echo esc_attr($align); ?>">
36 <iframe src="<?php echo esc_url($iframeUrl); ?>"
37 allowtransparency="true"
38 allowfullscreen="true"
39 frameborder="0"
40 width="640" height="360">
41 </iframe>
42 </div>
43 <?php
44 return ob_get_clean();
45 }
46
47 /**
48 * Registers the `embedpress/youtube-block` block on server.
49 */
50 function embedpress_gutenberg_register_block_youtube()
51 {
52 if ( function_exists( 'register_block_type' ) ) :
53 register_block_type( 'embedpress/youtube-block', [
54 'style' => 'embedpress_youtube-cgb-style-css',
55 // Enqueue blocks.build.js in the editor only.
56 'editor_script' => 'embedpress_youtube-cgb-block-js',
57 // Enqueue blocks.editor.build.css in the editor only.
58 'editor_style' => 'embedpress_youtube-cgb-block-editor-css',
59
60 'attributes' => [
61 'url' => [
62 'type' => 'string',
63 'default' => ''
64 ],
65 'iframeSrc' => [
66 'type' => 'string',
67 'default' => ''
68 ],
69 'mediaId' => [
70 'type' => 'string',
71 'default' => ''
72 ]
73 ],
74 'render_callback' => 'embedpress_gutenberg_render_block_youtube',
75 ] );
76 endif;
77 }
78
79 add_action( 'init', 'embedpress_gutenberg_register_block_youtube' );
80