Edit File by line
/home/zeestwma/richards.../wp-conte.../plugins/elemento.../modules/componen.../transfor...
File: overridable-transformer.php
<?php
[0] Fix | Delete
[1] Fix | Delete
namespace Elementor\Modules\Components\Transformers;
[2] Fix | Delete
[3] Fix | Delete
use Elementor\Modules\AtomicWidgets\PropsResolver\Props_Resolver_Context;
[4] Fix | Delete
use Elementor\Modules\AtomicWidgets\PropsResolver\Transformer_Base;
[5] Fix | Delete
use Elementor\Modules\AtomicWidgets\Elements\Base\Render_Context;
[6] Fix | Delete
use Elementor\Modules\Components\PropTypes\Override_Prop_Type;
[7] Fix | Delete
[8] Fix | Delete
if ( ! defined( 'ABSPATH' ) ) {
[9] Fix | Delete
exit; // Exit if accessed directly.
[10] Fix | Delete
}
[11] Fix | Delete
[12] Fix | Delete
class Overridable_Transformer extends Transformer_Base {
[13] Fix | Delete
public function transform( $value, Props_Resolver_Context $context ) {
[14] Fix | Delete
[ 'override_key' => $override_key, 'origin_value' => $origin_value ] = $value;
[15] Fix | Delete
[16] Fix | Delete
$result = $origin_value;
[17] Fix | Delete
[18] Fix | Delete
$overrides = Render_Context::get( static::class )['overrides'] ?? [];
[19] Fix | Delete
[20] Fix | Delete
if ( isset( $overrides[ $override_key ] ) ) {
[21] Fix | Delete
$matching_override_value = $overrides[ $override_key ];
[22] Fix | Delete
[23] Fix | Delete
if ( $this->is_origin_value_override( $origin_value ) ) {
[24] Fix | Delete
$result = $this->transform_overridable_override( $origin_value, $matching_override_value, $context );
[25] Fix | Delete
} else {
[26] Fix | Delete
$result = $matching_override_value;
[27] Fix | Delete
}
[28] Fix | Delete
}
[29] Fix | Delete
[30] Fix | Delete
return $result;
[31] Fix | Delete
}
[32] Fix | Delete
[33] Fix | Delete
private function is_origin_value_override( array $origin_value ): bool {
[34] Fix | Delete
return isset( $origin_value['$$type'] ) && Override_Prop_Type::get_key() === $origin_value['$$type'];
[35] Fix | Delete
}
[36] Fix | Delete
[37] Fix | Delete
private function transform_overridable_override( array $inner_override, array $outer_override_value, Props_Resolver_Context $context ): ?array {
[38] Fix | Delete
$override_transformer = new Override_Transformer();
[39] Fix | Delete
$transformed_inner_override = $override_transformer->transform( $inner_override['value'], $context );
[40] Fix | Delete
[41] Fix | Delete
return [
[42] Fix | Delete
'override_key' => $transformed_inner_override['override_key'],
[43] Fix | Delete
'override_value' => $outer_override_value,
[44] Fix | Delete
];
[45] Fix | Delete
}
[46] Fix | Delete
}
[47] Fix | Delete
[48] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function