PluginProbe
Elementor Website Builder – more than just a page builder / 4.3.0
Elementor Website Builder – more than just a page builder v4.3.0
4.3.1 4.3.0 4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 All 454 releases
elementor / modules / atomic-widgets / plain-resolvers / resolvers / dynamic-plain-resolver.php

dynamic-plain-resolver.php in Elementor Website Builder – more than just a page builder 4.3.0, at modules/atomic-widgets/plain-resolvers/resolvers/dynamic-plain-resolver.php

37 lines 1.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Elementor\Modules\AtomicWidgets\PlainResolvers\Resolvers;
4
5 use Elementor\Modules\AtomicWidgets\PlainResolvers\Plain_Resolver_Base;
6 use Elementor\Modules\AtomicWidgets\PlainResolvers\Plain_Values_Resolver;
7 use Elementor\Modules\AtomicWidgets\PropTypes\Contracts\Prop_Type;
8 use Elementor\Modules\Mcp\Abilities\Dynamic_Tag_Llm_Resolver;
9
10 if ( ! defined( 'ABSPATH' ) ) {
11 exit;
12 }
13
14 class Dynamic_Plain_Resolver extends Plain_Resolver_Base {
15 private Plain_Values_Resolver $walker;
16
17 public function __construct( Plain_Values_Resolver $walker ) {
18 $this->walker = $walker;
19 }
20
21 public function resolve( $plain_value ) {
22 if ( ! is_array( $plain_value ) ) {
23 return null;
24 }
25
26 if ( ! isset( $plain_value['name'] ) || ! is_string( $plain_value['name'] ) ) {
27 return null;
28 }
29
30 // Dynamic tag `settings` are validated recursively inside Dynamic_Tag_Llm_Resolver.
31
32 $settings_resolver = fn( $value, Prop_Type $prop_type ) => $this->walker->resolve( $value, $prop_type );
33
34 return Dynamic_Tag_Llm_Resolver::resolve( $plain_value, $settings_resolver );
35 }
36 }
37