<?php
/**
 * Strzelnica LUPUS v2 – Router publicznych stron zawodów
 * Plik: /zawody/index.php
 *
 * Na serwerze z .htaccess: /zawody/[slug]/ → /zawody/index.php?slug=[slug]
 * Lub bezpośrednio /zawody/?slug=[slug]
 */

define('LUPUS_APP', true);
require_once dirname(__DIR__) . '/config/config.php';
require_once dirname(__DIR__) . '/includes/functions.php';
require_once dirname(__DIR__) . '/includes/db.php';

// Pobierz slug z URL lub parametru
$slug = trim($_GET['slug'] ?? basename(parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)));
$slug = trim($slug, '/');

if (empty($slug) || $slug === 'zawody') {
    // Lista wszystkich aktywnych zawodów
    $pdo   = db();
    $items = $pdo->query("
        SELECT z.*, COUNT(CASE WHEN g.status!='cancelled' THEN 1 END) AS zapisani
        FROM zawody z LEFT JOIN zgloszenia g ON g.zawody_id=z.id
        WHERE z.status IN ('active','closed')
        GROUP BY z.id ORDER BY z.data_zawodow ASC
    ")->fetchAll();

    // Nagłówek z stylem strzelnicy
    header('Content-Type: text/html; charset=UTF-8');
    include __DIR__ . '/lista.php';
    exit;
}

// Pobierz zawody po slugu
$pdo  = db();
$stmt = $pdo->prepare("
    SELECT z.*, COUNT(CASE WHEN g.status!='cancelled' THEN 1 END) AS zapisani
    FROM zawody z LEFT JOIN zgloszenia g ON g.zawody_id=z.id
    WHERE z.slug=?
    GROUP BY z.id
    LIMIT 1
");
$stmt->execute([$slug]);
$zawody = $stmt->fetch();

if (!$zawody) {
    http_response_code(404);
    include __DIR__ . '/404.php';
    exit;
}

// Pobierz pola formularza
$polaStmt = $pdo->prepare('SELECT * FROM pola_formularza WHERE zawody_id=? ORDER BY kolejnosc');
$polaStmt->execute([$zawody['id']]);
$pola = $polaStmt->fetchAll();

include __DIR__ . '/formularz.php';
