fix: 접속량 정보가 기록되지 않았음
This commit is contained in:
+18
-33
@@ -12,34 +12,19 @@ $gameStor = KVStorage::getStorage($db, 'game_env');
|
|||||||
|
|
||||||
increaseRefresh("갱신정보", 1);
|
increaseRefresh("갱신정보", 1);
|
||||||
|
|
||||||
$admin = $gameStor->getValues(['year', 'month', 'refresh', 'maxrefresh', 'maxonline']);
|
$admin = $gameStor->getValues(['year', 'month', 'refresh', 'maxrefresh', 'maxonline', 'recentTraffic']);
|
||||||
|
|
||||||
$log = getRawFileLogRecent(__DIR__ . '/logs/' . UniqueConst::$serverID . '/_traffic.txt', 11, 100);
|
$recentTraffic = $admin['recentTraffic'] ?? [];
|
||||||
|
|
||||||
$date = [];
|
|
||||||
$year = [];
|
|
||||||
$month = [];
|
|
||||||
$refresh = [];
|
|
||||||
$online = [];
|
|
||||||
|
|
||||||
$curonline = getOnlineNum();
|
$curonline = getOnlineNum();
|
||||||
foreach ($log as $i => $value) {
|
|
||||||
$parse = Json::decode($value);
|
$recentTraffic[] = [
|
||||||
if (is_array($parse) === false) {
|
'year' => $admin['year'],
|
||||||
continue;
|
'month' => $admin['month'],
|
||||||
}
|
'refresh' => $admin['refresh'],
|
||||||
if (count($parse) < 5) {
|
'online' => $curonline,
|
||||||
continue;
|
'date' => TimeUtil::now()
|
||||||
}
|
];
|
||||||
$date[$i] = $parse[0];
|
|
||||||
$year[$i] = $parse[1];
|
|
||||||
$month[$i] = $parse[2];
|
|
||||||
$refresh[$i] = $parse[3];
|
|
||||||
$online[$i] = $parse[4];
|
|
||||||
}
|
|
||||||
$year[] = $admin['year'];
|
|
||||||
$month[] = $admin['month'];
|
|
||||||
$date[] = TimeUtil::now();
|
|
||||||
|
|
||||||
if ($admin['maxrefresh'] == 0) {
|
if ($admin['maxrefresh'] == 0) {
|
||||||
$admin['maxrefresh'] = 1;
|
$admin['maxrefresh'] = 1;
|
||||||
@@ -113,13 +98,13 @@ if ($admin['maxonline'] < $curonline) {
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
$refresh[] = $admin['refresh'];
|
foreach ($recentTraffic as $trafficItem) {
|
||||||
foreach ($refresh as $i => $value) {
|
$value = $trafficItem['refresh'];
|
||||||
$w = round($value / $admin['maxrefresh'] * 100, 1);
|
$w = round($value / $admin['maxrefresh'] * 100, 1);
|
||||||
$color = getTrafficColor($w);
|
$color = getTrafficColor($w);
|
||||||
$dt = substr($date[$i], 11, 5); ?>
|
$dt = substr($trafficItem['date'], 11, 5); ?>
|
||||||
<tr height=30>
|
<tr height=30>
|
||||||
<td width=100 align=center><?= $year[$i] ?>년 <?= $month[$i] ?>월</td>
|
<td width=100 align=center><?= $trafficItem['year'] ?>년 <?= $trafficItem['month'] ?>월</td>
|
||||||
<td width=60 align=center class='bg2'><?= $dt ?></td>
|
<td width=60 align=center class='bg2'><?= $dt ?></td>
|
||||||
<td width=2 align=center class='bg1'></td>
|
<td width=2 align=center class='bg1'></td>
|
||||||
<td width=320>
|
<td width=320>
|
||||||
@@ -154,13 +139,13 @@ if ($admin['maxonline'] < $curonline) {
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php
|
<?php
|
||||||
$online[] = $curonline;
|
foreach ($recentTraffic as $trafficItem) {
|
||||||
foreach ($online as $i => $value) {
|
$value = $trafficItem['online'];
|
||||||
$w = round($value / $admin['maxonline'] * 100, 1);
|
$w = round($value / $admin['maxonline'] * 100, 1);
|
||||||
$color = getTrafficColor($w);
|
$color = getTrafficColor($w);
|
||||||
$dt = substr($date[$i], 11, 5); ?>
|
$dt = substr($trafficItem['date'], 11, 5); ?>
|
||||||
<tr height=30>
|
<tr height=30>
|
||||||
<td width=100 align=center><?= $year[$i] ?>년 <?= $month[$i] ?>월</td>
|
<td width=100 align=center><?= $trafficItem['year'] ?>년 <?= $trafficItem['month'] ?>월</td>
|
||||||
<td width=60 align=center class='bg2'><?= $dt ?></td>
|
<td width=60 align=center class='bg2'><?= $dt ?></td>
|
||||||
<td width=2 align=center class='bg1'></td>
|
<td width=2 align=center class='bg1'></td>
|
||||||
<td width=320>
|
<td width=320>
|
||||||
|
|||||||
+14
-1
@@ -1070,7 +1070,7 @@ function updateTraffic()
|
|||||||
$online = getOnlineNum();
|
$online = getOnlineNum();
|
||||||
$db = DB::db();
|
$db = DB::db();
|
||||||
$gameStor = KVStorage::getStorage($db, 'game_env');
|
$gameStor = KVStorage::getStorage($db, 'game_env');
|
||||||
$admin = $gameStor->getValues(['year', 'month', 'refresh', 'maxonline', 'maxrefresh']);
|
$admin = $gameStor->getValues(['year', 'month', 'refresh', 'maxonline', 'maxrefresh', 'recentTraffic']);
|
||||||
/** @var array{year:int,month:int,refresh:int,maxonline:int,maxrefresh:int} $admin */
|
/** @var array{year:int,month:int,refresh:int,maxonline:int,maxrefresh:int} $admin */
|
||||||
|
|
||||||
if ($admin['maxrefresh'] < $admin['refresh']) {
|
if ($admin['maxrefresh'] < $admin['refresh']) {
|
||||||
@@ -1083,6 +1083,19 @@ function updateTraffic()
|
|||||||
$gameStor->maxrefresh = $admin['maxrefresh'];
|
$gameStor->maxrefresh = $admin['maxrefresh'];
|
||||||
$gameStor->maxonline = $admin['maxonline'];
|
$gameStor->maxonline = $admin['maxonline'];
|
||||||
|
|
||||||
|
$recentTraffic = $admin['recentTraffic'] ?? [];
|
||||||
|
if(count($recentTraffic) >= 5){
|
||||||
|
array_shift($recentTraffic);
|
||||||
|
}
|
||||||
|
$recentTraffic[] = [
|
||||||
|
'year'=>$admin['year'],
|
||||||
|
'month' => $admin['month'],
|
||||||
|
'refresh' => $admin['refresh'],
|
||||||
|
'online' => $admin['maxonline'],
|
||||||
|
'date' => TimeUtil::now(),
|
||||||
|
];
|
||||||
|
$gameStor->recentTraffic = $recentTraffic;
|
||||||
|
|
||||||
$db->update('general_access_log', ['refresh' => 0], true);
|
$db->update('general_access_log', ['refresh' => 0], true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user