Documentation

AnalyticsFormatter
in package

A simple class to format analytics data to make it more human-readable and to perform calculations.

Table of Contents

Properties

$roomFields  : array<string|int, string>
$userFields  : array<string|int, string>
$rawData  : array<string|int, mixed>
$roomData  : array<string|int, mixed>
$timezone  : DateTimeZone
$usersData  : array<string|int, mixed>

Methods

__construct()  : mixed
formatSecondsToTime()  : string
Format seconds to H:i:s format
formatTimestamp()  : string
Format timestamp to user readable format
getFormattedEventData()  : array<string|int, mixed>
Get formatted analytics data
getRawAnalyticsData()  : array<string|int, mixed>
Get raw analytics data
getRoomFields()  : array<string|int, string>
Get room fields
getUserFields()  : array<string|int, string>
Get user fields
countStatusStartTypeEvent()  : int
Count how many times an event occurred
formatRoomData()  : void
Format basic room data
formatRoomEvents()  : void
Format room events
formatRoomPolls()  : array<string|int, mixed>
Format room polls data
formatUserEvents()  : void
Format user events
formatUserJoinDuration()  : void
Format user join duration
formatUserPollVoted()  : int
Format user's poll voted data
formatUsersData()  : void
Format user data
getDurationFromEvents()  : int
Get duration from events

Properties

$roomFields

protected array<string|int, string> $roomFields = ["room_id", "room_title", "room_creation", "room_ended", "room_duration", "room_total_users", "enabled_e2ee", "recording_status", "rtmp_status", "external_media_player_status", "etherpad_status", "external_display_link_status", "ingress_created", "breakout_room"]

$userFields

protected array<string|int, string> $userFields = ["name", "ex_user_id", "is_admin", "duration", "joined", "left", "mic_status", "mic_muted", "mic_duration", "talked", "talked_duration", "webcam_status", "webcam_duration", "raise_hand", "voted_poll", "whiteboard_annotated", "whiteboard_files", "screen_share_status", "public_chat", "private_chat", "chat_files", "interface_invisible", "connection_quality"]

Methods

__construct()

public __construct(array<string|int, mixed> $rawData[, string $userTimezone = 'UTC' ]) : mixed
Parameters
$rawData : array<string|int, mixed>

Raw analytics data from plugNmeet-server

$userTimezone : string = 'UTC'

User's timezone

formatSecondsToTime()

Format seconds to H:i:s format

public formatSecondsToTime(mixed $seconds) : string
Parameters
$seconds : mixed
Return values
string

formatTimestamp()

Format timestamp to user readable format

public formatTimestamp(mixed $timestamp[, bool $ms = true ]) : string
Parameters
$timestamp : mixed
$ms : bool = true
Return values
string

getFormattedEventData()

Get formatted analytics data

public getFormattedEventData() : array<string|int, mixed>
Return values
array<string|int, mixed>

getRawAnalyticsData()

Get raw analytics data

public getRawAnalyticsData() : array<string|int, mixed>
Return values
array<string|int, mixed>

getRoomFields()

Get room fields

public getRoomFields() : array<string|int, string>
Return values
array<string|int, string>

getUserFields()

Get user fields

public getUserFields() : array<string|int, string>
Return values
array<string|int, string>

countStatusStartTypeEvent()

Count how many times an event occurred

private countStatusStartTypeEvent(array<string|int, mixed> $data[, string $type = "ANALYTICS_STATUS_STARTED" ]) : int
Parameters
$data : array<string|int, mixed>
$type : string = "ANALYTICS_STATUS_STARTED"
Return values
int

formatRoomEvents()

Format room events

private formatRoomEvents(array<string|int, mixed> $events) : void
Parameters
$events : array<string|int, mixed>

formatRoomPolls()

Format room polls data

private formatRoomPolls(array<string|int, mixed> $data) : array<string|int, mixed>
Parameters
$data : array<string|int, mixed>
Return values
array<string|int, mixed>

formatUserEvents()

Format user events

private formatUserEvents(array<string|int, mixed> &$user, array<string|int, mixed> $events) : void
Parameters
$user : array<string|int, mixed>
$events : array<string|int, mixed>

formatUserJoinDuration()

Format user join duration

private formatUserJoinDuration(array<string|int, mixed> &$user) : void
Parameters
$user : array<string|int, mixed>

formatUserPollVoted()

Format user's poll voted data

private formatUserPollVoted(array<string|int, mixed> $values) : int
Parameters
$values : array<string|int, mixed>
Return values
int

getDurationFromEvents()

Get duration from events

private getDurationFromEvents(array<string|int, mixed> $events[, string $startStatus = 'ANALYTICS_STATUS_STARTED' ][, string $endStatus = 'ANALYTICS_STATUS_ENDED' ]) : int
Parameters
$events : array<string|int, mixed>
$startStatus : string = 'ANALYTICS_STATUS_STARTED'
$endStatus : string = 'ANALYTICS_STATUS_ENDED'
Return values
int

        
On this page

Search results