PluginProbe
Elementor Website Builder – more than just a page builder / 3.32.1
Elementor Website Builder – more than just a page builder v3.32.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
← All changes | core/common/modules/events-manager/module.php +0 -64 4.1.0-dev13.32.1 View file →
@@ -3,11 +3,9 @@
3 3 namespace Elementor\Core\Common\Modules\EventsManager;
4 4
5 5 use Elementor\Core\Base\Module as BaseModule;
6 6 use Elementor\Core\Common\Modules\Connect\Apps\Base_App;
7 -use Elementor\Core\Common\Modules\Connect\Apps\Common_App;
8 7 use Elementor\Core\Experiments\Manager as Experiments_Manager;
9 -use Elementor\Includes\EditorAssetsAPI;
10 8 use Elementor\Utils;
11 9 use Elementor\Plugin;
12 10 use Elementor\Tracker;
13 11
@@ -18,10 +16,8 @@
18 16 class Module extends BaseModule {
19 17
20 18 const EXPERIMENT_NAME = 'editor_events';
21 19
22 - const REMOTE_MIXPANEL_CONFIG_URL = 'https://assets.elementor.com/mixpanel/v1/mixpanel.json';
23 -
24 20 public function get_name() {
25 21 return 'events-manager';
26 22 }
27 23
@@ -30,37 +26,8 @@
30 26 Tracker::is_allow_track() &&
31 27 ! Tracker::has_terms_changed( '2025-07-07' ) &&
32 28 Plugin::$instance->experiments->is_feature_active( self::EXPERIMENT_NAME );
33 29
34 - $is_flags_enabled = false;
35 - $session_recording_events = [];
36 -
37 - if ( $can_send_events ) {
38 - $mixpanel_config = self::get_remote_mixpanel_config();
39 - $has_config = EditorAssetsAPI::has_valid_nested_array( $mixpanel_config, [ 0 ] );
40 -
41 - if ( $has_config ) {
42 - $is_flags_enabled = (bool) ( $mixpanel_config[0]['flags'] ?? false );
43 -
44 - $session_replays = $mixpanel_config[0]['sessionReplays'] ?? [];
45 - $is_session_replays_enabled = (bool) ( $session_replays['enabled'] ?? false );
46 - $raw_events = $session_replays['events'] ?? null;
47 - $events_map = is_array( $raw_events ) ? $raw_events : [];
48 -
49 - if ( $is_session_replays_enabled ) {
50 - $session_recording_events = array_values( array_filter(
51 - self::get_session_recording_events(),
52 - function ( $pair ) use ( $events_map ) {
53 - if ( ! isset( $pair['start'] ) ) {
54 - return false;
55 - }
56 - return (bool) ( $events_map[ $pair['start'] ] ?? false );
57 - }
58 - ) );
59 - }
60 - }
61 - }
62 -
63 30 $settings = [
64 31 'can_send_events' => $can_send_events,
65 32 'elementor_version' => ELEMENTOR_VERSION,
66 33 'site_url' => hash( 'sha256', get_site_url() ),
@@ -70,11 +37,8 @@
70 37 'site_key' => get_option( Base_App::OPTION_CONNECT_SITE_KEY ),
71 38 'subscription_id' => self::get_subscription_id(),
72 39 'subscription' => self::get_subscription(),
73 40 'token' => ELEMENTOR_EDITOR_EVENTS_MIXPANEL_TOKEN,
74 - 'flags_enabled' => $is_flags_enabled,
75 - 'user_id' => self::get_user_id(),
76 - 'session_recording_events' => $session_recording_events,
77 41 ];
78 42
79 43 return $settings;
80 44 }
@@ -110,34 +74,6 @@
110 74 return null;
111 75 }
112 76
113 77 return json_decode( $license_data['value'], true );
114 - }
115 -
116 - private static function get_remote_mixpanel_config() {
117 - $editor_assets_api = new EditorAssetsAPI( [
118 - EditorAssetsAPI::ASSETS_DATA_URL => static::REMOTE_MIXPANEL_CONFIG_URL,
119 - EditorAssetsAPI::ASSETS_DATA_TRANSIENT_KEY => '_elementor_mixpanel_config',
120 - EditorAssetsAPI::ASSETS_DATA_KEY => 'mixpanel',
121 - ] );
122 -
123 - return $editor_assets_api->get_assets_data();
124 - }
125 -
126 - private static function get_session_recording_events(): array {
127 - return [
128 - // Each entry defines a recording window: recording starts when 'start' fires
129 - // and stops when 'end' fires. 'end' is optional — omit or set to null to record indefinitely.
130 - [ 'start' => 'editor_loaded' ],
131 - ];
132 - }
133 -
134 - private static function get_user_id() {
135 - $user_common_data = get_user_option( Common_App::OPTION_CONNECT_COMMON_DATA_KEY );
136 -
137 - if ( ! is_array( $user_common_data ) ) {
138 - return null;
139 - }
140 -
141 - return Common_App::get_connect_user_id_from_access_token( $user_common_data['access_token'] ?? null );
142 78 }
143 79 }