<?php
session_start();

include 'includes/header.php';

date_default_timezone_set('America/Sao_Paulo');



// ou com PHP 7+
$user_id = intval($_SESSION["user_id"] ?? 0);


$pageTitle = isset($_GET['banner']) ? "Gerador de Banner" : "Selecionar Modelo de Banner";


$diaParam = isset($_GET['dia']) ? strtolower($_GET['dia']) : 'hoje';
$dia      = in_array($diaParam, ['hoje','amanha'], true) ? $diaParam : 'hoje';

$data_banner = ($dia === 'amanha')
    ? date('d/m/Y', strtotime('+1 day'))
    : date('d/m/Y');

$_SESSION['dia_selecionado'] = $dia;
$_SESSION['data_banner']     = $data_banner;

$jogos = [];

$dia = isset($_GET['dia']) && strtolower($_GET['dia']) === 'amanha' ? 'amanha' : 'hoje';

$api_file = __DIR__ . '/api_config.json';

if (file_exists($api_file)) {
    $api_data = json_decode(file_get_contents($api_file), true);

    $token = $api_data['token'] ?? '';
    $base_url = rtrim(str_replace('\\', '', $api_data['base_url'] ?? ''), '/'); 
    $url_hoje = '/' . ltrim(str_replace('\\', '', $api_data['url_hoje'] ?? 'mostrar-jogos'), '/');
    $url_amanha = '/' . ltrim(str_replace('\\', '', $api_data['url_amanha'] ?? 'mostrar-jogos-amanha'), '/');
}

$rotaApi = ($dia === 'hoje') ? $base_url . $url_hoje : $base_url . $url_amanha;

// Requisição cURL
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $rotaApi);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer $token",
    "Accept: application/json"
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);

if (curl_errno($ch)) {
    echo "Erro na requisição: " . curl_error($ch);
    exit;
}

curl_close($ch);


$data = json_decode($response, true);

if (is_array($data)) {
    $jogos = $data;
} else {
    echo "Resposta da API inválida!";
    exit;
}


$jogosPorBanner = 5;
$gruposDeJogos = array_chunk(array_keys($jogos), $jogosPorBanner);

