PluginProbe
Elementor Website Builder – more than just a page builder / 4.0.9
Elementor Website Builder – more than just a page builder v4.0.9
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 +3 -44 4.1.0-dev24.0.9 View file →
@@ -3,9 +3,8 @@
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 8 use Elementor\Includes\EditorAssetsAPI;
10 9 use Elementor\Utils;
11 10 use Elementor\Plugin;
@@ -31,34 +30,14 @@
31 30 ! Tracker::has_terms_changed( '2025-07-07' ) &&
32 31 Plugin::$instance->experiments->is_feature_active( self::EXPERIMENT_NAME );
33 32
34 33 $is_flags_enabled = false;
35 - $session_recording_events = [];
36 34
37 35 if ( $can_send_events ) {
38 36 $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 - }
37 + $is_flags_enabled = EditorAssetsAPI::has_valid_nested_array( $mixpanel_config, [ 0 ] )
38 + ? (bool) ( $mixpanel_config[0]['flags'] ?? false )
39 + : false;
61 40 }
62 41
63 42 $settings = [
64 43 'can_send_events' => $can_send_events,
@@ -71,10 +50,8 @@
71 50 'subscription_id' => self::get_subscription_id(),
72 51 'subscription' => self::get_subscription(),
73 52 'token' => ELEMENTOR_EDITOR_EVENTS_MIXPANEL_TOKEN,
74 53 'flags_enabled' => $is_flags_enabled,
75 - 'user_id' => self::get_user_id(),
76 - 'session_recording_events' => $session_recording_events,
77 54 ];
78 55
79 56 return $settings;
80 57 }
@@ -120,24 +97,6 @@
120 97 EditorAssetsAPI::ASSETS_DATA_KEY => 'mixpanel',
121 98 ] );
122 99
123 100 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 101 }
143 102 }