%PDF- %PDF-
Direktori : /home/tradesc/www/relax/wp-content/plugins/google-site-kit/includes/Core/Util/ |
Current File : /home/tradesc/www/relax/wp-content/plugins/google-site-kit/includes/Core/Util/BC_Functions.php |
<?php /** * Class Google\Site_Kit\Core\Util\BC_Functions * * @package Google\Site_Kit\Core\Util * @copyright 2021 Google LLC * @license https://www.apache.org/licenses/LICENSE-2.0 Apache License 2.0 * @link https://sitekit.withgoogle.com */ namespace Google\Site_Kit\Core\Util; use BadMethodCallException; use WP_REST_Request; /** * Class for providing backwards compatible core functions, without polyfilling. * * @since 1.7.0 * @access private * @ignore */ class BC_Functions { /** * Proxies calls to global functions, while falling back to the internal method by the same name. * * @since 1.7.0 * * @param string $function_name Function name to call. * @param array $arguments Arguments passed to function. * @return mixed * @throws BadMethodCallException Thrown if no method exists by the same name as the function. */ public static function __callStatic( $function_name, $arguments ) { if ( function_exists( $function_name ) ) { return call_user_func_array( $function_name, $arguments ); } if ( method_exists( __CLASS__, $function_name ) ) { return self::{ $function_name }( ...$arguments ); } throw new BadMethodCallException( "$function_name does not exist." ); } /** * Basic implementation of the wp_sanitize_script_attributes function introduced in the WordPress version 5.7.0. * * @since 1.41.0 * * @param array $attributes Key-value pairs representing `<script>` tag attributes. * @return string String made of sanitized `<script>` tag attributes. */ protected static function wp_sanitize_script_attributes( $attributes ) { $attributes_string = ''; foreach ( $attributes as $attribute_name => $attribute_value ) { if ( is_bool( $attribute_value ) ) { if ( $attribute_value ) { $attributes_string .= ' ' . esc_attr( $attribute_name ); } } else { $attributes_string .= sprintf( ' %1$s="%2$s"', esc_attr( $attribute_name ), esc_attr( $attribute_value ) ); } } return $attributes_string; } /** * A fallback for the wp_get_script_tag function introduced in the WordPress version 5.7.0. * * @since 1.41.0 * * @param array $attributes Key-value pairs representing `<script>` tag attributes. * @return string String containing `<script>` opening and closing tags. */ protected static function wp_get_script_tag( $attributes ) { return sprintf( "<script %s></script>\n", self::wp_sanitize_script_attributes( $attributes ) ); } /** * A fallback for the wp_print_script_tag function introduced in the WordPress version 5.7.0. * * @since 1.41.0 * * @param array $attributes Key-value pairs representing `<script>` tag attributes. */ protected static function wp_print_script_tag( $attributes ) { echo self::wp_get_script_tag( $attributes ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } /** * A fallback for the wp_get_inline_script_tag function introduced in the WordPress version 5.7.0. * * @since 1.41.0 * * @param string $javascript Inline JavaScript code. * @param array $attributes Optional. Key-value pairs representing `<script>` tag attributes. * @return string String containing inline JavaScript code wrapped around `<script>` tag. */ protected static function wp_get_inline_script_tag( $javascript, $attributes = array() ) { $javascript = "\n" . trim( $javascript, "\n\r " ) . "\n"; return sprintf( "<script%s>%s</script>\n", self::wp_sanitize_script_attributes( $attributes ), $javascript ); } /** * A fallback for the wp_get_inline_script_tag function introduced in the WordPress version 5.7.0. * * @since 1.41.0 * * @param string $javascript Inline JavaScript code. * @param array $attributes Optional. Key-value pairs representing `<script>` tag attributes. */ protected static function wp_print_inline_script_tag( $javascript, $attributes = array() ) { echo self::wp_get_inline_script_tag( $javascript, $attributes ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } /** * A fallback for the wp_get_sidebar function introduced in the WordPress version 5.9.0. * * Retrieves the registered sidebar with the given ID. * * @since 1.86.0 * * @global array $wp_registered_sidebars The registered sidebars. * * @param string $id The sidebar ID. * @return array|null The discovered sidebar, or null if it is not registered. */ protected static function wp_get_sidebar( $id ) { global $wp_registered_sidebars; foreach ( (array) $wp_registered_sidebars as $sidebar ) { if ( $sidebar['id'] === $id ) { return $sidebar; } } if ( 'wp_inactive_widgets' === $id ) { return array( 'id' => 'wp_inactive_widgets', 'name' => __( 'Inactive widgets', 'default' ), ); } return null; } }