PluginProbe
Elementor Website Builder – more than just a page builder / 4.0.1
Elementor Website Builder – more than just a page builder v4.0.1
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 / global-classes / utils / template-library-global-classes.php

template-library-global-classes.php in Elementor Website Builder – more than just a page builder 4.0.1, at modules/global-classes/utils/template-library-global-classes.php

73 lines 2.1 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\GlobalClasses\Utils;
4
5 use Elementor\Core\Utils\Template_Library_Import_Export_Utils;
6
7 if ( ! defined( 'ABSPATH' ) ) {
8 exit;
9 }
10
11 class Template_Library_Global_Classes {
12
13 public static function add_global_classes_snapshot( array $snapshots, $content, $template_id, array $export_data ): array {
14 if ( ! is_array( $content ) ) {
15 return $snapshots;
16 }
17
18 if ( ! empty( $snapshots['global_classes'] ) ) {
19 return $snapshots;
20 }
21
22 $snapshot = Template_Library_Global_Classes_Snapshot_Builder::build_snapshot_for_elements( $content );
23
24 if ( ! empty( $snapshot ) ) {
25 $snapshots['global_classes'] = $snapshot;
26 }
27
28 return $snapshots;
29 }
30
31 public static function extract_global_classes_from_data( array $snapshots, array $decoded_data, array $data ): array {
32 $snapshot = $decoded_data['global_classes'] ?? null;
33
34 if ( ! empty( $snapshot ) && is_array( $snapshot ) ) {
35 $snapshots['global_classes'] = $snapshot;
36 }
37
38 return $snapshots;
39 }
40
41 public static function process_global_classes_import( array $result, string $import_mode, array $data ): array {
42 $snapshot = $data['global_classes'] ?? null;
43
44 if ( empty( $snapshot ) || ! is_array( $snapshot ) ) {
45 return $result;
46 }
47
48 $snapshot = apply_filters(
49 'elementor/global_classes/import/transform_snapshot',
50 $snapshot,
51 $import_mode,
52 $result,
53 $data
54 );
55
56 $processed = Template_Library_Import_Export_Utils::process_import_by_mode(
57 $import_mode,
58 $result['content'],
59 $snapshot,
60 [ Template_Library_Global_Classes_Snapshot_Builder::class, 'merge_snapshot_and_get_id_map' ],
61 [ Template_Library_Global_Classes_Snapshot_Builder::class, 'create_snapshot_as_new' ],
62 [ Template_Library_Global_Classes_Element_Transformer::class, 'rewrite_elements_classes_ids' ],
63 [ Template_Library_Global_Classes_Element_Transformer::class, 'flatten_elements_classes' ]
64 );
65
66 $result['content'] = $processed['content'];
67 $result['updated_global_classes'] = $processed['operation_result']['global_classes'] ?? null;
68 $result['classes_to_flatten'] = $processed['ids_to_flatten'];
69
70 return $result;
71 }
72 }
73