PluginProbe
Elementor Website Builder – more than just a page builder / 4.2.0
Elementor Website Builder – more than just a page builder v4.2.0
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 / feedback / module.php

module.php in Elementor Website Builder – more than just a page builder 4.2.0, at modules/feedback/module.php

69 lines 1.8 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\Feedback;
4
5 use Elementor\Core\Base\Module as Module_Base;
6 use Elementor\Modules\Feedback\Data\Controller;
7 use Elementor\Plugin;
8 use Elementor\Api;
9 use Elementor\Core\Common\Modules\Connect\Rest\Rest_Api;
10 use Elementor\Utils;
11 use http\Cookie as HttpCookie;
12 use WP_Http_Cookie;
13 use WpOrg\Requests\Cookie;
14
15 if ( ! defined( 'ABSPATH' ) ) {
16 exit; // Exit if accessed directly.
17 }
18
19 class Module extends Module_Base {
20
21 public function __construct() {
22 add_action( 'rest_api_init', fn() => self::register_routes() );
23 }
24
25 protected function register_routes() {
26 register_rest_route( 'elementor/v1/feedback', '/submit', [
27 'methods' => 'POST',
28 'callback' => fn( $request ) => $this->handle_submit( $request ),
29 'permission_callback' => '__return_true',
30 ] );
31 }
32
33 protected function handle_submit( $request, $additional_cookies = [] ) {
34 $user_meta = get_user_meta( get_current_user_id(), 'wp_elementor_connect_common_data' );
35 $app = Plugin::$instance->common->get_component( 'connect' )->get_app( 'feedback' );
36 $body = [
37 'title' => 'Editor Feedback',
38 'description' => $request->get_param( 'description' ),
39 'product' => 'EDITOR',
40 'subject' => 'Editor Feedback',
41 ];
42
43 $response = $app->submit( $body );
44 $response_code = $response['response']['code'];
45 if ( 'OK' === $response['response']['message'] ) {
46 return [
47 'success' => true,
48 'code' => $response_code,
49 'message' => esc_html__( 'Feedback submitted successfully.', 'elementor' ),
50 ];
51 } else {
52 $message = $response['data']['message'] ?? esc_html__( 'Failed to submit feedback.', 'elementor' );
53 return [
54 'success' => false,
55 'code' => $response_code,
56 'message' => $message,
57 ];
58 }
59 }
60 /**
61 * Retrieve the module name.
62 *
63 * @return string
64 */
65 public function get_name() {
66 return 'feedback';
67 }
68 }
69