31 string $a_obj_type =
'' 45 public static function _getProgress(
int $a_user_id,
int $a_obj_id): array
50 foreach ($events as $row) {
58 $progress[
'spent_seconds'] += (
int) $row[
'spent_seconds'];
59 $progress[
'access_time'] = max(
60 $progress[
'access_time'],
61 (
int) $row[
'last_access']
63 $progress[
'access_time_min'] = min(
64 $progress[
'access_time_min'],
65 (
int) $row[
'first_access']
68 $progress[
'obj_id'] = (
int) $row[
'obj_id'];
69 $progress[
'user_id'] = (
int) $row[
'usr_id'];
70 $progress[
'spent_seconds'] = (
int) $row[
'spent_seconds'];
71 $progress[
'access_time'] = (
int) $row[
'last_access'];
72 $progress[
'access_time_min'] = (
int) $row[
'first_access'];
73 $progress[
'visits'] = (
int) $row[
'read_count'];
86 if (isset($progress[$row[
'usr_id']])) {
87 $progress[$row[
'usr_id']][
'spent_seconds'] += (
int) $row[
'spent_seconds'];
88 $progress[$row[
'usr_id']][
'read_count'] += (
int) $row[
'read_count'];
89 $progress[$row[
'usr_id']][
'ts'] = max(
90 (
int) $row[
'last_access'],
91 (
int) $progress[$row[
'usr_id']][
'ts']
94 $progress[$row[
'usr_id']][
'spent_seconds'] = (
int) $row[
'spent_seconds'];
95 $progress[$row[
'usr_id']][
'read_count'] = (
int) $row[
'read_count'];
96 $progress[$row[
'usr_id']][
'ts'] = (
int) $row[
'last_access'];
98 $progress[$row[
'usr_id']][
'usr_id'] = (
int) $row[
'usr_id'];
99 $progress[$row[
'usr_id']][
'obj_id'] = (
int) $row[
'obj_id'];
static _getProgress(int $a_user_id, int $a_obj_id)
static _tracProgress(int $a_user_id, int $a_obj_id, int $a_ref_id, string $a_obj_type='')
static _recordReadEvent(string $a_type, int $a_ref_id, int $obj_id, int $usr_id, bool $isCatchupWriteEvents=true, $a_ext_rc=null, $a_ext_time=null)
static setInProgressIfNotAttempted(int $a_obj_id, int $a_user_id)
This function shoudl be clalled for normal "read events".
static _lookupReadEvents($obj_id, $usr_id=null)
Reads all read events which occured on the object.
static _lookupProgressByObjId(int $a_obj_id)
lookup progress for a specific object