// Processar geração com logo e fundo do usuário (código original inalterado)
if (isset($_POST['generate_with_my_logo']) && isset($_GET['banner'])) {
    $tipo_banner = $_GET['banner'];
    $logo_types = [
        '1' => 'logo_banner_1',
        '2' => 'logo_banner_2',
        '3' => 'logo_banner_3'
        
    ];
    $bg_types = [
        '1' => 'background_banner_1',
        '2' => 'background_banner_2',
        '3' => 'background_banner_3'
      
    ];
    
    if (isset($logo_types[$tipo_banner]) && isset($bg_types[$tipo_banner])) {
        $logo_key = $logo_types[$tipo_banner];
        $bg_key = $bg_types[$tipo_banner];
        $user_logo_json_path = "./api/fzstore/user_{$user_id}/{$logo_key}.json";
        $global_logo_json_path = "./api/fzstore/{$logo_key}.json";
        $user_bg_json_path = "./api/fzstore/user_{$user_id}/{$bg_key}.json";
        $global_bg_json_path = "./api/fzstore/{$bg_key}.json";
        $global_logo_dir = "./fzstore/logo/";
        $global_bg_dir = "./fzstore/Img/";
        $success = true;
        $error_msg = '';

        $default_bg_path = "./fzstore/Img/default_background.png";

        error_log("Processing logo JSON: $user_logo_json_path");
        error_log("Processing background JSON: $user_bg_json_path");

        if (file_exists($user_logo_json_path)) {
            $user_logo_data = json_decode(file_get_contents($user_logo_json_path), true);
            if (is_array($user_logo_data) && isset($user_logo_data[0]['ImageName']) && isset($user_logo_data[0]['Upload_type'])) {
                $logo_imageName = $user_logo_data[0]['ImageName'];
                $logo_uploadType = $user_logo_data[0]['Upload_type'];
                if ($logo_uploadType == "by_file") {
                    $user_file_path = str_replace('../', './', $logo_imageName);
                    $extension = pathinfo($user_file_path, PATHINFO_EXTENSION);
                    $global_fileName = $logo_key . '.' . $extension;
                    $global_destination = $global_logo_dir . $global_fileName;
                    if (!is_dir($global_logo_dir)) mkdir($global_logo_dir, 0755, true);
                    if (file_exists($user_file_path)) {
                        copy($user_file_path, $global_destination);
                        $logo_imageName = "../fzstore/logo/{$global_fileName}";
                    } else {
                        $success = false;
                        $error_msg = "Arquivo de logo não encontrado em: $user_file_path";
                    }
                }
                if ($success) {
                    $logo_jsonData = json_encode([["ImageName" => $logo_imageName, "Upload_type" => $logo_uploadType]]);
                    if (!file_put_contents($global_logo_json_path, $logo_jsonData)) {
                        $success = false;
                        $error_msg = "Erro ao salvar o arquivo JSON do logo em: $global_logo_json_path";
                    }
                }
            } else {
                $success = false;
                $error_msg = "Dados de logo inválidos ou ausentes no JSON: $user_logo_json_path";
            }
        } else {
            $success = false;
            $error_msg = "Arquivo JSON de logo não encontrado para o usuário: $user_logo_json_path";
        }

        if (file_exists($user_bg_json_path)) {
            $user_bg_data = json_decode(file_get_contents($user_bg_json_path), true);
            error_log("Background JSON content: " . json_encode($user_bg_data));
            if (is_array($user_bg_data) && isset($user_bg_data[0]['ImageName']) && isset($user_bg_data[0]['Upload_type'])) {
                $bg_imageName = $user_bg_data[0]['ImageName'];
                $bg_uploadType = $user_bg_data[0]['Upload_type'];
                if ($bg_uploadType == "by_file") {
                    $user_file_path = str_replace('../', './', $bg_imageName);
                    $extension = pathinfo($user_file_path, PATHINFO_EXTENSION);
                    $global_fileName = $bg_key . '.' . $extension;
                    $global_destination = $global_bg_dir . $global_fileName;
                    if (!is_dir($global_bg_dir)) mkdir($global_bg_dir, 0755, true);
                    if (file_exists($user_file_path)) {
                        copy($user_file_path, $global_destination);
                        $bg_imageName = "../fzstore/Img/{$global_fileName}";
                    } else {
                        if (file_exists($default_bg_path)) {
                            $bg_imageName = "../fzstore/Img/default_background.png";
                            $bg_uploadType = "by_file";
                        } else {
                            $success = false;
                            $error_msg = "Arquivo de fundo não encontrado em: $user_file_path e nenhum fundo padrão disponível em: $default_bg_path";
                        }
                    }
                }
                if ($success) {
                    $bg_jsonData = json_encode([["ImageName" => $bg_imageName, "Upload_type" => $bg_uploadType]]);
                    if (!file_put_contents($global_bg_json_path, $bg_jsonData)) {
                        $success = false;
                        $error_msg = "Erro ao salvar o arquivo JSON do fundo em: $global_bg_json_path";
                    }
                }
            } else {
                if (file_exists($default_bg_path)) {
                    $bg_imageName = "../fzstore/Img/default_background.png";
                    $bg_uploadType = "by_file";
                    $bg_jsonData = json_encode([["ImageName" => $bg_imageName, "Upload_type" => $bg_uploadType]]);
                    if (!file_put_contents($global_bg_json_path, $bg_jsonData)) {
                        $success = false;
                        $error_msg = "Erro ao salvar o arquivo JSON do fundo padrão em: $global_bg_json_path";
                    }
                } else {
                    $success = false;
                    $error_msg = "Dados de fundo inválidos ou ausentes no JSON: $user_bg_json_path e nenhum fundo padrão disponível em: $default_bg_path";
                }
            }
        } else {
            if (file_exists($default_bg_path)) {
                $bg_imageName = "../fzstore/Img/default_background.png";
                $bg_uploadType = "by_file";
                $bg_jsonData = json_encode([["ImageName" => $bg_imageName, "Upload_type" => $bg_uploadType]]);
                if (!file_put_contents($global_bg_json_path, $bg_jsonData)) {
                    $success = false;
                    $error_msg = "Erro ao salvar o arquivo JSON do fundo padrão em: $global_bg_json_path";
                }
            } else {
                $success = false;
                $error_msg = "Arquivo JSON de fundo não encontrado: $user_bg_json_path e nenhum fundo padrão disponível em: $default_bg_path";
            }
        }

        if ($success) {
            $mensagem = "<div class='alert alert-success text-center'>Logo e fundo configurados para geração! Gerando banners...</div>";
        } else {
            $mensagem = "<div class='alert alert-danger text-center'>{$error_msg}</div>";
        }
    }
}
?>
<?php
// Caminho para o arquivo configbot.php
$config_file = __DIR__ . '/cronjobs/configbot.php';

