<?php
session_start();
require_once 'inc/functions.php';
check404();
securityCheck();
if (!isLoggedIn()) {
    header('Location: index.php');
    exit;
}

$currentUser = getUserById($_SESSION['user_id']);

// Параметры фильтрации и пагинации
$filter = isset($_GET['filter']) ? $_GET['filter'] : 'all';
$page = isset($_GET['page']) ? max(1, (int)$_GET['page']) : 1;
$limit = 20;
$offset = ($page - 1) * $limit;

// Получение списка онлайн-игроков
$onlineUsers = getOnlineUsers($filter, $limit, $offset);
$totalUsers = getTotalOnlineUsers($filter);
$totalPages = ceil($totalUsers / $limit);

require_once 'inc/header.php';
?>

<span class="ttl"><b>Игроки онлайн</b></span>
<div class="clb"></div>
<div class="hr"></div>

<!-- Фильтры -->
<div>
    <?php if ($filter == 'all'): ?>
        <span><em>Все</em></span>
    <?php else: ?>
        <a href="?filter=all">Все</a>
    <?php endif; ?>
    |
    <?php if ($filter == 'noclan'): ?>
        <span><em>Без клана</em></span>
    <?php else: ?>
        <a href="?filter=noclan">Без клана</a>
    <?php endif; ?>
    |
    <a href="../users/search">Поиск</a> <!-- заглушка, замените на реальный поиск -->
</div>
<div class="hr"></div>

<!-- Список игроков -->
<ul class="online-list">
    <?php if (empty($onlineUsers)): ?>
        <li>Нет игроков онлайн.</li>
    <?php else: ?>
        <?php foreach ($onlineUsers as $player): 
            $status = isset($player['in_chat']) && $player['in_chat'] ? 'Чат' : 'На сайте';
        ?>
        <li>
            <span>
                <img width="12" height="12" src="images/icons/blue_warrior.png" alt="" border="0"/>
                <a href="profile.php?id=<?= $player['id'] ?>">
                    <span><?= htmlspecialchars($player['username']) ?></span>
                </a>
            </span>
            <span><?= $status ?></span>
        </li>
        <?php endforeach; ?>
    <?php endif; ?>
</ul>

<div class="hr"></div>

<!-- Пагинация -->
<?php if ($totalPages > 1): ?>
<div class="pagination">
    <?php if ($page > 1): ?>
        <a href="?filter=<?= urlencode($filter) ?>&page=1" title="Go to first page">&lt;&lt;</a>&nbsp;
        <a href="?filter=<?= urlencode($filter) ?>&page=<?= $page-1 ?>" title="Go to previous page">&lt;</a>&nbsp;
    <?php endif; ?>

    <span>
        <?php for ($i = 1; $i <= $totalPages; $i++): ?>
            <?php if ($i == $page): ?>
                <span><em><span><?= $i ?></span></em></span>
            <?php else: ?>
                <a href="?filter=<?= urlencode($filter) ?>&page=<?= $i ?>"><?= $i ?></a>
            <?php endif; ?>
        <?php endfor; ?>
    </span>

    <?php if ($page < $totalPages): ?>
        &nbsp;<a href="?filter=<?= urlencode($filter) ?>&page=<?= $page+1 ?>" title="Go to next page">&gt;</a>
        &nbsp;<a href="?filter=<?= urlencode($filter) ?>&page=<?= $totalPages ?>" title="Go to last page">&gt;&gt;</a>
    <?php endif; ?>
</div>
<?php endif; ?>

<?php require_once 'inc/foot.php'; ?>