Plugin Directory

Changeset 2215120


Ignore:
Timestamp:
12/19/2019 01:54:55 PM (6 years ago)
Author:
thmarx
Message:

release 2.4.0

Location:
experience-manager/trunk
Files:
42 added
14 edited

Legend:

Unmodified
Added
Removed
  • experience-manager/trunk/experience-manager.php

    r2201127 r2215120  
    55  Description: The integration for the experience platform.
    66  Author: Thorsten Marx
    7   Version: 2.3.0
     7  Version: 2.4.0
    88  Author URI: https://wp-digitalexperience.com/
    99  Text Domain: tma-webtools
     
    1414}
    1515
    16 define("TMA_EXPERIENCE_MANAGER_VERSION", "2.3.0");
     16define("TMA_EXPERIENCE_MANAGER_VERSION", "2.4.0");
    1717define("TMA_EXPERIENCE_MANAGER_SEGMENT_MATCHING_ALL", "all");
    1818define("TMA_EXPERIENCE_MANAGER_SEGMENT_MATCHING_ANY", "any");
     
    3232}
    3333
     34tma_exm_log("register segment postype");
     35\TMA\ExperienceManager\Segment\SegmentType::getInstance()->register();
     36\TMA\ExperienceManager\Segment\SegmentEditor::getInstance()->register();
     37\TMA\ExperienceManager\Segment\SegmentEditorHelp::getInstance()->register();
     38\TMA\ExperienceManager\Segment\SegmentEditorMetaBoxes::getInstance()->register();
     39
    3440add_action("init", "tma_webtools_init");
    3541add_action("rest_api_init", "tma_webtools_rest_init");
    3642add_action("plugins_loaded", "tma_webtools_plugins_loaded");
    37 
    38 \TMA\ExperienceManager\Segment\SegmentType::getInstance()->register();
    39 \TMA\ExperienceManager\Segment\SegmentEditor::getInstance()->register();
    4043
    4144function tma_webtools_plugins_loaded() {
     
    4548        \TMA\ExperienceManager\Elementor_Integration::getInstance();
    4649        \TMA\ExperienceManager\Elementor_Preview::getInstance();
     50       
     51//      \TMA\ExperienceManager\ElementorPopupIntegration::getInstance()->init();
    4752    }
    4853    if (\TMA\ExperienceManager\Plugins::getInstance()->popup_maker()) {
     
    5560        new \TMA\ExperienceManager\Gutenberg_Integration();
    5661    }
     62
     63    require_once 'includes/modules/events/class.ecommerce_events.php';
    5764}
    5865
    5966function tma_webtools_rest_init() {
     67    tma_exm_log("tma_webtools_rest_init");
    6068    $tma_rest = new \TMA\ExperienceManager\TMA_Rest();
    61 
    62 //  register_rest_route('experience-manager/v1', '/test', array(
    63 //          'methods' => \WP_REST_Server::READABLE,
    64 //          'callback' => function () {
    65 //              return "test";
    66 //     
    67 //          },
    68 //  ));
    6969}
    7070
    7171function tma_webtools_init() {
    7272
    73     tma_exm_log("init");
     73    tma_exm_log("tma_webtools_init");
    7474    wp_register_style('experience-manager', plugins_url('css/experience-manager.css', __FILE__));
    7575    wp_enqueue_style('experience-manager');
     
    8282    // IS not stored
    8383    //new TMA\ExperienceManager\TMA_Widget_Targeting();
    84 
    85     require_once 'includes/modules/events/class.ecommerce_events.php';
    86 
    87     tma_exm_log(is_preview() ? "preview" : "no preview");
    88     tma_exm_log(tma_exm_is_preview() ? "tma_preview" : "no tma_preview");
     84    //tma_exm_log(is_preview() ? "preview" : "no preview");
     85    //tma_exm_log(tma_exm_is_preview() ? "tma_preview" : "no tma_preview");
    8986
    9087    require_once 'includes/backend/class.tma_wpadminbar.php';
     
    145142
    146143    $tma_config = apply_filters("tma_config", $tma_config);
    147    
     144
    148145//  $data = "var TMA_CONFIG = ". json_encode($tma_config);
    149146//  wp_register_script( 'webtools-dummy-handle', '' );
     
    158155function tma_webtools_hook_js() {
    159156    $scriptHelper = new \TMA\ExperienceManager\TMAScriptHelper();
    160     wp_enqueue_script( "webtools-library", $scriptHelper->getLibrary(), [], "2.0.0", false );
    161     wp_add_inline_script( "webtools-library", $scriptHelper->getCode());
     157    wp_enqueue_script("webtools-library", $scriptHelper->getLibrary(), [], "2.0.0", false);
     158    wp_add_inline_script("webtools-library", $scriptHelper->getCode());
    162159}
    163160
  • experience-manager/trunk/includes/backend/class.tma_settings.php

    r2096995 r2215120  
    3434    function admin_menu() {
    3535        add_menu_page(
    36                 __("Experience Manager", "tma-webtools"), __("Experience Manager", "tma-webtools"), 'manage_options', 'experience-manager/pages/tma-webtools-admin.php', null, '', 50);
     36                __("Experience Manager", "tma-webtools"), __("Experience Manager", "tma-webtools"), 'manage_options', 'experience-manager/pages/tma-webtools-admin.php', null, plugins_url( 'experience-manager/images/settings.png' ), 50);
    3737        add_submenu_page('experience-manager/pages/tma-webtools-admin.php', __("Settings", "tma-webtools"), __("Settings", "tma-webtools"), 'manage_options', 'tma-webtools-setting-admin', array($this, 'plugin_page'));
    3838    }
  • experience-manager/trunk/includes/backend/segment/categories.php

    r2192433 r2215120  
    5858    </script>
    5959    <?php } ?>
     60   
     61    <?php if (\TMA\ExperienceManager\Plugins::getInstance()->easydigitaldownloads()) { ?>
     62    <h2><?php echo __('Easy Digital Downloads Categories:', "tma-webtools"); ?></h2>
     63   
     64    <div id="exm-edd-category-select-categories">
     65        <?php wp_dropdown_categories('show_count=1&hierarchical=1&taxonomy=download_category'); ?>
     66        <button id="exm-edd-category-select"><?php echo __("Category path", "tma-webtools") ?></button>
     67        <b id="exm_edd_cat_path"></b>
     68    </div>
     69   
     70    <script>
     71        webtools.domReady(function () {
     72            webtools.Tools.on(document.getElementById("exm-edd-category-select"), "click", e => {
     73                e.preventDefault();
     74                var $element = document.querySelector("#exm-edd-category-select-categories select");
     75
     76                var value = $element.options[$element.selectedIndex].value;
     77                window.fetch(TMA_CONFIG.rest_url + "experience-manager/v1/category-path?taxonomy=download_category&category=" + value).then(function (response) {
     78                    response.json().then(data => {
     79                        document.getElementById("exm_edd_cat_path").innerHTML = data.path;
     80                    });
     81                });
     82
     83                return false;
     84            });
     85        });
     86    </script>
     87    <?php } ?>
    6088</div>
  • experience-manager/trunk/includes/backend/segment/class.segment-editor.php

    r2200549 r2215120  
    2525
    2626    public function register() {
    27         add_action('add_meta_boxes', [$this, 'add_meta_box']);
    2827        add_action('save_post_tma_segment', [$this, 'save']);
    2928
     
    4443
    4544        add_action('admin_notices', [$this, 'message']);
    46     }
    47 
     45
     46    }
    4847    function message() {
    4948        $user_id = get_current_user_id();
     
    5857    }
    5958
    60     function isAudience() {
    61         $screen = get_current_screen();
    62         if (is_object($screen) && SegmentType::$TYPE === $screen->post_type) {
    63             return TRUE;
    64         }
    65         return FALSE;
    66     }
    67 
    6859    function state($post) {
    69         if (!$this->isAudience()) {
     60        if (!SegmentType::isAudienceEditor()) {
    7061            return;
    7162        }
     
    9081    function query_editor_scripts($hook_suffix) {
    9182        if (in_array($hook_suffix, array('post.php', 'post-new.php'))) {
    92             if ($this->isAudience()) {
     83            if (SegmentType::isAudienceEditor()) {
    9384                /*
    9485                  wp_enqueue_script('experience-manager-query-editor_init', TMA_EXPERIENCE_MANAGER_URL . 'assets/query-editor/init.js', array(), "1.2", true);
     
    117108
    118109    public function transition_status($new_status, $old_status, $post) {
    119         tma_exm_log("transition_status: " . $new_status);
    120110        if ($post->post_type !== SegmentType::$TYPE) {
    121111            return;
    122112        }
     113        tma_exm_log("transition_status: " . $new_status);
    123114
    124115        if ($new_status === "publish") {
     
    154145            'period' => $this->get_segment_period($post->ID)
    155146        );
    156        
     147
    157148        tma_exm_log("post data");
    158149        tma_exm_log(json_encode($post_data));
     
    245236        }
    246237    }
     238
    247239    public function get_segment_period($post_id) {
    248240        $period = [
     
    255247            $period['unit'] = get_post_meta($post_id, 'tma_segment_editor_unit', true);
    256248        }
    257        
     249
    258250        if (array_key_exists('exm_audience_editor_tw_count', $_POST)) {
    259251            $period['count'] = intval($_POST['exm_audience_editor_tw_count']);
     
    261253            $period['count'] = intval(get_post_meta($post_id, 'tma_segment_editor_count', true));
    262254        }
    263        
     255
    264256        return $period;
    265257    }
     
    289281            );
    290282        }
    291        
    292     }
    293 
    294     public function add_meta_box() {
    295         add_meta_box(
    296                 'tma_segment_editor', // Unique ID
    297                 'Target segment editor', // Box title
    298                 [$this, 'html'], // Content callback, must be of type callable
    299                 SegmentType::$TYPE   // Post type
    300         );
    301 
    302         add_meta_box(
    303                 'tma_segment_editor_help', // Unique ID
    304                 'Segment editor help', // Box title
    305                 [$this, 'description'], // Content callback, must be of type callable
    306                 SegmentType::$TYPE   // Post type
    307         );
    308         add_meta_box(
    309                 'tma_segment_editor_categories', // Unique ID
    310                 'Categorie Helper', // Box title
    311                 [$this, 'categories'], // Content callback, must be of type callable
    312                 SegmentType::$TYPE   // Post type
    313         );
    314         add_meta_box(
    315                 'tma_segment_editor_timewindow', // Unique ID
    316                 'Time window', // Box title
    317                 [$this, 'time_meta_box'], // Content callback, must be of type callable
    318                 SegmentType::$TYPE   // Post type
    319         );
    320     }
    321 
    322     public function description($post) {
    323         include 'description.php';
    324     }
    325 
    326     public function categories($post) {
    327         include 'categories.php';
    328     }
    329 
    330     function time_meta_box($post) {
    331         $unit = get_post_meta($post->ID, 'tma_segment_editor_unit', true);
    332         $count = get_post_meta($post->ID, 'tma_segment_editor_count', true);
    333         ?>
    334         <div>
    335         <label for="exm_audience_editor_tw_unit">Unit</label>
    336         <select name="exm_audience_editor_tw_unit" id="tma_segment_editor_tw_unit" class="postbox">
    337             <option value="YEAR" <?php selected($unit, 'YEAR'); ?> >YEAR</option>
    338             <option value="MONTH" <?php selected($unit, 'MONTH'); ?> >MONTH</option>
    339             <option value="WEEK" <?php selected($unit, 'WEEK'); ?> >WEEK</option>
    340             <option value="DAY" <?php selected($unit, 'DAY'); ?> >DAY</option>
    341             <option value="HOUR" <?php selected($unit, 'HOUR'); ?> >HOUR</option>
    342             <option value="MINUTE" <?php selected($unit, 'MINUTE'); ?> >MINUTE</option>
    343         </select>
    344         </div>
    345         <div>
    346             <label for="exm_audience_editor_tw_unit">Count</label>
    347             <input type="number" name="exm_audience_editor_tw_count" class="postbox" value="<?php echo $count?>" />
    348         </div>
    349         <?php
    350     }
    351 
    352     public function html($post) {
    353         $value = get_post_meta($post->ID, 'tma_segment_editor', true);
    354         ?>
    355         <textarea name="exm_audience_editor" id="exm_audience_editor" cols="50" rows="10"><?php
    356         if ($value && $value !== "") {
    357             echo $value;
    358         }
    359         ?></textarea>
    360         <script type="text/javascript">
    361             CodeMirror.fromTextArea(document.getElementById("exm_audience_editor"), {
    362                 lineNumbers: true,
    363                 matchBrackets: true,
    364                 mode: "javascript"
    365             });
    366         </script>
    367         <?php
    368     }
    369 
     283    }
    370284}
  • experience-manager/trunk/includes/backend/segment/class.segment-type.php

    r2096995 r2215120  
    5757    */
    5858   protected function __construct() {}
     59
     60   /**
     61    * check if the current page is the segment editor
     62    *
     63    * @return boolean
     64    */
     65   static function isAudienceEditor() {
     66        $screen = get_current_screen();
     67        if (is_object($screen) && SegmentType::$TYPE === $screen->post_type) {
     68            return TRUE;
     69        }
     70        return FALSE;
     71    }
    5972   
    6073   public function register () {
     
    87100        'public'        => true,
    88101        'show_in_menu'  => true,
     102        'menu_icon'     => plugins_url( 'experience-manager/images/audience.png' ),
    89103        'publicly_queryable' => false,
    90104        //'rewrite'            => array( 'slug' => 'targetaudience' ),
  • experience-manager/trunk/includes/backend/segment/description.php

    r2200549 r2215120  
    103103            <span>User has visited at least two products of the category T-Shirts: </span><b>rule(CATEGORY).path('/tshirts/').field('c_categories').count(2)</b>
    104104        </p>
    105        
     105        <p>
     106            <span class="headline">KEYVALUE</span>
     107            <br />
     108            The KeyValue-Rule is a generic rule that is used for many purposes.         
     109            <br />
     110            <b>rule(KEYVALUE).name('browser.name').values(['Chrome', 'Firefox'])</b>
     111            <br />
     112            "browser.name" (e.g. Chrome, Firefox, Edge, Safari) <br/>
     113            "device.type" (e.g. Mobile Phone, Desktop, Tablet, Console, TV Device) <br/>
     114            <span class="subheadline">Examples</span><br/>
     115            <span>User uses firefox or chrome browser: </span><b>rule(KEYVALUE).name('browser.name').values(['Chrome', 'Firefox'])</b>
     116            <br/>
     117            <span>User uses a desktop pc: </span><b>rule(KEYVALUE).name('device.type').values(['Desktop'])</b>
     118        </p>
    106119    </div>
    107120
  • experience-manager/trunk/includes/class.plugins.php

    r2192435 r2215120  
    3232        return in_array('woocommerce/woocommerce.php', $this->plugins);
    3333    }
     34    public function easydigitaldownloads() {
     35        return in_array('easy-digital-downloads/easy-digital-downloads.php', $this->plugins);
     36    }
    3437
    3538    public function elementor() {
  • experience-manager/trunk/includes/class.request.php

    r2201127 r2215120  
    175175        $rid = \TMA\ExperienceManager\TMA_COOKIE_HELPER::getInstance()->getCookie(TMA_COOKIE_HELPER::$COOKIE_REQUEST, UUID::v4(), TMA_COOKIE_HELPER::$COOKIE_REQUEST_EXPIRE);
    176176        $vid = \TMA\ExperienceManager\TMA_COOKIE_HELPER::getInstance()->getCookie(TMA_COOKIE_HELPER::$COOKIE_VISIT, UUID::v4(), TMA_COOKIE_HELPER::$COOKIE_VISIT_EXPIRE);
    177         $fp = $_COOKIE['_tma_fp'];
    178177        $apikey = $this->options["webtools_apikey"];
    179178        $url = $this->options['webtools_url'];
     
    187186        //  reqid=a42be86b-2930-4f72-b499-f3dcab983633&vid=8251e717-afea-43bc-b270-1033f482359f&_t=1454323264835&apikey=apikey
    188187
    189         $url .= 'tracking/image?event=' . $event;
     188        $url .= 'tracking/pixel?event=' . $event;
    190189        $url .= '&site=' . $siteid . '&page=' . urlencode($page);
    191         $url .= "&fp=" . $fp . "&uid=" . $uid . '&reqid=' . $rid . '&vid=' . $vid;
    192         $url .= "&apikey=" . $apikey;
     190        $url .= "&uid=" . $uid . '&reqid=' . $rid . '&vid=' . $vid;
     191        //$url .= "&apikey=" . $apikey;
    193192
    194193        // add the custom parameters
     
    205204            }
    206205        }
    207 
     206       
     207        tma_exm_log($url);
     208       
    208209        $this->loadContent($url, "{}");
    209210    }
  • experience-manager/trunk/includes/frontend/class.tma_script_helper.php

    r2141767 r2215120  
    7676                $siteid = get_option('tma_webtools_option')['webtools_siteid'];
    7777            }
    78             $cookieDomain = null;
     78            $cookieDomain = FALSE;
    7979            if (isset(get_option('tma_webtools_option')['webtools_cookiedomain'])) {
    8080                $cookieDomain = get_option('tma_webtools_option')['webtools_cookiedomain'];
    81 
    82                 $query = ".";
    83                 if (substr($cookieDomain, 0, strlen($query)) !== $query) {
     81                if ($cookieDomain !== '') {
    8482                    $cookieDomain = "." . $cookieDomain;
    8583                }
     
    116114                $output .= 'webtools.Tracking.init("' . $this->getWebTools_Url() . '", "' . $siteid . '", "404");';
    117115            }
    118             if ($cookieDomain !== null) {
     116            if ($cookieDomain !== FALSE) {
    119117                $output .= 'webtools.Tracking.setCookieDomain("' . $cookieDomain . '");';
    120118            }
     
    161159    private function add_categories(& $meta) {
    162160        $cats = [];
     161        $term = get_term_by( 'slug', get_query_var('term'), get_query_var('taxonomy') );
    163162        if (is_category()) {
    164163            $term_list = get_categories();
     
    167166                $cats[] = "/" . get_term_parents_list($cat->term_id, "category", ["format" => "slug", "link" => false]);
    168167            }
    169         } else if (function_exists("is_product_category") && is_product_category()) {
     168        } else if (function_exists("is_product_category") && is_product_category()) { // woocommerce category
    170169            $term = get_queried_object();
    171170            //$cats[] = $term->slug;
    172171            $cats[] = "/" . get_term_parents_list($term->term_id, "product_cat", ["format" => "slug", "link" => false]);
    173         } else if (function_exists("is_product") && is_product()) {
     172        } else if (function_exists("is_product") && is_product()) { // woocommerce product
    174173            $product = wc_get_product();
    175174            $term_list = get_the_terms($product->get_id(), 'product_cat');
     
    178177                $cats[] = "/" . get_term_parents_list($cat->term_id, "product_cat", ["format" => "slug", "link" => false]);
    179178            }
     179        } else if (get_post() && get_post()->post_type === "download") { // easy digital download
     180            $download = edd_get_download(get_post()->ID);
     181
     182            $term_list = get_the_terms($download->ID, 'download_category');
     183            foreach ($term_list as $cat) {
     184                $cats[] = "/" . get_term_parents_list($cat->term_id, "download_category", ["format" => "slug", "link" => false]);
     185            }
     186        } else if ($term && $term->taxonomy === "download_category") {
     187            $term = get_queried_object();
     188            //$cats[] = $term->slug;
     189            $cats[] = "/" . get_term_parents_list($term->term_id, $term->taxonomy, ["format" => "slug", "link" => false]);
    180190        } else if (!is_404()) {
    181191            $post_categories = wp_get_post_categories(get_post()->ID, ['fields' => "ids"]);
  • experience-manager/trunk/includes/modules/events/class.ecommerce_events.php

    r2096995 r2215120  
    1717                'name' => 'wc_tracking',
    1818                'label' => __("Track WooCommerce events?", "tma-webtools"),
     19                'desc' => __("Tracked events are: order, add item to basket, remove item from basket.", "tma-webtools"),
     20                'type' => 'toggle',
     21                'default' => ''
     22            ),
     23            array(
     24                'name' => 'edd_tracking',
     25                'label' => __("Track EasyDigitalDownloads events?", "tma-webtools"),
    1926                'desc' => __("Tracked events are: order, add item to basket, remove item from basket.", "tma-webtools"),
    2027                'type' => 'toggle',
     
    4653
    4754if (\TMA\ExperienceManager\Plugins::getInstance()->woocommerce()) {
    48     require_once 'class.woocommerce_tracker.php';
    49     $tracker = new \TMA\ExperienceManager\WC_TRACKER();
     55    $tracker = new \TMA\ExperienceManager\Events\WC_TRACKER();
    5056    if ($tracker->shouldInit()) {
    5157        tma_exm_log("tracking woocommerce events");
     
    5561    }
    5662}
     63if (\TMA\ExperienceManager\Plugins::getInstance()->easydigitaldownloads()) {
     64    $edd_tracker = \TMA\ExperienceManager\Events\EDD_TRACKER::getInstance();
     65    if ($edd_tracker->shouldInit()) {
     66        tma_exm_log("tracking easydigitaldownloads events");
     67        $edd_tracker->init();
     68    } else {
     69        tma_exm_log("not tracking easydigitaldownloads events");
     70    }
     71}
    5772
    5873add_filter('experience-manager/settings/fields', 'tma_webtools_modules_woocommerce_settings');
  • experience-manager/trunk/includes/modules/events/class.woocommerce_tracker.php

    r2096995 r2215120  
    1818 */
    1919
    20 namespace TMA\ExperienceManager;
     20namespace TMA\ExperienceManager\Events;
    2121
    2222/**
    2323 * Tracking of WooCommerce events.
    2424 */
    25 class WC_TRACKER {
     25class WC_TRACKER extends Base {
    2626
    2727    /**
     
    4949
    5050    public function woocommerce_add_to_cart($cart_item_key) {
     51       
    5152        $cart = WC()->cart;
    5253        $item = $cart->get_cart_item($cart_item_key);
     
    6162        $customAttributes['item_id'] = $item['product_id'];
    6263        $customAttributes['cart_items'] = $product_ids; //implode(":", $product_ids);
    63         $request = new \TMA\TMA_Request();
     64
     65        $request = new \TMA\ExperienceManager\TMA_Request();
    6466        $request->track("ecommerce_cart_item_add", "#cart", $customAttributes);
    6567    }
     
    8183        $customAttributes['item_id'] = $item['product_id'];
    8284        $customAttributes['cart_items'] = $product_ids; //implode(":", $product_ids);
    83         $request = new \TMA\TMA_Request();
     85        $request = new \TMA\ExperienceManager\TMA_Request();
    8486        $request->track("ecommerce_cart_item_remove", "#cart", $customAttributes);
    8587    }
    8688
    8789    public function woocommerce_order_status_changed($order_id, $status_from, $status_to) {
     90        if ( $this->has_order_been_tracked_already( $order_id ) ) {
     91            tma_exm_log( sprintf( 'Ignoring already tracked order %d', $order_id ) );
     92            return;
     93        }
     94        tma_exm_log("track woocommerce order " . $order_id);
     95       
    8896        $order = new \WC_Order($order_id);
    8997        $items = $order->get_items();
     
    92100            $product_ids[] = $product['product_id'];
    93101        }
    94         $request = new \TMA\TMA_Request();
     102        $request = new \TMA\ExperienceManager\TMA_Request();
    95103        $customAttributes = array();
    96104        $customAttributes['order_id'] = $order_id;
    97105        $customAttributes['order_items'] = $product_ids;
    98         $customAttributes['order_status'] = $order->get_status();
    99106        $customAttributes['order_total'] = $order->get_total();
    100107
     
    112119
    113120        $request->track("ecommerce_order", "#order", $customAttributes);
     121        $this->set_order_been_tracked( $order_id );
    114122    }
    115123
  • experience-manager/trunk/includes/modules/messages/popup-maker/class.popup-maker.php

    r2201127 r2215120  
    2929            wp_enqueue_script('jquery');
    3030        });
    31         add_filter('pum_get_conditions', array($this, "conditions"));
     31        add_filter('pum_registered_conditions', array($this, "conditions"));
    3232    }
    3333
  • experience-manager/trunk/readme.txt

    r2201127 r2215120  
    44Requires at least: 4.4.1
    55Tested up to: 5.3
    6 Stable tag: 2.3.0
     6Stable tag: 2.4.0
    77License: GPLv2 or later
    88
     
    6363
    6464== Changelog ==
     65
     662.4.0
     67 * Intro to the segment editor added
     68 * Simple wizard to getting started with the segment editor
     69 * tracking of easy digital downloads ecommerce events: add_to_cart, remove_from_cart and order
     70
     71IMPORTANT: If you upgrade to version 2.4.0 you need at least Experience Platform version 3.6.0
    6572
    66732.3.0
  • experience-manager/trunk/tma-autoload.php

    r2192435 r2215120  
    2626    "TMA\ExperienceManager\Elementor_Integration" => "includes/modules/editors/elementor/class.elementor_integration.php",
    2727    "TMA\ExperienceManager\Elementor_Preview" => "includes/modules/editors/elementor/class.elementor_preview.php",
     28    "TMA\ExperienceManager\ElementorPopupIntegration" => "includes/modules/messages/elementor/class.elementor-popup.php",
     29    "TMA\ExperienceManager\Base" => "includes/modules/messages/elementor/class.base.php",
    2830    // Advanced Ads
    2931    "TMA\ExperienceManager\TMA_AdvancedAdsIntegration" => "includes/modules/ads/advanced/class.advanced_ads.php",
     
    3436    "TMA\ExperienceManager\Segment\SegmentType" => "includes/backend/segment/class.segment-type.php",
    3537    "TMA\ExperienceManager\Segment\SegmentEditor" => "includes/backend/segment/class.segment-editor.php",
     38    "TMA\ExperienceManager\Segment\SegmentEditorHelp" => "includes/backend/segment/class.segment-editor-help.php",
     39    "TMA\ExperienceManager\Segment\SegmentEditorMetaBoxes" => "includes/backend/segment/class.segment-editor-metabox.php",
    3640    // Event Tracking
    37     "TMA\ExperienceManager\WC_TRACKER" => "includes/modules/events/class.woocommerce_tracker.php",
     41    "TMA\ExperienceManager\Events\WC_TRACKER" => "includes/modules/events/class.woocommerce_tracker.php",
     42    "TMA\ExperienceManager\Events\EDD_TRACKER" => "includes/modules/events/class.edd_tracker.php",
     43    "TMA\ExperienceManager\Events\Base" => "includes/modules/events/class.ecommerce_base.php", 
    3844));
    3945
Note: See TracChangeset for help on using the changeset viewer.