<?php
// Get visitor's IP
$visitor_ip = $_SERVER['REMOTE_ADDR'];

// Log IP and get total visitors
$ip_file = "ip.txt";
$ips = file_exists($ip_file) ? file($ip_file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES) : [];
if (!in_array($visitor_ip, $ips)) {
    file_put_contents($ip_file, $visitor_ip . PHP_EOL, FILE_APPEND);
    $ips[] = $visitor_ip;
}
$total_visitors = count($ips);

// Regular TSports API
$api_url = "https://raw.githubusercontent.com/byte-capsule/TSports-m3u8-Grabber/main/TSports_m3u8_headers.Json";
$json_data = file_get_contents($api_url);
$data = json_decode($json_data, true);
$channels = $data['channels'];

// Toffee API
$toffee_api = "https://raw.githubusercontent.com/Jeshan-akand/Toffee-Channels-Link-Headers/main/toffee_channel_data.json";
$toffee_data = json_decode(file_get_contents($toffee_api), true);
$channels = array_merge($channels, $toffee_data['channels']); // Merge both channel arrays

// Maxplay channel configurations
$maxplay_channels = [
    [
        'id' => 'TSports',
        'name' => 'T Sports (Maxplay)',
        'logo' => 'https://image.tsports.com/images/mobile_logo/1719127161-LIVE.jpg'
    ],
    [
        'id' => 'SuperSportsCricket',
        'name' => 'SuperSports Cricket',
        'logo' => 'https://bunny-wp-pullzone-riionukvtf.b-cdn.net/wp-content/uploads/2025/01/supersportscricket-300x188.png'
    ]
];

