<?php
$projectFilter = $_GET['project'] ?? '';
$platformFilter = $_GET['platform'] ?? '';
$dateFrom = $_GET['date_from'] ?? date('Y-m-d', strtotime('-30 days'));
$dateTo = $_GET['date_to'] ?? date('Y-m-d');
$stmt = $pdo->query("SELECT id, name FROM " . DB_PREFIX . "projects ORDER BY name");
$projects = $stmt->fetchAll();
$sql = "SELECT p.*, pr.name as project_name, COALESCE(SUM(a.likes), 0) as total_likes, COALESCE(SUM(a.comments), 0) as total_comments, COALESCE(SUM(a.shares), 0) as total_shares, COALESCE(SUM(a.views), 0) as total_views, COALESCE(SUM(a.clicks), 0) as total_clicks, COALESCE(SUM(a.reach), 0) as total_reach FROM " . DB_PREFIX . "posts p LEFT JOIN " . DB_PREFIX . "projects pr ON p.project_id = pr.id LEFT JOIN " . DB_PREFIX . "analytics a ON p.id = a.post_id AND a.date BETWEEN ? AND ? WHERE p.status = 'published'";
$params = [$dateFrom, $dateTo];
if ($projectFilter) { $sql .= " AND p.project_id = ?"; $params[] = $projectFilter; }
if ($platformFilter) { $sql .= " AND p.platform = ?"; $params[] = $platformFilter; }
$sql .= " GROUP BY p.id ORDER BY p.published_at DESC LIMIT 50";
$stmt = $pdo->prepare($sql); $stmt->execute($params); $posts = $stmt->fetchAll();
$totalLikes = array_sum(array_column($posts, 'total_likes'));
$totalComments = array_sum(array_column($posts, 'total_comments'));
$totalShares = array_sum(array_column($posts, 'total_shares'));
$totalViews = array_sum(array_column($posts, 'total_views'));
$totalReach = array_sum(array_column($posts, 'total_reach'));
$stmt = $pdo->prepare("SELECT p.platform, COUNT(*) as post_count, COALESCE(SUM(a.likes), 0) as likes, COALESCE(SUM(a.views), 0) as views FROM " . DB_PREFIX . "posts p LEFT JOIN " . DB_PREFIX . "analytics a ON p.id = a.post_id AND a.date BETWEEN ? AND ? WHERE p.status = 'published' GROUP BY p.platform");
$stmt->execute([$dateFrom, $dateTo]); $platformStats = $stmt->fetchAll();
$platforms = ['instagram', 'facebook', 'vk', 'telegram', 'tiktok', 'youtube', 'twitter', 'linkedin'];
?>

<div class="stats-grid">
    <div class="stat-card"><div class="stat-icon purple"><i class="fas fa-heart"></i></div><div class="stat-info"><div class="stat-value"><?php echo number_format($totalLikes, 0, ',', ' '); ?></div><div class="stat-label">Лайков</div></div></div>
    <div class="stat-card"><div class="stat-icon blue"><i class="fas fa-comment"></i></div><div class="stat-info"><div class="stat-value"><?php echo number_format($totalComments, 0, ',', ' '); ?></div><div class="stat-label">Комментариев</div></div></div>
    <div class="stat-card"><div class="stat-icon green"><i class="fas fa-share"></i></div><div class="stat-info"><div class="stat-value"><?php echo number_format($totalShares, 0, ',', ' '); ?></div><div class="stat-label">Репостов</div></div></div>
    <div class="stat-card"><div class="stat-icon orange"><i class="fas fa-eye"></i></div><div class="stat-info"><div class="stat-value"><?php echo number_format($totalViews, 0, ',', ' '); ?></div><div class="stat-label">Просмотров</div></div></div>
    <div class="stat-card"><div class="stat-icon red"><i class="fas fa-bullseye"></i></div><div class="stat-info"><div class="stat-value"><?php echo number_format($totalReach, 0, ',', ' '); ?></div><div class="stat-label">Охват</div></div></div>
