/var/www/html_us/wp-content/plugins/elementor/modules/editor-events/module.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php

namespace Elementor\Modules\EditorEvents;

use 
Elementor\Core\Base\Module as BaseModule;
use 
Elementor\Core\Common\Modules\Connect\Apps\Base_App;
use 
Elementor\Core\Experiments\Manager as Experiments_Manager;
use 
Elementor\Utils;
use 
Elementor\Plugin;
use 
Elementor\Tracker;

if ( ! 
defined'ABSPATH' ) ) {
    exit; 
// Exit if accessed directly.
}

class 
Module extends BaseModule {

    const 
EXPERIMENT_NAME 'editor_events';

    public function 
__construct() {
        
parent::__construct();

        
$this->register_experiment();
    }

    public function 
get_name() {
        return 
'editor-events';
    }

    public static function 
get_editor_events_config() {
        
$can_send_events defined'ELEMENTOR_EDITOR_EVENTS_MIXPANEL_TOKEN' ) &&
            
Tracker::is_allow_track() &&
            
Plugin::$instance->experiments->is_feature_activeself::EXPERIMENT_NAME );

        
$settings = [
            
'can_send_events' => $can_send_events,
            
'elementor_version' => ELEMENTOR_VERSION,
            
'site_url' => hash'sha256'get_site_url() ),
            
'wp_version' => get_bloginfo'version' ),
            
'user_agent' => esc_htmlUtils::get_super_global_value$_SERVER'HTTP_USER_AGENT' ) ),
            
'site_language' => get_locale(),
            
'site_key' => get_optionBase_App::OPTION_CONNECT_SITE_KEY ),
            
'subscription_id' => null,
            
'token' => defined'ELEMENTOR_EDITOR_EVENTS_MIXPANEL_TOKEN' ) ? ELEMENTOR_EDITOR_EVENTS_MIXPANEL_TOKEN '',
        ];

        return 
$settings;
    }

    private function 
register_experiment() {
        
Plugin::$instance->experiments->add_feature( [
            
'name' => static::EXPERIMENT_NAME,
            
'title' => esc_html__'Elementor Editor Events''elementor' ),
            
'description' => esc_html__'Editor events processing''elementor' ),
            
'hidden' => true,
            
'release_status' => Experiments_Manager::RELEASE_STATUS_ALPHA,
            
'default' => Experiments_Manager::STATE_INACTIVE,
        ] );
    }
}