| @@ -729,13 +729,19 @@ | ||
| 729 | 729 | if ( $id === $element['id'] ) { |
| 730 | 730 | return $element; |
| 731 | 731 | } |
| 732 | 732 | |
| 733 | - if ( ! empty( $element['elements'] ) ) { | |
| 734 | - $element = self::find_element_recursive( $element['elements'], $id ); | |
| 733 | + $inner_elements = apply_filters( | |
| 734 | + 'elementor/utils/find_element_recursive/inner_elements', | |
| 735 | + $element['elements'] ?? [], | |
| 736 | + $element | |
| 737 | + ); | |
| 735 | 738 | |
| 736 | - if ( $element ) { | |
| 737 | - return $element; | |
| 739 | + if ( ! empty( $inner_elements ) ) { | |
| 740 | + $found = self::find_element_recursive( $inner_elements, $id ); | |
| 741 | + | |
| 742 | + if ( $found ) { | |
| 743 | + return $found; | |
| 738 | 744 | } |
| 739 | 745 | } |
| 740 | 746 | } |
| 741 | 747 | |
| @@ -922,10 +928,10 @@ | ||
| 922 | 928 | return $cache; |
| 923 | 929 | } |
| 924 | 930 | |
| 925 | 931 | public static function is_sale_time(): bool { |
| 926 | - $sale_start_time = gmmktime( 12, 0, 0, 11, 25, 2025 ); | |
| 927 | - $sale_end_time = gmmktime( 3, 59, 0, 12, 3, 2025 ); | |
| 932 | + $sale_start_time = gmmktime( 10, 0, 0, 6, 15, 2026 ); | |
| 933 | + $sale_end_time = gmmktime( 3, 59, 0, 6, 17, 2026 ); | |
| 928 | 934 | |
| 929 | 935 | $now_time = gmdate( 'U' ); |
| 930 | 936 | |
| 931 | 937 | return $now_time >= $sale_start_time && $now_time <= $sale_end_time; |
| @@ -971,6 +977,19 @@ | ||
| 971 | 977 | } |
| 972 | 978 | |
| 973 | 979 | public static function encode_string( string $decoded_string ): string { |
| 974 | 980 | return base64_encode( $decoded_string ); |
| 981 | + } | |
| 982 | + | |
| 983 | + public static function html_to_plain_text( string $html ): string { | |
| 984 | + if ( empty( $html ) ) { | |
| 985 | + return ''; | |
| 986 | + } | |
| 987 | + | |
| 988 | + $text = preg_replace( '#<br\s*/?\s*>#i', ' ', $html ); | |
| 989 | + $text = preg_replace( '#</?[a-z][^>]*>#i', ' ', $text ); | |
| 990 | + $text = html_entity_decode( $text, ENT_QUOTES, 'UTF-8' ); | |
| 991 | + $text = str_replace( "\xE2\x80\x8B", '', $text ); | |
| 992 | + | |
| 993 | + return trim( preg_replace( '/\s+/', ' ', $text ) ); | |
| 975 | 994 | } |
| 976 | 995 | } |