PluginProbe
Elementor Website Builder – more than just a page builder / 4.2.0-dev2
Elementor Website Builder – more than just a page builder v4.2.0-dev2
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 4.1.0-beta1 4.1.0-dev1 4.0.7 All 451 releases
elementor / modules / atomic-widgets / elements / base / render-context.php

render-context.php in Elementor Website Builder – more than just a page builder 4.2.0-dev2, at modules/atomic-widgets/elements/base/render-context.php

39 lines 941 B
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\Elements\Base;
4
5 if ( ! defined( 'ABSPATH' ) ) {
6 exit; // Exit if accessed directly.
7 }
8
9 class Render_Context {
10 private static $context_stack = [];
11
12 public static function push( string $key, array $context ): void {
13 if ( ! self::get( $key ) ) {
14 self::$context_stack[ $key ] = [];
15 }
16
17 self::$context_stack[ $key ][] = $context;
18 }
19
20 public static function pop( string $key ): void {
21 if ( isset( self::$context_stack[ $key ] ) && ! empty( self::$context_stack[ $key ] ) ) {
22 array_pop( self::$context_stack[ $key ] );
23 }
24 }
25
26 public static function get( string $key ): array {
27 if ( ! isset( self::$context_stack[ $key ] ) || empty( self::$context_stack[ $key ] ) ) {
28 return [];
29 }
30
31 $last_key = array_key_last( self::$context_stack[ $key ] );
32 return self::$context_stack[ $key ][ $last_key ];
33 }
34
35 public static function clear(): void {
36 self::$context_stack = [];
37 }
38 }
39