65 lines
1.5 KiB
PHP
65 lines
1.5 KiB
PHP
<?php
|
|
|
|
if ($_SERVER['HTTP_HOST'] === 'nizika.monster')
|
|
header ('location: //nizika.tv');
|
|
|
|
const LOG_PATH = './log.txt';
|
|
|
|
$log_data = [];
|
|
|
|
$page = (int) ($_GET['p'] ?? 1);
|
|
$length = (int) ($_GET['max'] ?? 20);
|
|
$asc = ($_GET['asc'] ?? 0) != 0;
|
|
$keyword = trim ($_GET['q'] ?? '');
|
|
|
|
$date_start = ($_GET['start'] ?? null) ?: null;
|
|
$date_end = ($_GET['end'] ?? null) ?: null;
|
|
|
|
$f = fopen (LOG_PATH, 'r');
|
|
|
|
if ($f !== false)
|
|
{
|
|
while (($dt = fgetcsv ($f, 0, "\t")) !== false)
|
|
{
|
|
$chat_info = json_decode ($dt[1]);
|
|
|
|
$log_data[] = ['date_time' => $dt[0],
|
|
'chat_icon' => $chat_info -> author -> imageUrl,
|
|
'chat_name' => $chat_info -> author -> name,
|
|
'chat_message' => $chat_info -> message,
|
|
'answer' => $dt[2]];
|
|
}
|
|
}
|
|
|
|
fclose ($f);
|
|
|
|
unset ($f);
|
|
|
|
if ($keyword != '')
|
|
{
|
|
$log_data = array_filter ($log_data, fn ($row) => (
|
|
strpos ($row['chat_name'] . "\n" . $row['chat_message'] . "\n" . $row['answer'],
|
|
$keyword)
|
|
!== false));
|
|
}
|
|
|
|
if ($date_start)
|
|
{
|
|
$log_data = array_filter ($log_data, fn ($row) => (
|
|
substr ($row['date_time'], 0, 10) >= $date_start));
|
|
}
|
|
|
|
if ($date_end)
|
|
{
|
|
$log_data = array_filter ($log_data, fn ($row) => (
|
|
substr ($row['date_time'], 0, 10) <= $date_end));
|
|
}
|
|
|
|
$pages_max = (int) ((count ($log_data) - 1) / $length) + 1;
|
|
|
|
if (!($asc))
|
|
$log_data = array_reverse ($log_data);
|
|
|
|
require_once './index.frm.php';
|
|
|