// Fetch Maxplay URLs
$maxplay_urls = [];
foreach ($maxplay_channels as $channel) {
    $api_url = "https://maxplay-tv.fun/play/play.php?id=" . $channel['id'];
    $maxplay_urls[$channel['id']] = file_get_contents($api_url);
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>WebTV Player</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css" rel="stylesheet">
    <script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
    <style>
        .channel-card {
            transition: all 0.3s ease;
            cursor: pointer;
            background: linear-gradient(145deg, #2c3036, #23272b);
            border: none;
            box-shadow: 5px 5px 15px rgba(0,0,0,0.3);
            border-radius: 15px;
            overflow: hidden;
            position: relative;
        }
        .channel-card:hover {
            transform: translateY(-5px);
            box-shadow: 8px 8px 20px rgba(0,0,0,0.4);
        }
        .channel-card .card-body {
            padding: 0;
        }
        .channel-logo {
            width: 100%;
            height: 180px;
            object-fit: contain;
            background: linear-gradient(45deg, #1a1d20, #2c3036);
            padding: 15px;
            margin-bottom: 0;
        }
        .channel-info {
            padding: 15px;
            background: rgba(33, 37, 41, 0.95);
        }
        .card-title {
            font-size: 1.1rem;
            font-weight: 600;
            margin-bottom: 15px;
            color: #fff;
            text-shadow: 1px 1px 3px rgba(0,0,0,0.3);
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
        .category-badge {
            position: absolute;
            top: 15px;
            right: 15px;
            background: linear-gradient(45deg, #dc3545, #ff4d5a);
            padding: 6px 12px;
            border-radius: 20px;
            font-size: 0.8rem;
            font-weight: 600;
            box-shadow: 0 2px 5px rgba(0,0,0,0.2);
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
        .btn {
            border-radius: 25px;
            padding: 8px 20px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            width: 100%;
            transition: all 0.3s ease;
        }
        .btn-primary {
            background: linear-gradient(45deg, #007bff, #00c6ff);
            border: none;
        }
        .btn-warning {
            background: linear-gradient(45deg, #ffc107, #ffaa00);
            border: none;
        }
        .btn-success {
            background: linear-gradient(45deg, #28a745, #00d084);
            border: none;
        }
        .btn:hover {
            transform: scale(1.02);
            box-shadow: 0 5px 15px rgba(0,0,0,0.3);
        }
        .btn i {
            margin-left: 8px;
            font-size: 0.9rem;
        }
        .video-container {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0,0,0,0.9);
            z-index: 1000;
        }
        #videoPlayer {
            width: 100%;
            height: 100%;
            max-width: 1024px;
            margin: 0 auto;
        }
        .close-btn {
            position: absolute;
            top: 20px;
            right: 20px;
            color: white;
            font-size: 24px;
            cursor: pointer;
            z-index: 1001;
        }
        .telegram-banner {
            background: linear-gradient(45deg, #0088cc, #00406e);
            padding: 12px;
            border-radius: 8px;
            margin-bottom: 20px;
            cursor: pointer;
            transition: transform 0.2s;
            text-decoration: none !important;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 12px;
        }
        .telegram-banner:hover {
            transform: translateY(-2px);
        }
        .telegram-banner i {
            color: white;
            font-size: 24px;
        }
        .telegram-banner span {
            color: white;
            font-size: 16px;
            font-weight: 500;
        }
    </style>
</head>
<body class="bg-dark text-light">
    <div class="container py-4">
        <!-- Add Visitor Counter -->
        <div class="text-center mb-3">
            <h6>Total Visitors: <?php echo number_format($total_visitors); ?></h6>
        </div>
        
        <!-- Add Telegram Banner -->
        <a href="tg://resolve?domain=live_cricket_24" class="telegram-banner">
            <i class="fab fa-telegram"></i>
            <span>Join our Telegram Channel for Live Updates!</span>
        </a>

        <h1 class="text-center mb-2"> Proximity Play</h1>
        <p class="update-time"></p>
        <div class="row mb-4">
            <div class="col-md-6 mx-auto">
                <input type="text" id="searchInput" class="form-control" placeholder="Search channels...">
            </div>
        </div>
        <div class="row" id="channelGrid">
            <?php foreach ($channels as $channel): ?>
            <div class="col-md-4 mb-4 channel-item">
                <div class="card bg-secondary channel-card">
                    <span class="category-badge"><?php echo $channel['category_name']; ?></span>
                    <img src="<?php echo $channel['logo']; ?>" alt="<?php echo $channel['name']; ?>" class="channel-logo">
                    <div class="channel-info">
                        <h5 class="card-title"><?php echo $channel['name']; ?></h5>
                        <?php 
                        // Handle both cookie formats
                        $cookieValue = isset($channel['headers']['Cookie']) ? 
                            $channel['headers']['Cookie'] : 
                            (isset($channel['headers']['cookie']) ? $channel['headers']['cookie'] : '');
                            
                        // Add Host header for Toffee streams
                        if (isset($channel['headers']['Host'])) {
                            $cookieValue = "Host=" . $channel['headers']['Host'] . "; " . $cookieValue;
                        }
                        ?>
                        <button class="btn btn-<?php echo isset($channel['headers']['Host']) ? 'warning' : 'primary'; ?>" 
                                onclick='openCookiePlayer(<?php echo json_encode([
                                    'url' => $channel['link'],
                                    'cookie' => $cookieValue
                                ]); ?>)'>
                            Watch Now <i class="fas fa-play"></i>
                        </button>
                    </div>
                </div>
            </div>
            <?php endforeach; ?>

            <!-- Maxplay Channels -->
            <?php foreach ($maxplay_channels as $channel): ?>
            <div class="col-md-4 mb-4 channel-item">
                <div class="card bg-secondary channel-card">
                    <span class="category-badge">LIVE</span>
                    <img src="<?php echo $channel['logo']; ?>" alt="<?php echo $channel['name']; ?>" class="channel-logo">
                    <div class="channel-info">
                        <h5 class="card-title"><?php echo $channel['name']; ?></h5>
                        <button class="btn btn-success mt-2" 
                                onclick='openRefererPlayer(<?php echo json_encode([
                                    'url' => $maxplay_urls[$channel['id']],
                                    'referer' => 'https://secureplayer.sportstvn.com/'
                                ]); ?>)'>
                            Watch Now <i class="fas fa-play"></i>
                        </button>
                    </div>
                </div>
            </div>
            <?php endforeach; ?>
        </div>
    </div>

    <script>
        // Add device detection function
        function isMobileDevice() {
            return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
        }

        const searchInput = document.getElementById('searchInput');
        const channelItems = document.querySelectorAll('.channel-item');

        searchInput.addEventListener('input', function(e) {
            const searchTerm = e.target.value.toLowerCase();
            channelItems.forEach(item => {
                const title = item.querySelector('.card-title').textContent.toLowerCase();
                item.style.display = title.includes(searchTerm) ? 'block' : 'none';
            });
        });

        function openCookiePlayer(data) {
            if (isMobileDevice()) {
                const intentUri = `intent:${data.url}?|Cookie=${data.cookie}#Intent;package=com.genuine.leone;end`;
                window.location.href = intentUri;
            } else {
                const headers = { Cookie: data.cookie };
                const encodedHeaders = btoa(JSON.stringify(headers));
                const finalUrl = `${data.url}?headers=${encodedHeaders}`;
                window.open(`chrome-extension://opmeopcambhfimffbomjgemehjkbbmji/pages/player.html#${finalUrl}`, '_blank');
            }
        }

        function openRefererPlayer(data) {
            if (isMobileDevice()) {
                const intentUri = `intent:${data.url}?|Referer=${data.referer}#Intent;package=com.genuine.leone;end`;
                window.location.href = intentUri;
            } else {
                const headers = { Referer: data.referer };
                const encodedHeaders = btoa(JSON.stringify(headers));
                const finalUrl = `${data.url}&headers=${encodedHeaders}`;
                window.open(`chrome-extension://opmeopcambhfimffbomjgemehjkbbmji/pages/player.html#${finalUrl}`, '_blank');
            }
        }
    </script>
</body>
</html>
