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
|
<?php
namespace AutomateWoo\Usage_Tracking;
use WC_Tracks;
defined( 'ABSPATH' ) || exit;
/** * Class Tracks * * @package AutomateWoo\Usage_Tracking * @since 4.9.0 */ class Tracks implements Tracks_Interface {
const PREFIX = 'aw_';
/** * Record an event to track. * * @param string $event_name The event name to record. * @param array $properties Array of additional properties to included. */ public function record_event( $event_name, $properties = [] ) { if ( ! class_exists( 'WC_Tracks' ) ) { return; }
$properties = $this->get_properties( $properties ); WC_Tracks::record_event( self::PREFIX . $event_name, $properties ); }
/** * Get the properties to use for an event. * * Adds default properties to every event, including the ability for Add-ons to add their own * default properties. * * @param array $properties The array of properties for the event. * * @return array */ protected function get_properties( $properties = [] ) { // Add our own base properties, allowing add-ons to add base properties. $base_properties = array_merge( (array) apply_filters( 'automatewoo/usage_tracking/addon_base_properties', [] ), [ 'aw_version' => AUTOMATEWOO_VERSION, ] );
return wp_parse_args( $properties, $base_properties ); } }
|