$telegram_token = '';
$telegram_chat_id = '';

// Verifica se o arquivo existe e inclui
if (file_exists($config_file)) {
    require $config_file; // isso vai definir $token e $chat_id
    $telegram_token = isset($token) ? $token : '';
    $telegram_chat_id = isset($chat_id) ? $chat_id : '';
} else {
    die('<div class="alert alert-danger">Arquivo configbot.php não encontrado!</div>');
}

// Diretório temporário para armazenar banners antes do envio
$tempDir = __DIR__ . '/temp_banners';
if (!is_dir($tempDir)) {
    mkdir($tempDir, 0755, true);
}
// Função para enviar banner para o Telegram
function enviarParaTelegram($filePath, $token, $chatId) {
    if (!file_exists($filePath)) return false;

    $url = "https://api.telegram.org/bot{$token}/sendPhoto";
    $post_fields = [
        'chat_id' => $chatId,
        'photo' => new CURLFile(realpath($filePath)),
        'caption' => 'Banner gerado!'
    ];

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_HTTPHEADER, ["Content-Type:multipart/form-data"]);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
    $output = curl_exec($ch);
    curl_close($ch);

    return $output !== false;
}

// Quando clicar no botão de enviar
if (isset($_POST['send_to_telegram'])) {

    // Aqui você geraria os banners e salvaria em $tempDir
    // Exemplo fictício:
    $bannersGerados = [
        $tempDir . '/banner1.png',
        $tempDir . '/banner2.png'
    ];

    // Simulando geração de arquivos
    foreach ($bannersGerados as $arquivo) {
        file_put_contents($arquivo, 'fake image data'); // Aqui entraria a geração real
    }

    $todosEnviados = true;

    foreach ($bannersGerados as $bannerPath) {
        if (enviarParaTelegram($bannerPath, $telegram_token, $telegram_chat_id)) {
            unlink($bannerPath); // Apaga o arquivo após o envio
        } else {
            $todosEnviados = false;
        }
    }

    if ($todosEnviados) {
        echo "<div class='alert alert-success text-center'>Todos os banners foram enviados e apagados!</div>";
    } else {
        echo "<div class='alert alert-warning text-center'>Alguns banners não foram enviados.</div>";
    }
}

