Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 11
0.00% covered (danger)
0.00%
0 / 2
CRAP
n/a
0 / 0
Automattic\Jetpack\Extensions\Voice_To_Content\register_block
0.00% covered (danger)
0.00%
0 / 6
0.00% covered (danger)
0.00%
0 / 1
30
Automattic\Jetpack\Extensions\Voice_To_Content\load_assets
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2/**
3 * "Voice to content" Block.
4 *
5 * @since 12.5
6 *
7 * @package automattic/jetpack
8 */
9
10namespace Automattic\Jetpack\Extensions\Voice_To_Content;
11
12use Automattic\Jetpack\Blocks;
13
14if ( ! defined( 'ABSPATH' ) ) {
15    exit( 0 );
16}
17
18/**
19 * Registers our block for use in Gutenberg
20 * This is done via an action so that we can disable
21 * registration if we need to.
22 */
23function register_block() {
24    /**
25     * Register the block only if we are on an A8C P2 site.
26     * TODO: when opening it to Jetpack sites, do the same checks
27     * we do on the AI Assistant block: the AI master gate
28     * and the Jetpack connection:
29     * - \Jetpack_AI_Settings::is_ai_enabled()
30     * - ( new Host() )->is_wpcom_simple() || ! ( new Status() )->is_offline_mode()
31     */
32    if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) {
33        if ( function_exists( 'wpcom_is_automattic_p2_site' ) && wpcom_is_automattic_p2_site() ) {
34            Blocks::jetpack_register_block(
35                __DIR__,
36                array( 'render_callback' => __NAMESPACE__ . '\load_assets' )
37            );
38        }
39    }
40}
41add_action( 'init', __NAMESPACE__ . '\register_block' );
42
43/**
44 * "Voice to content" block registration/dependency declaration.
45 *
46 * The render implementation lives in render.php and is only loaded when the
47 * block is actually rendered, keeping it out of the eager front-end path.
48 *
49 * @param array  $attr    Array containing the "Voice to content" block attributes.
50 * @param string $content String containing the "Voice to content" block content.
51 *
52 * @return string
53 */
54function load_assets( $attr, $content ) {
55    require_once __DIR__ . '/render.php';
56    return load_assets_implementation( $attr, $content );
57}