PluginProbe ʕ •ᴥ•ʔ
ElementsKit Elementor Addons – Advanced Widgets & Templates Addons for Elementor / 4.0.1
ElementsKit Elementor Addons – Advanced Widgets & Templates Addons for Elementor v4.0.1
4.0.2 4.0.1 4.0.0 3.10.02 3.10.01 3.9.10 3.9.9 3.9.8 3.9.7 3.9.5 3.9.6 3.9.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.0 2.3.1 2.3.1.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.4.0 2.5.0 2.5.1 2.5.10 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.5 2.8.6 2.8.7 2.8.8 2.9.0 2.9.1 2.9.2 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.2.0 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.3.9 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.6 3.4.7 3.4.8 3.4.9 3.5.0 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.5.6 3.6.0 3.6.1 3.7.0 3.7.1 3.7.2 3.7.3 3.7.4 3.7.5 3.7.6 3.7.7 3.7.8 3.7.9 3.8.0 3.8.1 3.8.2 3.9.0 3.9.1 3.9.2 trunk 1.2.6 1.2.7 1.2.9 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.7 1.4.8 1.4.9 1.5.0 1.5.1 1.5.10 1.5.11 1.5.12 1.5.2 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 2.0.0 2.0.1 2.0.10 2.0.11 2.0.12 2.0.13 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.0.9.1 2.0.9.2 2.0.9.3
elementskit-lite / modules / layout-manager / library-source.php
elementskit-lite / modules / layout-manager Last commit date
assets 3 weeks ago init.php 3 weeks ago layout-import-api.php 2 years ago layout-list-api.php 3 weeks ago library-source.php 2 years ago
library-source.php
98 lines
1 <?php
2 namespace ElementsKit_Lite\Modules\Layout_Manager;
3
4 defined( 'ABSPATH' ) || exit;
5
6
7 use Elementor\TemplateLibrary\Source_Base;
8
9 class Library_Source extends Source_Base {
10
11 public function get_id() {
12 return 'elementskit-layout-manager';
13 }
14
15 public function get_title() {
16 return __( 'ElementsKit Layout Manager', 'elementskit-lite' );
17 }
18
19 public function register_data() {}
20
21 public function save_item( $template_data ) {
22 return new \WP_Error( 'invalid_request', 'Cannot save template to a elementskit layout manager' );
23 }
24
25 public function update_item( $new_data ) {
26 return new \WP_Error( 'invalid_request', 'Cannot update template to a elementskit layout manager' );
27 }
28
29 public function delete_template( $template_id ) {
30 return new \WP_Error( 'invalid_request', 'Cannot delete template from a elementskit layout manager' );
31 }
32
33 public function export_template( $template_id ) {
34 return new \WP_Error( 'invalid_request', 'Cannot export template from a elementskit layout manager' );
35 }
36
37 public function get_items( $args = array() ) {
38 return array();
39 }
40
41 public function get_item( $template_id ) {
42 $templates = $this->get_items();
43
44 return $templates[ $template_id ];
45 }
46
47 public function request_template_data( $template_id ) {
48 if ( empty( $template_id ) ) {
49 return;
50 }
51
52 $body = array(
53 'home_url' => trailingslashit( home_url() ),
54 'plugin_version' => \ElementsKit_Lite::version(),
55 );
56
57 $query = array_merge(
58 array(
59 'action' => 'get_layout_data',
60 'layout_id' => $template_id,
61 ),
62 \ElementsKit_Lite::license_data()
63 );
64
65 $request_url = \ElementsKit_Lite::api_url() . 'layout-manager-api/' . '?' . http_build_query( $query );
66 $response = wp_remote_get(
67 $request_url,
68 array(
69 'timeout' => 30,
70 )
71 );
72
73 return wp_remote_retrieve_body( $response );
74 }
75
76 public function get_data( array $args, $context = 'display' ) {
77 $data = $this->request_template_data( $args['template_id'] );
78
79 $data = json_decode( $data, true );
80
81 if ( empty( $data ) || empty( $data['content'] ) ) {
82 throw new \Exception( esc_html__( 'Template does not have any content', 'elementskit-lite' ) );
83 }
84
85 $data['content'] = $this->replace_elements_ids( $data['content'] );
86 $data['content'] = $this->process_export_import_content( $data['content'], 'on_import' );
87
88 $post_id = $args['editor_post_id'];
89 $document = \Elementor\Plugin::instance()->documents->get( $post_id );
90
91 if ( $document ) {
92 $data['content'] = $document->get_elements_raw_data( $data['content'], true );
93 }
94
95 return $data;
96 }
97 }
98