?>
<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title><?php echo htmlspecialchars($pageTitle); ?></title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.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">
    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&display=swap" rel="stylesheet">
    <style>
        body {
            background: #111827;
            color: #e5e7eb;
            font-family: 'Inter', sans-serif;
            min-height: 100vh;
        }
        .container { max-width: 1200px; padding: 2rem 1rem; }
        .card { background: #1f2937; border: none; border-radius: 16px; overflow: hidden; transition: transform 0.3s ease, box-shadow 0.3s ease; }
        .card:hover { transform: translateY(-8px); box-shadow: 0 12px 24px rgba(0, 0, 0, 0.4); }
        .card-img-top { width: 100%; object-fit: contain; border-bottom: 2px solid #2563eb; display: block; max-width: 100%; }
        .card-body { padding: 1.5rem; }
        .card-title { font-size: 1.25rem; font-weight: 600; color: #60a5fa; margin-bottom: 1rem; text-align: center; }
        .btn { border-radius: 8px; padding: 0.75rem 1.5rem; font-weight: 600; transition: all 0.3s ease; }
        .btn-primary { background: #2563eb; border: none; }
        .btn-primary:hover { background: #1e40af; transform: translateY(-2px); }
        .btn-success { background: #10b981; border: none; }
        .btn-success:hover { background: #059669; transform: translateY(-2px); }
        .btn-warning { background: #f59e0b; border: none; }
        .btn-warning:hover { background: #d97706; transform: translateY(-2px); }
        .action-buttons { display: flex; justify-content: center; gap: 1rem; margin-bottom: 2rem; flex-wrap: wrap; }
        .alert { border-radius: 8px; margin-bottom: 2rem; padding: 1rem; text-align: center; }
        h1 { font-size: 2.5rem; font-weight: 700; text-align: center; margin-bottom: 2.5rem; color: #ffffff; }
        .banner-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem; }
        .no-games { background: #1f2937; padding: 2rem; border-radius: 16px; text-align: center; font-size: 1.1rem; }
    </style>
    
</head>
<body>
<div class="container">

    <?php 
    // Passo único: já vai direto para a escolha do banner
    $dia = 'hoje'; // fixa para hoje
    if (!isset($_GET['banner'])): ?>
<h1 style="color: black;">Jogos de <?php echo ucfirst($dia); ?></h1>

        <?php if (empty($jogos)): ?>
            <div class="no-games"><p>Nenhum jogo disponível para hoje.</p></div>
        <?php else: ?>
            <div class="banner-grid">
   <?php for ($i = 1; $i <= 1; $i++): ?>
    <div class="card" style="max-width: 750px; margin: 0 auto;">
        <img src="fzstore/themasJG/thema<?php echo $i; ?>.png" 
             alt="Prévia do Banner <?php echo $i; ?>" 
             class="card-img-top" 
             loading="lazy" 
             style="height: 550px; object-fit: cover;">
        <div class="card-body text-center" style="padding: 0.5rem;">
            <h5 class="card-title" style="font-size: 1rem;">Banner <?php echo $i; ?></h5>
            <a href="?banner=<?php echo $i; ?>" class="btn btn-success btn-sm">Selecionar Modelo</a>
        </div>
    </div>
<?php endfor; ?>

            </div>
        <?php endif; ?>

    <?php 
    // Passo 2 - Banner escolhido, gera os links
    elseif (isset($_GET['banner'])): 
        $tipo_banner = $_GET['banner'];
        $geradorScript = '';
        switch ($tipo_banner) {
            case '1': $geradorScript = 'gerar_fut.php'; break;
            case '2': $geradorScript = 'gerar_fut_2.php'; break;
            case '3': $geradorScript = 'gerar_fut_3.php'; break;
            case '4': $geradorScript = 'gerar_fut_4.php'; break;
            case '5': $geradorScript = 'gerar_fut_5.php'; break;
             case '6': $geradorScript = 'gerar_fut_6.php'; break;
            default:
                echo "<div class='alert alert-danger'>Tipo de banner inválido!</div>";
                include "includes/footer.php";
                exit();
        }
    ?>
       <h1 style="color: black;">Escolha o Modelo de Banner - <?php echo ucfirst($dia); ?></h1>

        <div class="action-buttons">
            <a href="<?php echo basename(__FILE__); ?>" class="btn btn-warning"><i class="fas fa-arrow-left"></i> Voltar</a>
            <?php if (!empty($jogos)) : ?>
                <a href="<?php echo $geradorScript; ?>?download_all=1" class="btn btn-success"><i class="fas fa-file-archive"></i> Baixar (ZIP)</a>
            <?php endif; ?>
            <button id="btnBaixarEnviar" class="btn btn-success">Enviar no Telegram</button>
        </div>

<!-- Modal -->
<div class="modal fade" id="modalLoading" tabindex="-1" aria-hidden="true">
  <div class="modal-dialog modal-dialog-centered">
    <div class="modal-content bg-dark text-white">
      <div class="modal-body text-center">
        <h5>Processando...</h5>
        <p id="modalStatus">Aguarde, enviando imagens...</p>
      </div>
    </div>
  </div>
</div>



<script>
document.getElementById('btnBaixarEnviar').addEventListener('click', function() {
    var modal = new bootstrap.Modal(document.getElementById('modalLoading'));
    modal.show();
    document.getElementById('modalStatus').innerText = 'Processando...';

    // Monta a URL dinamicamente a partir da raiz do site
    var urlCron = window.location.origin + '/cronjobs/cronjogos1.php';

    fetch(urlCron)
        .then(response => {
            if (!response.ok) throw new Error('Erro na requisição');
            document.getElementById('modalStatus').innerText = 'Processamento concluído!';
        })
        .catch(err => {
            document.getElementById('modalStatus').innerText = 'Erro ao acessar o arquivo!';
            console.error(err);
        })
        .finally(() => {
            setTimeout(() => modal.hide(), 2000); // Fecha modal após 2s
        });
});
</script>

        <?php if (empty($jogos)): ?>
            <div class="no-games"><p>Nenhum jogo disponível no momento.</p></div>
        <?php else: ?>
            <div class="banner-grid">
                <?php foreach ($gruposDeJogos as $index => $grupo): ?>
                    <div class="card">
                        <img src="<?php echo $geradorScript; ?>?grupo=<?php echo $index; ?>" alt="Banner Parte <?php echo $index + 1; ?>" class="card-img-top" loading="lazy">
                        <div class="card-body text-center">
                            <h5 class="card-title">Banner Parte <?php echo $index + 1; ?></h5>
                            <a href="<?php echo $geradorScript; ?>?grupo=<?php echo $index; ?>&download=1" class="btn btn-primary"><i class="fas fa-download"></i> Baixar</a>
                        </div>
                    </div>
                <?php endforeach; ?>
            </div>
        <?php endif; ?>
    <?php endif; ?>
<!-- Modal de Loading -->
<div class="modal fade" id="loadingModal" tabindex="-1" aria-hidden="true">
  <div class="modal-dialog modal-dialog-centered">
    <div class="modal-content" style="background: transparent; border: none; box-shadow: none;">
      <div class="modal-body text-center">
        <div class="spinner-border text-light" role="status" style="width: 4rem; height: 4rem;">
          <span class="visually-hidden">Carregando...</span>
        </div>
        <p class="mt-3" style="color: #fff; font-size: 1.2rem;">Gerando o ZIP, aguarde...</p>
      </div>
    </div>
  </div>
</div>

<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
    const downloadAllBtn = document.querySelector('a[href*="download_all=1"]');
    if (downloadAllBtn) {
        downloadAllBtn.addEventListener("click", function(e) {
            e.preventDefault(); // Impede o link normal

            const url = this.href;

            // Mostra o modal
            const loadingModal = new bootstrap.Modal(document.getElementById('loadingModal'));
            loadingModal.show();

            // Cria um iframe invisível para iniciar o download
            const iframe = document.createElement('iframe');
            iframe.style.display = 'none';
            iframe.src = url;

            // Quando o iframe carregar, fecha o modal
            iframe.onload = function() {
                loadingModal.hide();
            };

            document.body.appendChild(iframe);
        });
    }
});
</script>

</div>
</body>
</html>
