true,
'date-*' => true,
'id' => true,
'type' => true,
'value' => true,
];
}
$html['script'] = [
'type' => true,
];
}
return $html;
}
/**
* Enqueue assets.
*/
public static function enqueue_assets() {
if ( Theme::is( 'Divi' ) ) {
\wp_enqueue_script( 'embed-privacy-divi' );
\wp_enqueue_style( 'embed-privacy-divi' );
}
}
/**
* Replace Google Maps Markup in Divi.
*
* @param string $output Current output
* @param string $render_method Divi render method
* @param \ET_Builder_Module $module Module instance
* @return string Updated output
*/
public static function replace_google_maps( $output, $render_method, $module ) {
if ( $render_method === 'render_as_builder_data' ) {
return $output;
}
if ( ! $module instanceof \ET_Builder_Module_Map ) {
return $output;
}
global $wp_scripts;
Embed_Privacy::get_instance()->has_embed = true;
Embed_Privacy::get_instance()->frontend->print_assets();
$output .= \sprintf(
'',
\esc_attr( $wp_scripts->registered['google-maps-api']->handle . '-embed-privacy' ),
\esc_url(
\add_query_arg(
[
'key' => \et_pb_get_google_api_key(),
'v' => 3,
'ver' => $wp_scripts->registered['google-maps-api']->ver,
],
$wp_scripts->registered['google-maps-api']->src
)
)
);
$output .= "";
return Template::get( Providers::get_instance()->get_by_name( 'google-maps' ), $output );
}
/**
* Register assets.
*
* @param bool $is_debug Whether debug mode is enabled
* @param string $suffix A filename suffix
*/
public static function register_assets( $is_debug, $suffix ) {
$js_file_url = \EPI_EMBED_PRIVACY_URL . 'assets/js/divi' . $suffix . '.js';
$file_version = $is_debug ? \filemtime( \EPI_EMBED_PRIVACY_BASE . 'assets/js/divi' . $suffix . '.js' ) : \EMBED_PRIVACY_VERSION;
\wp_register_script( 'embed-privacy-divi', $js_file_url, [], $file_version, [ 'strategy' => 'defer' ] );
$css_file_url = \EPI_EMBED_PRIVACY_URL . 'assets/style/divi' . $suffix . '.css';
$file_version = $is_debug ? \filemtime( \EPI_EMBED_PRIVACY_BASE . 'assets/style/divi' . $suffix . '.css' ) : \EMBED_PRIVACY_VERSION;
\wp_register_style( 'embed-privacy-divi', $css_file_url, [], $file_version );
}
/**
* Remove filter for dynamic content.
*
* @since 1.10.9
*
* @param string $content Current dynamic content
* @return string Current dynamic content
*/
public static function remove_dynamic_content_filter( $content ) {
\remove_filter( 'wp_kses_allowed_html', [ self::class, 'allow_script_in_post' ], 10 );
return $content;
}
}