PluginProbe
Elementor Website Builder – more than just a page builder / 3.28.4
Elementor Website Builder – more than just a page builder v3.28.4
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 / props-resolver / transformers / styles / background-image-overlay-transformer.php

background-image-overlay-transformer.php in Elementor Website Builder – more than just a page builder 3.28.4, at modules/atomic-widgets/props-resolver/transformers/styles/background-image-overlay-transformer.php

54 lines 1.2 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\PropsResolver\Transformers\Styles;
4
5 use Elementor\Modules\AtomicWidgets\PropsResolver\Transformer_Base;
6
7 if ( ! defined( 'ABSPATH' ) ) {
8 exit; // Exit if accessed directly.
9 }
10
11 class Background_Image_Overlay_Transformer extends Transformer_Base {
12 const DEFAULT_POSITION = '0% 0%';
13
14 public function transform( $value, $key ) {
15 if ( ! isset( $value['image'] ) ) {
16 return '';
17 }
18
19 $image_url = $value['image']['src'];
20
21 $background_style = "url(\" $image_url \")";
22
23 if ( ! empty( $value['repeat'] ) ) {
24 $background_style .= ' ' . $value['repeat'];
25 }
26
27 if ( ! empty( $value['attachment'] ) ) {
28 $background_style .= ' ' . $value['attachment'];
29 }
30
31 $position_and_size_style = $this->get_position_and_size_style( $value );
32
33 if ( ! empty( $position_and_size_style ) ) {
34 $background_style .= ' ' . $position_and_size_style;
35 }
36
37 return $background_style;
38 }
39
40 private function get_position_and_size_style( array $value ): string {
41 if ( ! isset( $value['size'] ) && ! isset( $value['position'] ) ) {
42 return '';
43 }
44
45 if ( ! isset( $value['size'] ) ) {
46 return $value['position'];
47 }
48
49 $position = $value['position'] ?? self::DEFAULT_POSITION;
50
51 return $position . ' / ' . $value['size'];
52 }
53 }
54