PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 16.3-a.7
Jetpack – WP Security, Backup, Speed, & Growth v16.3-a.7
16.3-a.5 16.3-a.7 16.3-a.3 16.3-a.1 16.2 16.2-beta 12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 13.7.2 13.8.3 All 506 releases
← All changes | extensions/blocks/gif/gif.php +9 -43 13.7.2 → 16.3-a.7 View file →
@@ -9,10 +9,13 @@
9 9
10 10 namespace Automattic\Jetpack\Extensions\Gif;
11 11
12 12 use Automattic\Jetpack\Blocks;
13 -use Jetpack_Gutenberg;
14 13
14 +if ( ! defined( 'ABSPATH' ) ) {
15 + exit( 0 );
16 +}
17 +
15 18 /**
16 19 * Registers the block for use in Gutenberg
17 20 * This is done via an action so that we can disable
18 21 * registration if we need to.
@@ -27,52 +30,15 @@
27 30
28 31 /**
29 32 * Gif block registration/dependency declaration.
30 33 *
34 + * The render implementation lives in render.php and is only loaded when the
35 + * block is actually rendered, keeping it out of the eager front-end path.
36 + *
31 37 * @param array $attr - Array containing the gif block attributes.
32 38 *
33 39 * @return string
34 40 */
35 41 function render_block( $attr ) {
36 - $padding_top = isset( $attr['paddingTop'] ) ? $attr['paddingTop'] : 0;
37 - $style = 'padding-top:' . $padding_top;
38 - $giphy_url = isset( $attr['giphyUrl'] )
39 - ? Jetpack_Gutenberg::validate_block_embed_url( $attr['giphyUrl'], array( 'giphy.com' ) )
40 - : null;
41 - $search_text = isset( $attr['searchText'] ) ? $attr['searchText'] : '';
42 - $caption = isset( $attr['caption'] ) ? $attr['caption'] : null;
43 -
44 - if ( ! $giphy_url ) {
45 - return null;
46 - }
47 -
48 - $classes = Blocks::classes( Blocks::get_block_feature( __DIR__ ), $attr );
49 -
50 - $placeholder = sprintf( '<a href="%s">%s</a>', esc_url( $giphy_url ), esc_attr( $search_text ) );
51 -
52 - ob_start();
53 - ?>
54 - <div class="<?php echo esc_attr( $classes ); ?>">
55 - <figure>
56 - <?php if ( Blocks::is_amp_request() ) : ?>
57 - <amp-iframe src="<?php echo esc_url( $giphy_url ); ?>" width="100" height="<?php echo absint( $padding_top ); ?>" sandbox="allow-scripts allow-same-origin" layout="responsive">
58 - <div placeholder>
59 - <?php echo wp_kses_post( $placeholder ); ?>
60 - </div>
61 - </amp-iframe>
62 - <?php else : ?>
63 - <div class="wp-block-jetpack-gif-wrapper" style="<?php echo esc_attr( $style ); ?>">
64 - <iframe src="<?php echo esc_url( $giphy_url ); ?>" title="<?php echo esc_attr( $search_text ); ?>"></iframe>
65 - </div>
66 - <?php endif; ?>
67 - <?php if ( $caption ) : ?>
68 - <figcaption class="wp-block-jetpack-gif-caption gallery-caption"><?php echo wp_kses_post( $caption ); ?></figcaption>
69 - <?php endif; ?>
70 - </figure>
71 - </div>
72 - <?php
73 - $html = ob_get_clean();
74 -
75 - Jetpack_Gutenberg::load_assets_as_required( __DIR__ );
76 -
77 - return $html;
42 + require_once __DIR__ . '/render.php';
43 + return render_implementation( $attr );
78 44 }