</div>

<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 24px;">
    <div class="card">
        <div class="card-header"><div class="card-title">По платформам</div></div>
        <table class="data-table"><thead><tr><th>Платформа</th><th>Публикаций</th><th>Лайков</th><th>Просмотров</th></tr></thead><tbody>
            <?php foreach ($platformStats as $stat): ?><tr><td><span class="platform-icon platform-<?php echo $stat['platform']; ?>"><i class="fab fa-<?php echo $stat['platform']; ?>"></i> <?php echo ucfirst($stat['platform']); ?></span></td><td><?php echo $stat['post_count']; ?></td><td><?php echo number_format($stat['likes'], 0, ',', ' '); ?></td><td><?php echo number_format($stat['views'], 0, ',', ' '); ?></td></tr><?php endforeach; ?>
            <?php if (empty($platformStats)): ?><tr><td colspan="4" style="text-align: center; color: var(--gray);">Нет данных</td></tr><?php endif; ?>
        </tbody></table>
    </div>
    <div class="card">
        <div class="card-header"><div class="card-title">Фильтры</div></div>
        <form method="GET" style="display: flex; flex-direction: column; gap: 15px;">
            <input type="hidden" name="page" value="analytics">
            <div class="form-group"><label>Проект</label><select name="project"><option value="">Все проекты</option><?php foreach ($projects as $project): ?><option value="<?php echo $project['id']; ?>" <?php echo $projectFilter == $project['id'] ? 'selected' : ''; ?>><?php echo sanitize($project['name']); ?></option><?php endforeach; ?></select></div>
            <div class="form-group"><label>Платформа</label><select name="platform"><option value="">Все платформы</option><?php foreach ($platforms as $plat): ?><option value="<?php echo $plat; ?>" <?php echo $platformFilter === $plat ? 'selected' : ''; ?>><?php echo ucfirst($plat); ?></option><?php endforeach; ?></select></div>
            <div class="form-row"><div class="form-group"><label>С</label><input type="date" name="date_from" value="<?php echo $dateFrom; ?>"></div><div class="form-group"><label>По</label><input type="date" name="date_to" value="<?php echo $dateTo; ?>"></div></div>
            <button type="submit" class="btn btn-primary">Применить фильтры</button>
        </form>
    </div>
</div>

<div class="card">
    <div class="card-header"><div class="card-title">Детальная статистика по публикациям</div></div>
    <table class="data-table"><thead><tr><th>Публикация</th><th>Проект</th><th>Платформа</th><th>Лайки</th><th>Комменты</th><th>Репосты</th><th>Просмотры</th><th>Охват</th></tr></thead><tbody>
        <?php foreach ($posts as $post): ?><tr><td><div style="font-weight: 500;"><?php echo sanitize($post['title']); ?></div><div style="font-size: 12px; color: var(--gray);"><?php echo $post['published_at'] ? date('d.m.Y', strtotime($post['published_at'])) : '—'; ?></div></td><td><?php echo sanitize($post['project_name'] ?: '—'); ?></td><td><span class="platform-icon platform-<?php echo $post['platform']; ?>"><i class="fab fa-<?php echo $post['platform']; ?>"></i></span></td><td><?php echo number_format($post['total_likes'], 0, ',', ' '); ?></td><td><?php echo number_format($post['total_comments'], 0, ',', ' '); ?></td><td><?php echo number_format($post['total_shares'], 0, ',', ' '); ?></td><td><?php echo number_format($post['total_views'], 0, ',', ' '); ?></td><td><?php echo number_format($post['total_reach'], 0, ',', ' '); ?></td></tr><?php endforeach; ?>
        <?php if (empty($posts)): ?><tr><td colspan="8" style="text-align: center; color: var(--gray); padding: 40px;">Нет опубликованных постов за выбранный период</td></tr><?php endif; ?>
    </tbody></table>
</div>
