From 27b117bbcd76191b620fc1a19d9132430a905df8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6ren=20Wrede?= Date: Fri, 28 Jul 2023 13:14:44 +0200 Subject: [PATCH] Performance: Replace array_key_exists() with isset() check. (#53098) --- lib/class-wp-theme-json-gutenberg.php | 32 +++++++-------------------- 1 file changed, 8 insertions(+), 24 deletions(-) diff --git a/lib/class-wp-theme-json-gutenberg.php b/lib/class-wp-theme-json-gutenberg.php index 60e69632eedb62..2672d090aacbda 100644 --- a/lib/class-wp-theme-json-gutenberg.php +++ b/lib/class-wp-theme-json-gutenberg.php @@ -552,9 +552,7 @@ class WP_Theme_JSON_Gutenberg { public static function get_element_class_name( $element ) { $class_name = ''; - // TODO: Replace array_key_exists() with isset() check once WordPress drops - // support for PHP 5.6. See https://core.trac.wordpress.org/ticket/57067. - if ( array_key_exists( $element, static::__EXPERIMENTAL_ELEMENT_CLASS_NAMES ) ) { + if ( isset( static::__EXPERIMENTAL_ELEMENT_CLASS_NAMES[ $element ] ) ) { $class_name = static::__EXPERIMENTAL_ELEMENT_CLASS_NAMES[ $element ]; } @@ -749,9 +747,7 @@ protected static function sanitize( $input, $valid_block_names, $valid_element_n foreach ( $valid_element_names as $element ) { $schema_styles_elements[ $element ] = $styles_non_top_level; - // TODO: Replace array_key_exists() with isset() check once WordPress drops - // support for PHP 5.6. See https://core.trac.wordpress.org/ticket/57067. - if ( array_key_exists( $element, static::VALID_ELEMENT_PSEUDO_SELECTORS ) ) { + if ( isset( static::VALID_ELEMENT_PSEUDO_SELECTORS[ $element ] ) ) { foreach ( static::VALID_ELEMENT_PSEUDO_SELECTORS[ $element ] as $pseudo_selector ) { $schema_styles_elements[ $element ][ $pseudo_selector ] = $styles_non_top_level; } @@ -1928,9 +1924,7 @@ protected static function compute_style_properties( $styles, $settings = array() if ( is_array( $value_path ) ) { $path_string = implode( '.', $value_path ); if ( - // TODO: Replace array_key_exists() with isset() check once WordPress drops - // support for PHP 5.6. See https://core.trac.wordpress.org/ticket/57067. - array_key_exists( $path_string, static::PROTECTED_PROPERTIES ) && + isset( static::PROTECTED_PROPERTIES[ $path_string ] ) && _wp_array_get( $settings, static::PROTECTED_PROPERTIES[ $path_string ], null ) === null ) { continue; @@ -2134,9 +2128,7 @@ protected static function get_style_nodes( $theme_json, $selectors = array() ) { ); // Handle any pseudo selectors for the element. - // TODO: Replace array_key_exists() with isset() check once WordPress drops - // support for PHP 5.6. See https://core.trac.wordpress.org/ticket/57067. - if ( array_key_exists( $element, static::VALID_ELEMENT_PSEUDO_SELECTORS ) ) { + if ( isset( static::VALID_ELEMENT_PSEUDO_SELECTORS[ $element ] ) ) { foreach ( static::VALID_ELEMENT_PSEUDO_SELECTORS[ $element ] as $pseudo_selector ) { if ( isset( $theme_json['styles']['elements'][ $element ][ $pseudo_selector ] ) ) { @@ -2287,9 +2279,7 @@ private static function get_block_nodes( $theme_json, $selectors = array() ) { ); // Handle any pseudo selectors for the element. - // TODO: Replace array_key_exists() with isset() check once WordPress drops - // support for PHP 5.6. See https://core.trac.wordpress.org/ticket/57067. - if ( array_key_exists( $element, static::VALID_ELEMENT_PSEUDO_SELECTORS ) ) { + if ( isset( static::VALID_ELEMENT_PSEUDO_SELECTORS[ $element ] ) ) { foreach ( static::VALID_ELEMENT_PSEUDO_SELECTORS[ $element ] as $pseudo_selector ) { if ( isset( $theme_json['styles']['blocks'][ $name ]['elements'][ $element ][ $pseudo_selector ] ) ) { $nodes[] = array( @@ -2369,9 +2359,7 @@ static function( $split_selector ) use ( $clean_style_variation_selector ) { $element_pseudo_allowed = array(); - // TODO: Replace array_key_exists() with isset() check once WordPress drops - // support for PHP 5.6. See https://core.trac.wordpress.org/ticket/57067. - if ( array_key_exists( $current_element, static::VALID_ELEMENT_PSEUDO_SELECTORS ) ) { + if ( isset( static::VALID_ELEMENT_PSEUDO_SELECTORS[ $current_element ] ) ) { $element_pseudo_allowed = static::VALID_ELEMENT_PSEUDO_SELECTORS[ $current_element ]; } @@ -2396,9 +2384,7 @@ static function( $pseudo_selector ) use ( $selector ) { * Otherwise just compute the styles for the default selector as normal. */ if ( $pseudo_selector && isset( $node[ $pseudo_selector ] ) && - // TODO: Replace array_key_exists() with isset() check once WordPress drops - // support for PHP 5.6. See https://core.trac.wordpress.org/ticket/57067. - array_key_exists( $current_element, static::VALID_ELEMENT_PSEUDO_SELECTORS ) + isset( static::VALID_ELEMENT_PSEUDO_SELECTORS[ $current_element ] ) && in_array( $pseudo_selector, static::VALID_ELEMENT_PSEUDO_SELECTORS[ $current_element ], true ) ) { $declarations = static::compute_style_properties( $node[ $pseudo_selector ], $settings, null, $this->theme_json, $selector, $use_root_padding ); @@ -2901,9 +2887,7 @@ public static function remove_insecure_properties( $theme_json ) { * $output is stripped of pseudo selectors. Re-add and process them * or insecure styles here. */ - // TODO: Replace array_key_exists() with isset() check once WordPress drops - // support for PHP 5.6. See https://core.trac.wordpress.org/ticket/57067. - if ( array_key_exists( $current_element, static::VALID_ELEMENT_PSEUDO_SELECTORS ) ) { + if ( isset( static::VALID_ELEMENT_PSEUDO_SELECTORS[ $current_element ] ) ) { foreach ( static::VALID_ELEMENT_PSEUDO_SELECTORS[ $current_element ] as $pseudo_selector ) { if ( isset( $input[ $pseudo_selector ] ) ) { $output[ $pseudo_selector ] = static::remove_insecure_styles( $input[ $pseudo_selector ] );