Skip to content

Commit 57930da

Browse files
authored
Update Tracks_Event_DTO by adding new properties and updating the names of legacy properties (#5990)
- Update vipgo_* properties to vip_*. - Adds hosting_provider, is_multisite and wp_version properties.
1 parent 0affaad commit 57930da

4 files changed

Lines changed: 35 additions & 10 deletions

File tree

‎telemetry/tracks/class-tracks-event-dto.php‎

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,15 @@ class Tracks_Event_DTO {
3333
/** @var string */
3434
public string $_via_ip; // phpcs:ignore PSR2.Classes.PropertyDeclaration.Underscore
3535

36-
public string $vipgo_env;
36+
public string $vip_env;
3737

38-
public int $vipgo_org;
38+
public int $vip_org;
39+
40+
public string $hosting_provider = 'other';
3941

4042
public bool $is_vip_user = false;
43+
44+
public bool $is_multisite = false;
45+
46+
public string $wp_version = '';
4147
}

‎telemetry/tracks/class-tracks-event.php‎

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -154,18 +154,30 @@ protected function process_properties(
154154

155155
$base_props = get_base_properties_of_track_event();
156156

157-
if ( isset( $base_props['vipgo_env'] ) ) {
158-
$event->vipgo_env = $base_props['vipgo_env'];
157+
if ( isset( $base_props['vip_env'] ) ) {
158+
$event->vip_env = $base_props['vip_env'];
159159
}
160160

161-
if ( isset( $base_props['vipgo_org'] ) ) {
162-
$event->vipgo_org = $base_props['vipgo_org'];
161+
if ( isset( $base_props['vip_org'] ) ) {
162+
$event->vip_org = $base_props['vip_org'];
163+
}
164+
165+
if ( isset( $base_props['hosting_provider'] ) ) {
166+
$event->hosting_provider = $base_props['hosting_provider'];
163167
}
164168

165169
if ( isset( $base_props['is_vip_user'] ) ) {
166170
$event->is_vip_user = $base_props['is_vip_user'];
167171
}
168172

173+
if ( isset( $base_props['is_multisite'] ) ) {
174+
$event->is_multisite = $base_props['is_multisite'];
175+
}
176+
177+
if ( isset( $base_props['wp_version'] ) ) {
178+
$event->wp_version = $base_props['wp_version'];
179+
}
180+
169181
return $event;
170182
}
171183

‎telemetry/tracks/tracks-utils.php‎

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,15 @@ function get_base_properties_of_track_event(): array {
2828
if ( defined( 'VIP_GO_APP_ENVIRONMENT' ) ) {
2929
$app_environment = constant( 'VIP_GO_APP_ENVIRONMENT' );
3030
if ( is_string( $app_environment ) && '' !== $app_environment ) {
31-
$props['vipgo_env'] = $app_environment;
31+
$props['vip_env'] = $app_environment;
3232
}
3333
}
3434

3535
// Set VIP organization if it exists.
3636
if ( defined( 'VIP_ORG_ID' ) ) {
3737
$org_id = constant( 'VIP_ORG_ID' );
3838
if ( is_integer( $org_id ) && $org_id > 0 ) {
39-
$props['vipgo_org'] = $org_id;
39+
$props['vip_org'] = $org_id;
4040
}
4141
}
4242

@@ -82,6 +82,10 @@ function get_hosting_provider(): string {
8282
* @return array<string, mixed> The base properties.
8383
*/
8484
function get_base_properties_of_track_user(): array {
85+
if ( ! function_exists( 'wp_get_current_user' ) ) {
86+
return [];
87+
}
88+
8589
$props = [];
8690

8791
// Only track logged-in users.

‎tests/telemetry/tracks/test-class-tracks-event.php‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,11 @@ public function test_should_return_event_data() {
5959
$this->assertSame( '1.2.3.4', $event->get_data()->_via_ip );
6060
$this->assertSame( hash_hmac( 'sha256', $this->user->user_email, self::VIP_TELEMETRY_SALT ), $event->get_data()->_ui );
6161
$this->assertSame( 'vip:user_email', $event->get_data()->_ut );
62-
$this->assertSame( self::VIP_GO_APP_ENVIRONMENT, $event->get_data()->vipgo_env );
63-
$this->assertSame( self::VIP_ORG_ID, $event->get_data()->vipgo_org );
62+
$this->assertSame( self::VIP_GO_APP_ENVIRONMENT, $event->get_data()->vip_env );
63+
$this->assertSame( self::VIP_ORG_ID, $event->get_data()->vip_org );
64+
$this->assertSame( 'other', $event->get_data()->hosting_provider );
65+
$this->assertSame( is_multisite(), $event->get_data()->is_multisite );
66+
$this->assertSame( get_bloginfo( 'version' ), $event->get_data()->wp_version );
6467
$this->assertFalse( $event->get_data()->is_vip_user );
6568
$this->assertTrue( $event->is_recordable() );
6669
}

0 commit comments

Comments
 (0)