PluginProbe
Elementor Website Builder – more than just a page builder / 3.32.4
Elementor Website Builder – more than just a page builder v3.32.4
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 4.1.0-beta1 4.1.0-dev1 All 452 releases
elementor / app / modules / import-export-customization / data / routes / import.php

import.php in Elementor Website Builder – more than just a page builder 3.32.4, at app/modules/import-export-customization/data/routes/import.php

72 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace Elementor\App\Modules\ImportExportCustomization\Data\Routes;
3
4 use Elementor\Plugin;
5 use Elementor\App\Modules\ImportExportCustomization\Data\Response;
6
7 if ( ! defined( 'ABSPATH' ) ) {
8 exit; // Exit if accessed directly.
9 }
10
11 class Import extends Base_Route {
12
13 protected function get_route(): string {
14 return 'import';
15 }
16
17 protected function get_method(): string {
18 return \WP_REST_Server::CREATABLE;
19 }
20
21 protected function callback( $request ): \WP_REST_Response {
22 try {
23 $session = $request->get_param( 'session' );
24
25 if ( empty( $session ) ) {
26 return Response::error( 'Session ID is required.', 'missing_session_id' );
27 }
28
29 $module = Plugin::$instance->app->get_component( 'import-export-customization' );
30 $settings = [
31 'include' => $request->get_param( 'include' ),
32 'customization' => $request->get_param( 'customization' ),
33 ];
34
35 $import = $module->import_kit( $session, $settings, true );
36
37 Plugin::$instance->logger->get_logger()->info(
38 sprintf( 'Selected import runners via REST API: %1$s',
39 implode( ', ', $import['runners'] ?? [] )
40 )
41 );
42
43 return Response::success( $import );
44
45 } catch ( \Error $e ) {
46 Plugin::$instance->logger->get_logger()->error( $e->getMessage(), [
47 'meta' => [
48 'trace' => $e->getTraceAsString(),
49 ],
50 ] );
51
52 return Response::error( $e->getMessage(), 'import_error' );
53 }
54 }
55
56 protected function get_args(): array {
57 return [
58 'session' => [
59 'type' => 'string',
60 'description' => 'Session ID for import operations',
61 'required' => true,
62 ],
63 'settings' => [
64 'type' => 'object',
65 'description' => 'Import settings',
66 'required' => false,
67 'default' => [],
68 ],
69 ];
70 }
71 }
72