PluginProbe
Jetpack – WP Security, Backup, Speed, & Growth / 16.3-a.1
Jetpack – WP Security, Backup, Speed, & Growth v16.3-a.1
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 13.9.2 14.0.1 All 504 releases
← All changes | extensions/blocks/repeat-visitor/repeat-visitor.php +9 -21 12.5.2 → 16.3-a.1 View file →
@@ -9,12 +9,12 @@
9 9
10 10 namespace Automattic\Jetpack\Extensions\Repeat_Visitor;
11 11
12 12 use Automattic\Jetpack\Blocks;
13 -use Jetpack_Gutenberg;
14 13
15 -const FEATURE_NAME = 'repeat-visitor';
16 -const BLOCK_NAME = 'jetpack/' . FEATURE_NAME;
14 +if ( ! defined( 'ABSPATH' ) ) {
15 + exit( 0 );
16 +}
17 17
18 18 /**
19 19 * Registers the block for use in Gutenberg
20 20 * This is done via an action so that we can disable
@@ -21,9 +21,9 @@
21 21 * registration if we need to.
22 22 */
23 23 function register_block() {
24 24 Blocks::jetpack_register_block(
25 - BLOCK_NAME,
25 + __DIR__,
26 26 array( 'render_callback' => __NAMESPACE__ . '\render_block' )
27 27 );
28 28 }
29 29 add_action( 'init', __NAMESPACE__ . '\register_block' );
@@ -30,8 +30,11 @@
30 30
31 31 /**
32 32 * Repeat Visitor block dependency declaration.
33 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 + *
34 37 * @param array $attributes Array containing the block attributes.
35 38 * @param string $content String containing the block content.
36 39 *
37 40 * @return string
@@ -36,22 +39,7 @@
36 39 *
37 40 * @return string
38 41 */
39 42 function render_block( $attributes, $content ) {
40 - Jetpack_Gutenberg::load_assets_as_required( FEATURE_NAME );
41 -
42 - $classes = Blocks::classes( FEATURE_NAME, $attributes );
43 -
44 - $count = isset( $_COOKIE['jp-visit-counter'] ) ? (int) $_COOKIE['jp-visit-counter'] : 0;
45 - $criteria = isset( $attributes['criteria'] ) ? $attributes['criteria'] : 'after-visits';
46 - $threshold = isset( $attributes['threshold'] ) ? (int) $attributes['threshold'] : 3;
47 -
48 - if (
49 - ( 'after-visits' === $criteria && $count >= $threshold ) ||
50 - ( 'before-visits' === $criteria && $count < $threshold )
51 - ) {
52 - return $content;
53 - }
54 -
55 - // return an empty div so that view script increments the visit counter in the cookie.
56 - return '<div class="' . esc_attr( $classes ) . '"></div>';
43 + require_once __DIR__ . '/render.php';
44 + return render_block_implementation( $attributes, $content );
57 45 }