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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
<?php /** * WooCommerce Import Tracking * * @package WooCommerce\Tracks */
defined( 'ABSPATH' ) || exit;
/** * This class adds actions to track usage of WooCommerce Imports. */ class WC_Importer_Tracking { /** * Init tracking. */ public function init() { add_action( 'product_page_product_importer', array( $this, 'track_product_importer' ) ); }
/** * Route product importer action to the right callback. * * @return void */ public function track_product_importer() { // phpcs:disable WordPress.Security.NonceVerification.Recommended if ( ! isset( $_REQUEST['step'] ) ) { return; }
if ( 'import' === $_REQUEST['step'] ) { return $this->track_product_importer_start(); }
if ( 'done' === $_REQUEST['step'] ) { return $this->track_product_importer_complete(); } // phpcs:enable }
/** * Send a Tracks event when the product importer is started. * * @return void */ public function track_product_importer_start() { // phpcs:disable WordPress.Security.NonceVerification.Recommended if ( ! isset( $_REQUEST['file'] ) || ! isset( $_REQUEST['_wpnonce'] ) ) { return; }
$properties = array( 'update_existing' => isset( $_REQUEST['update_existing'] ) ? (bool) $_REQUEST['update_existing'] : false, 'delimiter' => empty( $_REQUEST['delimiter'] ) ? ',' : wc_clean( wp_unslash( $_REQUEST['delimiter'] ) ), ); // phpcs:enable
WC_Tracks::record_event( 'product_import_start', $properties ); }
/** * Send a Tracks event when the product importer has finished. * * @return void */ public function track_product_importer_complete() { // phpcs:disable WordPress.Security.NonceVerification.Recommended if ( ! isset( $_REQUEST['nonce'] ) ) { return; }
$properties = array( 'imported' => isset( $_GET['products-imported'] ) ? absint( $_GET['products-imported'] ) : 0, 'imported_variations' => isset( $_GET['products-imported-variations'] ) ? absint( $_GET['products-imported-variations'] ) : 0, 'updated' => isset( $_GET['products-updated'] ) ? absint( $_GET['products-updated'] ) : 0, 'failed' => isset( $_GET['products-failed'] ) ? absint( $_GET['products-failed'] ) : 0, 'skipped' => isset( $_GET['products-skipped'] ) ? absint( $_GET['products-skipped'] ) : 0, ); // phpcs:enable
WC_Tracks::record_event( 'product_import_complete', $properties ); } }
|