<?php

defined('ABSPATH') || exit;
class WC_Extensions_Tracking
{
    public function init()
    {
        add_action('load-woocommerce_page_wc-addons', array($this, 'track_extensions_page'));
        add_action('woocommerce_helper_connect_start', array($this, 'track_helper_connection_start'));
        add_action('woocommerce_helper_denied', array($this, 'track_helper_connection_cancelled'));
        add_action('woocommerce_helper_connected', array($this, 'track_helper_connection_complete'));
        add_action('woocommerce_helper_disconnected', array($this, 'track_helper_disconnected'));
        add_action('woocommerce_helper_subscriptions_refresh', array($this, 'track_helper_subscriptions_refresh'));
        add_action('woocommerce_addon_installed', array($this, 'track_addon_install'), 10, 2);
    }
    public function track_extensions_page()
    {
        $properties = array('section' => empty($_REQUEST['section']) ? '_featured' : wc_clean(wp_unslash($_REQUEST['section'])));
        $event = 'extensions_view';
        if ('helper' === $properties['section']) {
            $event = 'subscriptions_view';
        }
        if (!empty($_REQUEST['search'])) {
            $event = 'extensions_view_search';
            $properties['search_term'] = wc_clean(wp_unslash($_REQUEST['search']));
        }
        WC_Tracks::record_event($event, $properties);
    }
    public function track_helper_connection_start()
    {
        WC_Tracks::record_event('extensions_subscriptions_connect');
    }
    public function track_helper_connection_cancelled()
    {
        WC_Tracks::record_event('extensions_subscriptions_cancelled');
    }
    public function track_helper_connection_complete()
    {
        WC_Tracks::record_event('extensions_subscriptions_connected');
    }
    public function track_helper_disconnected()
    {
        WC_Tracks::record_event('extensions_subscriptions_disconnect');
    }
    public function track_helper_subscriptions_refresh()
    {
        WC_Tracks::record_event('extensions_subscriptions_update');
    }
    public function track_addon_install($addon_id, $section)
    {
        $properties = array('context' => 'extensions', 'section' => $section);
        if ('woocommerce-payments' === $addon_id) {
            WC_Tracks::record_event('woocommerce_payments_install', $properties);
        }
    }
}