146 lines
8.0 KiB
PHP
146 lines
8.0 KiB
PHP
<?php require dirname(__DIR__) . "../../includes/bootstrap.php"; ?>
|
|
|
|
<?php $station = StationRepository::getInstance()->getObjectById($_GET['id'] ?? null); ?>
|
|
<?php if ($station->isExistingObject()) : ?>
|
|
<?php
|
|
$days = 10;
|
|
if (!isAllowedToShowOlderData()) {
|
|
$days = 1;
|
|
}
|
|
?>
|
|
<?php $senderStats = PacketPathRepository::getInstance()->getSenderPacketPathSatistics($station->id, time() - (60*60*24*$days)); ?>
|
|
<?php $receiverStats = PacketPathRepository::getInstance()->getReceiverPacketPathSatistics($station->id, time() - (60*60*24*$days)); ?>
|
|
|
|
<title><?php echo $station->name; ?>, статистика</title>
|
|
<div class="modal-inner-content">
|
|
<div class="modal-inner-content-menu">
|
|
<a class="tdlink" title="Overview" href="/views/overview.php?id=<?php echo $station->id ?>&imperialUnits=<?php echo $_GET['imperialUnits'] ?? 0; ?>">Подробнее</a>
|
|
<span>Статистика</span>
|
|
<a class="tdlink" title="Trail Chart" href="/views/trail.php?id=<?php echo $station->id ?>&imperialUnits=<?php echo $_GET['imperialUnits'] ?? 0; ?>">Графики</a>
|
|
<a class="tdlink" title="Weather" href="/views/weather.php?id=<?php echo $station->id ?>&imperialUnits=<?php echo $_GET['imperialUnits'] ?? 0; ?>">Погода</a>
|
|
<a class="tdlink" title="Telemetry" href="/views/telemetry.php?id=<?php echo $station->id ?>&imperialUnits=<?php echo $_GET['imperialUnits'] ?? 0; ?>">Телеметрия</a>
|
|
<a class="tdlink" title="Raw packets" href="/views/raw.php?id=<?php echo $station->id ?>&imperialUnits=<?php echo $_GET['imperialUnits'] ?? 0; ?>">Сырые данные</a>
|
|
</div>
|
|
|
|
<div class="horizontal-line"> </div>
|
|
|
|
<?php if (count($senderStats) > 0) : ?>
|
|
<p>Принятые станции <?php echo htmlspecialchars($station->name) ?> <b>напрямую</b> в течение последних <?php echo $days; ?> дней.</p>
|
|
<div class="datagrid datagrid-statistics" style="max-width:700px;">
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Станция</th>
|
|
<th>Количество пакетов</th>
|
|
<th>Последний пакет</th>
|
|
<th>Максимальное расстояние</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php foreach ($senderStats as $stats) : ?>
|
|
<?php $otherStation = StationRepository::getInstance()->getObjectById($stats["station_id"]) ?>
|
|
<tr>
|
|
<td>
|
|
<img alt="Symbol" src="<?php echo $otherStation->getIconFilePath(22, 22); ?>" style="vertical-align: middle;"/>
|
|
<a class="tdlink" href="/views/overview.php?id=<?php echo $otherStation->id; ?>&imperialUnits=<?php echo $_GET['imperialUnits'] ?? 0; ?>"><?php echo htmlentities($otherStation->name) ?></a>
|
|
</td>
|
|
<td>
|
|
<?php echo $stats["number_of_packets"]; ?>
|
|
</td>
|
|
<td class="latest-heard">
|
|
<?php echo $stats["latest_timestamp"];?>
|
|
</td>
|
|
|
|
<td class="longest-distance">
|
|
<?php if ($stats["longest_distance"] !== null) : ?>
|
|
<?php if (isImperialUnitUser()) : ?>
|
|
<?php echo round(convertKilometerToMile($stats["longest_distance"] / 1000), 2); ?> миль
|
|
<?php else : ?>
|
|
<?php echo round($stats["longest_distance"] / 1000, 2); ?> км
|
|
<?php endif; ?>
|
|
<?php else : ?>
|
|
|
|
<?php endif; ?>
|
|
</td>
|
|
</tr>
|
|
<?php endforeach; ?>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<br/>
|
|
<?php endif; ?>
|
|
|
|
|
|
<?php if (count($receiverStats) > 0) : ?>
|
|
<p>Станции, <b>напрямую</b> принятые <?php echo htmlspecialchars($station->name); ?> в течение последних <?php echo $days; ?> дней.</p>
|
|
<div class="datagrid datagrid-statistics" style="max-width:700px;">
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Станция</th>
|
|
<th>Количество пакетов</th>
|
|
<th>Последний пакет</th>
|
|
<th>Максимальное расстояние</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php foreach ($receiverStats as $stats) : ?>
|
|
<?php $otherStation = StationRepository::getInstance()->getObjectById($stats["station_id"]) ?>
|
|
<tr>
|
|
<td>
|
|
<img alt="Symbol" src="<?php echo $otherStation->getIconFilePath(22, 22); ?>" style="vertical-align: middle;"/>
|
|
<a class="tdlink" href="/views/overview.php?id=<?php echo $otherStation->id; ?>&imperialUnits=<?php echo $_GET['imperialUnits'] ?? 0; ?>"><?php echo htmlentities($otherStation->name) ?></a>
|
|
|
|
</td>
|
|
<td>
|
|
<?php echo $stats["number_of_packets"]; ?>
|
|
</td>
|
|
<td class="latest-heard">
|
|
<?php echo $stats["latest_timestamp"];?>
|
|
</td>
|
|
<td class="longest-distance">
|
|
<?php if ($stats["longest_distance"] !== null) : ?>
|
|
<?php if (isImperialUnitUser()) : ?>
|
|
<?php echo round(convertKilometerToMile($stats["longest_distance"] / 1000), 2); ?> миль
|
|
<?php else : ?>
|
|
<?php echo round($stats["longest_distance"] / 1000, 2); ?> км
|
|
<?php endif; ?>
|
|
<?php else : ?>
|
|
|
|
<?php endif; ?>
|
|
</td>
|
|
</tr>
|
|
<?php endforeach; ?>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<br/>
|
|
<?php endif; ?>
|
|
|
|
|
|
<?php if (count($senderStats) == 0 && count($receiverStats) == 0): ?>
|
|
<p><i><b>Нет статистики за последние <?php echo $days; ?> дней.</b></i></p>
|
|
<?php endif; ?>
|
|
</div>
|
|
<script>
|
|
$(document).ready(function() {
|
|
var locale = window.navigator.userLanguage || window.navigator.language;
|
|
moment.locale(locale);
|
|
|
|
$('.latest-heard').each(function() {
|
|
if ($(this).html().trim() != '' && !isNaN($(this).html().trim())) {
|
|
$(this).html(moment(new Date(1000 * $(this).html())).format('L LTSZ'));
|
|
}
|
|
});
|
|
|
|
if (window.parent && window.parent.trackdirect) {
|
|
<?php if ($station->latestConfirmedLatitude != null && $station->latestConfirmedLongitude != null) : ?>
|
|
window.parent.trackdirect.addListener("map-created", function() {
|
|
window.parent.trackdirect.focusOnStation(<?php echo $station->id ?>, true);
|
|
});
|
|
<?php endif; ?>
|
|
}
|
|
});
|
|
</script>
|
|
<?php endif; ?>
|