PluginProbe
Elementor Website Builder – more than just a page builder / 4.1.2
Elementor Website Builder – more than just a page builder v4.1.2
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 / core / utils / template-library-element-iterator.php

template-library-element-iterator.php in Elementor Website Builder – more than just a page builder 4.1.2, at core/utils/template-library-element-iterator.php

38 lines 766 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Elementor\Core\Utils;
4
5 use Elementor\Plugin;
6
7 if ( ! defined( 'ABSPATH' ) ) {
8 exit;
9 }
10
11 class Template_Library_Element_Iterator {
12 public static function iterate( array $elements, callable $callback ): array {
13 if ( ! self::is_valid_elements_array( $elements ) ) {
14 return $elements;
15 }
16
17 return Plugin::instance()->db->iterate_data( $elements, $callback );
18 }
19
20 private static function is_valid_elements_array( array $elements ): bool {
21 if ( empty( $elements ) ) {
22 return true;
23 }
24
25 if ( isset( $elements['elType'] ) ) {
26 return true;
27 }
28
29 $first_element = reset( $elements );
30
31 return is_array( $first_element ) && (
32 isset( $first_element['elType'] ) ||
33 isset( $first_element['id'] ) ||
34 empty( $first_element )
35 );
36 }
37 }
38