Files
TSN-Ranksystem/jobs/calc_user_snapshot.php
Newcomer1989 d196dfb1f6 release 1.3.9
2020-08-03 13:02:27 +02:00

30 lines
1.4 KiB
PHP

<?PHP
function calc_user_snapshot($cfg,$dbname,&$db_cache) {
$starttime = microtime(true);
$nowtime = time();
$sqlexec = '';
// Event Handling each 6 hours
// Duplicate users Table in snapshot Table
if(($nowtime - $db_cache['job_check']['last_snapshot_time']['timestamp']) > 21600) {
if(isset($db_cache['all_user'])) {
$db_cache['job_check']['last_snapshot_id']['timestamp'] = $nextid = $db_cache['job_check']['last_snapshot_id']['timestamp'] + 1;
if ($nextid > 121) $nextid = $nextid - 121;
$allinsertsnap = '';
foreach ($db_cache['all_user'] as $uuid => $insertsnap) {
if(isset($insertsnap['cldbid']) && $insertsnap['cldbid'] != NULL) {
$allinsertsnap = $allinsertsnap . "({$nextid},{$insertsnap['cldbid']},".round($insertsnap['count']).",".round($insertsnap['idle'])."),";
}
}
$allinsertsnap = substr($allinsertsnap, 0, -1);
if ($allinsertsnap != '') {
$sqlexec .= "DELETE FROM `$dbname`.`user_snapshot` WHERE `id`={$nextid};\nINSERT INTO `$dbname`.`user_snapshot` (`id`,`cldbid`,`count`,`idle`) VALUES $allinsertsnap;\nUPDATE `$dbname`.`job_check` SET `timestamp`={$nextid} WHERE `job_name`='last_snapshot_id';\nUPDATE `$dbname`.`job_check` SET `timestamp`={$nowtime} WHERE `job_name`='last_snapshot_time';\n";
}
unset($allinsertsnap);
}
}
enter_logfile($cfg,6,"calc_user_snapshot needs: ".(number_format(round((microtime(true) - $starttime), 5),5)));
return($sqlexec);
}