-
WIBUHAX0R1337
-
/
home
/
coludnqa
/
public_html
/
wp-includes
/
[ Home ]
Create Folder
Create File
Nama File / Folder
Size
Action
ID3
--
NONE
IXR
--
NONE
PHPMailer
--
NONE
Requests
--
NONE
SimplePie
--
NONE
Text
--
NONE
assets
--
NONE
block-bindings
--
NONE
block-patterns
--
NONE
block-supports
--
NONE
blocks
--
NONE
certificates
--
NONE
css
--
NONE
customize
--
NONE
fonts
--
NONE
html-api
--
NONE
images
--
NONE
interactivity-api
--
NONE
js
--
NONE
l10n
--
NONE
php-compat
--
NONE
pomo
--
NONE
rest-api
--
NONE
sitemaps
--
NONE
sodium_compat
--
NONE
style-engine
--
NONE
theme-compat
--
NONE
widgets
--
NONE
.htaccess
0.506KB
Edit File
Delete File
Rename
admin-bar.php
36.236KB
Edit File
Delete File
Rename
atomlib.php
11.795KB
Edit File
Delete File
Rename
block-bindings.php
5.463KB
Edit File
Delete File
Rename
block-editor.php
28.122KB
Edit File
Delete File
Rename
block-i18n.json
0.309KB
Edit File
Delete File
Rename
block-patterns.php
12.903KB
Edit File
Delete File
Rename
block-template-utils.php
60.456KB
Edit File
Delete File
Rename
cache-compat.php
5.829KB
Edit File
Delete File
Rename
cache.php
13.158KB
Edit File
Delete File
Rename
capabilities.php
41.717KB
Edit File
Delete File
Rename
class-IXR.php
2.555KB
Edit File
Delete File
Rename
class-feed.php
0.526KB
Edit File
Delete File
Rename
class-http.php
0.358KB
Edit File
Delete File
Rename
class-json.php
42.66KB
Edit File
Delete File
Rename
class-oembed.php
0.392KB
Edit File
Delete File
Rename
class-phpmailer.php
0.648KB
Edit File
Delete File
Rename
class-requests.php
2.185KB
Edit File
Delete File
Rename
class-simplepie.php
0.442KB
Edit File
Delete File
Rename
class-snoopy.php
36.831KB
Edit File
Delete File
Rename
class-walker-category-dropdown.php
2.411KB
Edit File
Delete File
Rename
class-wp-ajax-response.php
5.143KB
Edit File
Delete File
Rename
class-wp-application-passwords.php
16.698KB
Edit File
Delete File
Rename
class-wp-block-bindings-registry.php
8.265KB
Edit File
Delete File
Rename
class-wp-block-editor-context.php
1.318KB
Edit File
Delete File
Rename
class-wp-block-list.php
4.646KB
Edit File
Delete File
Rename
class-wp-block-metadata-registry.php
11.616KB
Edit File
Delete File
Rename
class-wp-block-parser-frame.php
1.97KB
Edit File
Delete File
Rename
class-wp-block-pattern-categories-registry.php
5.245KB
Edit File
Delete File
Rename
class-wp-block-styles-registry.php
6.253KB
Edit File
Delete File
Rename
class-wp-block-supports.php
5.494KB
Edit File
Delete File
Rename
class-wp-block-template.php
1.985KB
Edit File
Delete File
Rename
class-wp-block-templates-registry.php
7.062KB
Edit File
Delete File
Rename
class-wp-block-type-registry.php
4.896KB
Edit File
Delete File
Rename
class-wp-block-type.php
16.86KB
Edit File
Delete File
Rename
class-wp-block.php
22.501KB
Edit File
Delete File
Rename
class-wp-classic-to-block-menu-converter.php
3.992KB
Edit File
Delete File
Rename
class-wp-comment-query.php
47.261KB
Edit File
Delete File
Rename
class-wp-customize-control.php
25.245KB
Edit File
Delete File
Rename
class-wp-customize-manager.php
197.845KB
Edit File
Delete File
Rename
class-wp-customize-nav-menus.php
56.309KB
Edit File
Delete File
Rename
class-wp-customize-panel.php
10.459KB
Edit File
Delete File
Rename
class-wp-customize-section.php
10.946KB
Edit File
Delete File
Rename
class-wp-customize-setting.php
29.26KB
Edit File
Delete File
Rename
class-wp-customize-widgets.php
70.518KB
Edit File
Delete File
Rename
class-wp-date-query.php
34.895KB
Edit File
Delete File
Rename
class-wp-dependencies.php
14.784KB
Edit File
Delete File
Rename
class-wp-dependency.php
2.565KB
Edit File
Delete File
Rename
class-wp-editor.php
70.64KB
Edit File
Delete File
Rename
class-wp-embed.php
15.558KB
Edit File
Delete File
Rename
class-wp-error.php
7.326KB
Edit File
Delete File
Rename
class-wp-exception.php
0.247KB
Edit File
Delete File
Rename
class-wp-feed-cache-transient.php
3.102KB
Edit File
Delete File
Rename
class-wp-feed-cache.php
0.946KB
Edit File
Delete File
Rename
class-wp-hook.php
15.625KB
Edit File
Delete File
Rename
class-wp-http-ixr-client.php
3.419KB
Edit File
Delete File
Rename
class-wp-http.php
40.604KB
Edit File
Delete File
Rename
class-wp-image-editor-gd.php
19.689KB
Edit File
Delete File
Rename
class-wp-image-editor-imagick.php
33.921KB
Edit File
Delete File
Rename
class-wp-image-editor.php
17.116KB
Edit File
Delete File
Rename
class-wp-list-util.php
7.269KB
Edit File
Delete File
Rename
class-wp-locale.php
16.487KB
Edit File
Delete File
Rename
class-wp-matchesmapregex.php
1.785KB
Edit File
Delete File
Rename
class-wp-meta-query.php
29.815KB
Edit File
Delete File
Rename
class-wp-metadata-lazyloader.php
6.673KB
Edit File
Delete File
Rename
class-wp-navigation-fallback.php
8.995KB
Edit File
Delete File
Rename
class-wp-network-query.php
19.392KB
Edit File
Delete File
Rename
class-wp-network.php
12.008KB
Edit File
Delete File
Rename
class-wp-object-cache.php
17.113KB
Edit File
Delete File
Rename
class-wp-oembed-controller.php
6.743KB
Edit File
Delete File
Rename
class-wp-oembed.php
30.865KB
Edit File
Delete File
Rename
class-wp-plugin-dependencies.php
24.722KB
Edit File
Delete File
Rename
class-wp-post-type.php
29.961KB
Edit File
Delete File
Rename
class-wp-query.php
154.319KB
Edit File
Delete File
Rename
class-wp-recovery-mode-cookie-service.php
6.716KB
Edit File
Delete File
Rename
class-wp-recovery-mode-email-service.php
10.921KB
Edit File
Delete File
Rename
class-wp-recovery-mode-key-service.php
4.77KB
Edit File
Delete File
Rename
class-wp-recovery-mode-link-service.php
3.382KB
Edit File
Delete File
Rename
class-wp-rewrite.php
62.195KB
Edit File
Delete File
Rename
class-wp-script-modules.php
19.007KB
Edit File
Delete File
Rename
class-wp-scripts.php
27.68KB
Edit File
Delete File
Rename
class-wp-session-tokens.php
7.147KB
Edit File
Delete File
Rename
class-wp-simplepie-file.php
3.328KB
Edit File
Delete File
Rename
class-wp-site-query.php
30.884KB
Edit File
Delete File
Rename
class-wp-speculation-rules.php
7.351KB
Edit File
Delete File
Rename
class-wp-taxonomy.php
18.124KB
Edit File
Delete File
Rename
class-wp-term-query.php
39.911KB
Edit File
Delete File
Rename
class-wp-textdomain-registry.php
10.235KB
Edit File
Delete File
Rename
class-wp-theme-json-data.php
1.767KB
Edit File
Delete File
Rename
class-wp-theme-json-resolver.php
34.9KB
Edit File
Delete File
Rename
class-wp-theme-json-schema.php
7.194KB
Edit File
Delete File
Rename
class-wp-theme-json.php
159.712KB
Edit File
Delete File
Rename
class-wp-token-map.php
27.947KB
Edit File
Delete File
Rename
class-wp-user-meta-session-tokens.php
2.92KB
Edit File
Delete File
Rename
class-wp-user-query.php
42.632KB
Edit File
Delete File
Rename
class-wp-user.php
22.455KB
Edit File
Delete File
Rename
class-wp-walker.php
13.01KB
Edit File
Delete File
Rename
class-wp-widget-factory.php
3.269KB
Edit File
Delete File
Rename
class-wp-widget.php
17.997KB
Edit File
Delete File
Rename
class-wp-xmlrpc-server.php
210.395KB
Edit File
Delete File
Rename
class-wp.php
25.701KB
Edit File
Delete File
Rename
class-wpdb.php
115.512KB
Edit File
Delete File
Rename
class.wp-dependencies.php
0.364KB
Edit File
Delete File
Rename
class.wp-scripts.php
0.335KB
Edit File
Delete File
Rename
class.wp-styles.php
0.33KB
Edit File
Delete File
Rename
comment.php
128.464KB
Edit File
Delete File
Rename
compat.php
15.992KB
Edit File
Delete File
Rename
cron.php
41.658KB
Edit File
Delete File
Rename
default-constants.php
11.099KB
Edit File
Delete File
Rename
default-filters.php
35.837KB
Edit File
Delete File
Rename
default-widgets.php
2.241KB
Edit File
Delete File
Rename
deprecated.php
187.073KB
Edit File
Delete File
Rename
embed.php
37.277KB
Edit File
Delete File
Rename
error-protection.php
4.024KB
Edit File
Delete File
Rename
feed-rss.php
1.161KB
Edit File
Delete File
Rename
feed-rss2-comments.php
4.039KB
Edit File
Delete File
Rename
feed-rss2.php
3.71KB
Edit File
Delete File
Rename
formatting.php
334.884KB
Edit File
Delete File
Rename
functions.php
281.963KB
Edit File
Delete File
Rename
functions.wp-styles.php
8.382KB
Edit File
Delete File
Rename
http.php
24.719KB
Edit File
Delete File
Rename
https-migration.php
4.63KB
Edit File
Delete File
Rename
locale.php
0.158KB
Edit File
Delete File
Rename
ms-blogs.php
25.239KB
Edit File
Delete File
Rename
ms-default-constants.php
4.806KB
Edit File
Delete File
Rename
ms-default-filters.php
6.48KB
Edit File
Delete File
Rename
ms-deprecated.php
21.249KB
Edit File
Delete File
Rename
ms-files.php
2.68KB
Edit File
Delete File
Rename
ms-functions.php
89.436KB
Edit File
Delete File
Rename
ms-network.php
3.693KB
Edit File
Delete File
Rename
nav-menu.php
43.333KB
Edit File
Delete File
Rename
pluggable-deprecated.php
6.176KB
Edit File
Delete File
Rename
pluggable.php
119.824KB
Edit File
Delete File
Rename
plugin.php
34.634KB
Edit File
Delete File
Rename
post-formats.php
6.936KB
Edit File
Delete File
Rename
registration-functions.php
0.195KB
Edit File
Delete File
Rename
rest-api.php
97.907KB
Edit File
Delete File
Rename
revision.php
30.021KB
Edit File
Delete File
Rename
rewrite.php
19.083KB
Edit File
Delete File
Rename
robots-template.php
5.063KB
Edit File
Delete File
Rename
rss-functions.php
0.249KB
Edit File
Delete File
Rename
rss.php
22.571KB
Edit File
Delete File
Rename
script-loader.php
130.139KB
Edit File
Delete File
Rename
script-modules.php
7.531KB
Edit File
Delete File
Rename
session.php
0.252KB
Edit File
Delete File
Rename
shortcodes.php
23.487KB
Edit File
Delete File
Rename
speculative-loading.php
8.357KB
Edit File
Delete File
Rename
style-engine.php
7.386KB
Edit File
Delete File
Rename
taxonomy.php
172.097KB
Edit File
Delete File
Rename
template-canvas.php
0.531KB
Edit File
Delete File
Rename
template-loader.php
2.941KB
Edit File
Delete File
Rename
theme-i18n.json
1.49KB
Edit File
Delete File
Rename
theme.json
8.5KB
Edit File
Delete File
Rename
theme.php
131.155KB
Edit File
Delete File
Rename
update.php
36.624KB
Edit File
Delete File
Rename
user.php
171.702KB
Edit File
Delete File
Rename
widgets.php
69.062KB
Edit File
Delete File
Rename
wp-db.php
0.435KB
Edit File
Delete File
Rename
wp-diff.php
0.78KB
Edit File
Delete File
Rename
<?php /** * Script Modules API: WP_Script_Modules class. * * Native support for ES Modules and Import Maps. * * @package WordPress * @subpackage Script Modules */ /** * Core class used to register script modules. * * @since 6.5.0 */ class WP_Script_Modules { /** * Holds the registered script modules, keyed by script module identifier. * * @since 6.5.0 * @var array[] */ private $registered = array(); /** * Holds the script module identifiers that were enqueued before registered. * * @since 6.5.0 * @var array<string, true> */ private $enqueued_before_registered = array(); /** * Tracks whether the @wordpress/a11y script module is available. * * Some additional HTML is required on the page for the module to work. Track * whether it's available to print at the appropriate time. * * @since 6.7.0 * @var bool */ private $a11y_available = false; /** * Registers the script module if no script module with that script module * identifier has already been registered. * * @since 6.5.0 * * @param string $id The identifier of the script module. Should be unique. It will be used in the * final import map. * @param string $src Optional. Full URL of the script module, or path of the script module relative * to the WordPress root directory. If it is provided and the script module has * not been registered yet, it will be registered. * @param array $deps { * Optional. List of dependencies. * * @type string|array ...$0 { * An array of script module identifiers of the dependencies of this script * module. The dependencies can be strings or arrays. If they are arrays, * they need an `id` key with the script module identifier, and can contain * an `import` key with either `static` or `dynamic`. By default, * dependencies that don't contain an `import` key are considered static. * * @type string $id The script module identifier. * @type string $import Optional. Import type. May be either `static` or * `dynamic`. Defaults to `static`. * } * } * @param string|false|null $version Optional. String specifying the script module version number. Defaults to false. * It is added to the URL as a query string for cache busting purposes. If $version * is set to false, the version number is the currently installed WordPress version. * If $version is set to null, no version is added. */ public function register( string $id, string $src, array $deps = array(), $version = false ) { if ( ! isset( $this->registered[ $id ] ) ) { $dependencies = array(); foreach ( $deps as $dependency ) { if ( is_array( $dependency ) ) { if ( ! isset( $dependency['id'] ) ) { _doing_it_wrong( __METHOD__, __( 'Missing required id key in entry among dependencies array.' ), '6.5.0' ); continue; } $dependencies[] = array( 'id' => $dependency['id'], 'import' => isset( $dependency['import'] ) && 'dynamic' === $dependency['import'] ? 'dynamic' : 'static', ); } elseif ( is_string( $dependency ) ) { $dependencies[] = array( 'id' => $dependency, 'import' => 'static', ); } else { _doing_it_wrong( __METHOD__, __( 'Entries in dependencies array must be either strings or arrays with an id key.' ), '6.5.0' ); } } $this->registered[ $id ] = array( 'src' => $src, 'version' => $version, 'enqueue' => isset( $this->enqueued_before_registered[ $id ] ), 'dependencies' => $dependencies, ); } } /** * Marks the script module to be enqueued in the page. * * If a src is provided and the script module has not been registered yet, it * will be registered. * * @since 6.5.0 * * @param string $id The identifier of the script module. Should be unique. It will be used in the * final import map. * @param string $src Optional. Full URL of the script module, or path of the script module relative * to the WordPress root directory. If it is provided and the script module has * not been registered yet, it will be registered. * @param array $deps { * Optional. List of dependencies. * * @type string|array ...$0 { * An array of script module identifiers of the dependencies of this script * module. The dependencies can be strings or arrays. If they are arrays, * they need an `id` key with the script module identifier, and can contain * an `import` key with either `static` or `dynamic`. By default, * dependencies that don't contain an `import` key are considered static. * * @type string $id The script module identifier. * @type string $import Optional. Import type. May be either `static` or * `dynamic`. Defaults to `static`. * } * } * @param string|false|null $version Optional. String specifying the script module version number. Defaults to false. * It is added to the URL as a query string for cache busting purposes. If $version * is set to false, the version number is the currently installed WordPress version. * If $version is set to null, no version is added. */ public function enqueue( string $id, string $src = '', array $deps = array(), $version = false ) { if ( isset( $this->registered[ $id ] ) ) { $this->registered[ $id ]['enqueue'] = true; } elseif ( $src ) { $this->register( $id, $src, $deps, $version ); $this->registered[ $id ]['enqueue'] = true; } else { $this->enqueued_before_registered[ $id ] = true; } } /** * Unmarks the script module so it will no longer be enqueued in the page. * * @since 6.5.0 * * @param string $id The identifier of the script module. */ public function dequeue( string $id ) { if ( isset( $this->registered[ $id ] ) ) { $this->registered[ $id ]['enqueue'] = false; } unset( $this->enqueued_before_registered[ $id ] ); } /** * Removes a registered script module. * * @since 6.5.0 * * @param string $id The identifier of the script module. */ public function deregister( string $id ) { unset( $this->registered[ $id ] ); unset( $this->enqueued_before_registered[ $id ] ); } /** * Adds the hooks to print the import map, enqueued script modules and script * module preloads. * * In classic themes, the script modules used by the blocks are not yet known * when the `wp_head` actions is fired, so it needs to print everything in the * footer. * * @since 6.5.0 */ public function add_hooks() { $position = wp_is_block_theme() ? 'wp_head' : 'wp_footer'; add_action( $position, array( $this, 'print_import_map' ) ); add_action( $position, array( $this, 'print_enqueued_script_modules' ) ); add_action( $position, array( $this, 'print_script_module_preloads' ) ); add_action( 'admin_print_footer_scripts', array( $this, 'print_import_map' ) ); add_action( 'admin_print_footer_scripts', array( $this, 'print_enqueued_script_modules' ) ); add_action( 'admin_print_footer_scripts', array( $this, 'print_script_module_preloads' ) ); add_action( 'wp_footer', array( $this, 'print_script_module_data' ) ); add_action( 'admin_print_footer_scripts', array( $this, 'print_script_module_data' ) ); add_action( 'wp_footer', array( $this, 'print_a11y_script_module_html' ), 20 ); add_action( 'admin_print_footer_scripts', array( $this, 'print_a11y_script_module_html' ), 20 ); } /** * Prints the enqueued script modules using script tags with type="module" * attributes. * * @since 6.5.0 */ public function print_enqueued_script_modules() { foreach ( $this->get_marked_for_enqueue() as $id => $script_module ) { wp_print_script_tag( array( 'type' => 'module', 'src' => $this->get_src( $id ), 'id' => $id . '-js-module', ) ); } } /** * Prints the the static dependencies of the enqueued script modules using * link tags with rel="modulepreload" attributes. * * If a script module is marked for enqueue, it will not be preloaded. * * @since 6.5.0 */ public function print_script_module_preloads() { foreach ( $this->get_dependencies( array_keys( $this->get_marked_for_enqueue() ), array( 'static' ) ) as $id => $script_module ) { // Don't preload if it's marked for enqueue. if ( true !== $script_module['enqueue'] ) { echo sprintf( '<link rel="modulepreload" href="%s" id="%s">', esc_url( $this->get_src( $id ) ), esc_attr( $id . '-js-modulepreload' ) ); } } } /** * Prints the import map using a script tag with a type="importmap" attribute. * * @since 6.5.0 */ public function print_import_map() { $import_map = $this->get_import_map(); if ( ! empty( $import_map['imports'] ) ) { wp_print_inline_script_tag( wp_json_encode( $import_map, JSON_HEX_TAG | JSON_HEX_AMP ), array( 'type' => 'importmap', 'id' => 'wp-importmap', ) ); } } /** * Returns the import map array. * * @since 6.5.0 * * @return array Array with an `imports` key mapping to an array of script module identifiers and their respective * URLs, including the version query. */ private function get_import_map(): array { $imports = array(); foreach ( $this->get_dependencies( array_keys( $this->get_marked_for_enqueue() ) ) as $id => $script_module ) { $imports[ $id ] = $this->get_src( $id ); } return array( 'imports' => $imports ); } /** * Retrieves the list of script modules marked for enqueue. * * @since 6.5.0 * * @return array[] Script modules marked for enqueue, keyed by script module identifier. */ private function get_marked_for_enqueue(): array { $enqueued = array(); foreach ( $this->registered as $id => $script_module ) { if ( true === $script_module['enqueue'] ) { $enqueued[ $id ] = $script_module; } } return $enqueued; } /** * Retrieves all the dependencies for the given script module identifiers, * filtered by import types. * * It will consolidate an array containing a set of unique dependencies based * on the requested import types: 'static', 'dynamic', or both. This method is * recursive and also retrieves dependencies of the dependencies. * * @since 6.5.0 * * @param string[] $ids The identifiers of the script modules for which to gather dependencies. * @param string[] $import_types Optional. Import types of dependencies to retrieve: 'static', 'dynamic', or both. * Default is both. * @return array[] List of dependencies, keyed by script module identifier. */ private function get_dependencies( array $ids, array $import_types = array( 'static', 'dynamic' ) ) { return array_reduce( $ids, function ( $dependency_script_modules, $id ) use ( $import_types ) { $dependencies = array(); foreach ( $this->registered[ $id ]['dependencies'] as $dependency ) { if ( in_array( $dependency['import'], $import_types, true ) && isset( $this->registered[ $dependency['id'] ] ) && ! isset( $dependency_script_modules[ $dependency['id'] ] ) ) { $dependencies[ $dependency['id'] ] = $this->registered[ $dependency['id'] ]; } } return array_merge( $dependency_script_modules, $dependencies, $this->get_dependencies( array_keys( $dependencies ), $import_types ) ); }, array() ); } /** * Gets the versioned URL for a script module src. * * If $version is set to false, the version number is the currently installed * WordPress version. If $version is set to null, no version is added. * Otherwise, the string passed in $version is used. * * @since 6.5.0 * * @param string $id The script module identifier. * @return string The script module src with a version if relevant. */ private function get_src( string $id ): string { if ( ! isset( $this->registered[ $id ] ) ) { return ''; } $script_module = $this->registered[ $id ]; $src = $script_module['src']; if ( false === $script_module['version'] ) { $src = add_query_arg( 'ver', get_bloginfo( 'version' ), $src ); } elseif ( null !== $script_module['version'] ) { $src = add_query_arg( 'ver', $script_module['version'], $src ); } /** * Filters the script module source. * * @since 6.5.0 * * @param string $src Module source URL. * @param string $id Module identifier. */ $src = apply_filters( 'script_module_loader_src', $src, $id ); return $src; } /** * Print data associated with Script Modules. * * The data will be embedded in the page HTML and can be read by Script Modules on page load. * * @since 6.7.0 * * Data can be associated with a Script Module via the * {@see "script_module_data_{$module_id}"} filter. * * The data for a Script Module will be serialized as JSON in a script tag with an ID of the * form `wp-script-module-data-{$module_id}`. */ public function print_script_module_data(): void { $modules = array(); foreach ( array_keys( $this->get_marked_for_enqueue() ) as $id ) { if ( '@wordpress/a11y' === $id ) { $this->a11y_available = true; } $modules[ $id ] = true; } foreach ( array_keys( $this->get_import_map()['imports'] ) as $id ) { if ( '@wordpress/a11y' === $id ) { $this->a11y_available = true; } $modules[ $id ] = true; } foreach ( array_keys( $modules ) as $module_id ) { /** * Filters data associated with a given Script Module. * * Script Modules may require data that is required for initialization or is essential * to have immediately available on page load. These are suitable use cases for * this data. * * The dynamic portion of the hook name, `$module_id`, refers to the Script Module ID * that the data is associated with. * * This is best suited to pass essential data that must be available to the module for * initialization or immediately on page load. It does not replace the REST API or * fetching data from the client. * * Example: * * add_filter( * 'script_module_data_MyScriptModuleID', * function ( array $data ): array { * $data['dataForClient'] = 'ok'; * return $data; * } * ); * * If the filter returns no data (an empty array), nothing will be embedded in the page. * * The data for a given Script Module, if provided, will be JSON serialized in a script * tag with an ID of the form `wp-script-module-data-{$module_id}`. * * The data can be read on the client with a pattern like this: * * Example: * * const dataContainer = document.getElementById( 'wp-script-module-data-MyScriptModuleID' ); * let data = {}; * if ( dataContainer ) { * try { * data = JSON.parse( dataContainer.textContent ); * } catch {} * } * // data.dataForClient === 'ok'; * initMyScriptModuleWithData( data ); * * @since 6.7.0 * * @param array $data The data associated with the Script Module. */ $data = apply_filters( "script_module_data_{$module_id}", array() ); if ( is_array( $data ) && array() !== $data ) { /* * This data will be printed as JSON inside a script tag like this: * <script type="application/json"></script> * * A script tag must be closed by a sequence beginning with `</`. It's impossible to * close a script tag without using `<`. We ensure that `<` is escaped and `/` can * remain unescaped, so `</script>` will be printed as `\u003C/script\u00E3`. * * - JSON_HEX_TAG: All < and > are converted to \u003C and \u003E. * - JSON_UNESCAPED_SLASHES: Don't escape /. * * If the page will use UTF-8 encoding, it's safe to print unescaped unicode: * * - JSON_UNESCAPED_UNICODE: Encode multibyte Unicode characters literally (instead of as `\uXXXX`). * - JSON_UNESCAPED_LINE_TERMINATORS: The line terminators are kept unescaped when * JSON_UNESCAPED_UNICODE is supplied. It uses the same behaviour as it was * before PHP 7.1 without this constant. Available as of PHP 7.1.0. * * The JSON specification requires encoding in UTF-8, so if the generated HTML page * is not encoded in UTF-8 then it's not safe to include those literals. They must * be escaped to avoid encoding issues. * * @see https://www.rfc-editor.org/rfc/rfc8259.html for details on encoding requirements. * @see https://www.php.net/manual/en/json.constants.php for details on these constants. * @see https://html.spec.whatwg.org/#script-data-state for details on script tag parsing. */ $json_encode_flags = JSON_HEX_TAG | JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_LINE_TERMINATORS; if ( ! is_utf8_charset() ) { $json_encode_flags = JSON_HEX_TAG | JSON_UNESCAPED_SLASHES; } wp_print_inline_script_tag( wp_json_encode( $data, $json_encode_flags ), array( 'type' => 'application/json', 'id' => "wp-script-module-data-{$module_id}", ) ); } } } /** * @access private This is only intended to be called by the registered actions. * * @since 6.7.0 */ public function print_a11y_script_module_html() { if ( ! $this->a11y_available ) { return; } echo '<div style="position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip-path:inset(50%);border:0;word-wrap:normal !important;">' . '<p id="a11y-speak-intro-text" class="a11y-speak-intro-text" hidden>' . esc_html__( 'Notifications' ) . '</p>' . '<div id="a11y-speak-assertive" class="a11y-speak-region" aria-live="assertive" aria-relevant="additions text" aria-atomic="true"></div>' . '<div id="a11y-speak-polite" class="a11y-speak-region" aria-live="polite" aria-relevant="additions text" aria-atomic="true"></div>' . '</div>'; } }
© 2022 - 2023 WIBUHAXOR V1 By Lutfifakee || Padang Blackhat