PluginProbe
Elementor Website Builder – more than just a page builder / 3.31.1
Elementor Website Builder – more than just a page builder v3.31.1
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-runner.php

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

75 lines 1.9 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
6 if ( ! defined( 'ABSPATH' ) ) {
7 exit; // Exit if accessed directly.
8 }
9
10 class Import_Runner extends Base_Route {
11
12 protected function get_route(): string {
13 return 'import-runner';
14 }
15
16 protected function get_method(): string {
17 return \WP_REST_Server::CREATABLE;
18 }
19
20 protected function callback( $request ): \WP_REST_Response {
21 try {
22 $session_id = $request->get_param( 'session' );
23 $runner = $request->get_param( 'runner' );
24 $module = Plugin::$instance->app->get_component( 'import-export-customization' );
25
26 if ( empty( $session_id ) ) {
27 return Response::error( 'Session ID is required.', 'missing_session_id' );
28 }
29
30 if ( empty( $runner ) ) {
31 return Response::error( 'Runner name is required.', 'missing_runner_name' );
32 }
33
34 $import = $module->import_kit_by_runner( $session_id, $runner );
35
36 if ( ! empty( $import['status'] ) ) {
37 Plugin::$instance->logger->get_logger()->info(
38 sprintf( 'Import runner completed via REST API: %1$s %2$s',
39 $import['runner'] ?? $runner,
40 ( 'success' === $import['status'] ? '' : '' )
41 )
42 );
43 }
44
45 do_action( 'elementor/import-export-customization/import-kit/runner/after-run', $import );
46
47 return Response::success( $import );
48
49 } catch ( \Error $e ) {
50 Plugin::$instance->logger->get_logger()->error( $e->getMessage(), [
51 'meta' => [
52 'trace' => $e->getTraceAsString(),
53 ],
54 ] );
55
56 return Response::error( $e->getMessage(), 'import_runner_error' );
57 }
58 }
59
60 protected function get_args(): array {
61 return [
62 'session' => [
63 'type' => 'string',
64 'description' => 'Session ID for import operations',
65 'required' => true,
66 ],
67 'runner' => [
68 'type' => 'string',
69 'description' => 'Runner name for import_runner action',
70 'required' => true,
71 ],
72 ];
73 }
74 }
75