PluginProbe
Elementor Website Builder – more than just a page builder / 3.31.4
Elementor Website Builder – more than just a page builder v3.31.4
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 / editor-events / module.php

module.php in Elementor Website Builder – more than just a page builder 3.31.4, at modules/editor-events/module.php

76 lines 2.2 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\EditorEvents;
4
5 use Elementor\Core\Base\Module as BaseModule;
6 use Elementor\Core\Common\Modules\Connect\Apps\Base_App;
7 use Elementor\Core\Experiments\Manager as Experiments_Manager;
8 use Elementor\Utils;
9 use Elementor\Plugin;
10 use Elementor\Tracker;
11
12 if ( ! defined( 'ABSPATH' ) ) {
13 exit; // Exit if accessed directly.
14 }
15
16 class Module extends BaseModule {
17
18 const EXPERIMENT_NAME = 'editor_events';
19
20 public function get_name() {
21 return 'editor-events';
22 }
23
24 public static function get_editor_events_config() {
25 $can_send_events = defined( 'ELEMENTOR_EDITOR_EVENTS_MIXPANEL_TOKEN' ) &&
26 Tracker::is_allow_track() &&
27 ! Tracker::has_terms_changed( '2025-07-07' ) &&
28 Plugin::$instance->experiments->is_feature_active( self::EXPERIMENT_NAME );
29
30 $settings = [
31 'can_send_events' => $can_send_events,
32 'elementor_version' => ELEMENTOR_VERSION,
33 'site_url' => hash( 'sha256', get_site_url() ),
34 'wp_version' => get_bloginfo( 'version' ),
35 'user_agent' => esc_html( Utils::get_super_global_value( $_SERVER, 'HTTP_USER_AGENT' ) ),
36 'site_language' => get_locale(),
37 'site_key' => get_option( Base_App::OPTION_CONNECT_SITE_KEY ),
38 'subscription_id' => self::get_subscription_id(),
39 'token' => defined( 'ELEMENTOR_EDITOR_EVENTS_MIXPANEL_TOKEN' ) ? ELEMENTOR_EDITOR_EVENTS_MIXPANEL_TOKEN : '',
40 ];
41
42 return $settings;
43 }
44
45 public static function get_experimental_data(): array {
46 return [
47 'name' => static::EXPERIMENT_NAME,
48 'title' => esc_html__( 'Elementor Editor Events', 'elementor' ),
49 'description' => esc_html__( 'Editor events processing', 'elementor' ),
50 'hidden' => true,
51 'release_status' => Experiments_Manager::RELEASE_STATUS_ALPHA,
52 'default' => Experiments_Manager::STATE_INACTIVE,
53 ];
54 }
55
56 private static function get_subscription_id() {
57 if ( ! Utils::has_pro() ) {
58
59 return null;
60 }
61
62 $license_data = get_option( '_elementor_pro_license_v2_data' );
63 if ( isset( $license_data['value'] ) ) {
64 $license_info = json_decode( $license_data['value'], true );
65
66 if ( isset( $license_info['subscription_id'] ) ) {
67 $subscription_id = $license_info['subscription_id'];
68
69 return $subscription_id;
70 }
71 }
72
73 return null;
74 }
75 }
76