<?php
require_once 'includes/auth.php';
require_once 'config/database.php';

$fiche_id = filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT);
if (!$fiche_id) {
    header('Location: dashboard.php');
    exit;
}

$pdo = getPDO();
$stmt = $pdo->prepare("SELECT f.*, u.nom as createur_nom, sd.nom as sous_dossier_nom, d.nom as dossier_nom, p.nom as projet_nom
                       FROM fiches f
                       JOIN sous_dossiers sd ON f.sous_dossier_id = sd.id
                       JOIN dossiers d ON sd.dossier_id = d.id
                       JOIN projets p ON d.projet_id = p.id
                       LEFT JOIN users u ON f.createur_id = u.id
                       WHERE f.id = ?");
$stmt->execute([$fiche_id]);
$fiche = $stmt->fetch();
if (!$fiche) {
    header('Location: dashboard.php');
    exit;
}

$contenu = json_decode($fiche['contenu'], true) ?: [];
$contenu += ['en_tete' => [], 'tableau' => []];
$contenu['tableau'] += ['colonnes' => [], 'lignes' => [], 'valeurs' => [], 'explications' => []];

require_once 'includes/header.php';
?>

<div class="d-flex justify-content-between align-items-center mb-4">
    <h1><i class="fas fa-file-alt"></i> Fiche d'auto-contrôle</h1>
    <div>
        <a href="sous_dossier.php?id=<?= $fiche['sous_dossier_id'] ?>" class="btn btn-outline-secondary"><i class="fas fa-arrow-left"></i> Retour</a>
        <a href="fiche_edit.php?id=<?= $fiche['id'] ?>" class="btn btn-warning"><i class="fas fa-edit"></i> Modifier</a>
        <a href="generer_pdf.php?id=<?= $fiche['id'] ?>" class="btn btn-danger"><i class="fas fa-file-pdf"></i> PDF</a>
    </div>
</div>

<div class="card mb-4">
    <div class="card-header bg-secondary text-white">
        N° <?= htmlspecialchars($fiche['numero_fiche']) ?> - <?= htmlspecialchars($fiche['titre']) ?>
    </div>
    <div class="card-body">
        <p><strong>Projet :</strong> <?= htmlspecialchars($fiche['projet_nom']) ?> |
           <strong>Dossier :</strong> <?= htmlspecialchars($fiche['dossier_nom']) ?> |
           <strong>Sous-dossier :</strong> <?= htmlspecialchars($fiche['sous_dossier_nom']) ?></p>
        <p><strong>Zone :</strong> <?= nl2br(htmlspecialchars($fiche['zone'] ?? '')) ?></p>
        <p><strong>Observation générale :</strong> <?= nl2br(htmlspecialchars($fiche['observation'] ?? '')) ?></p>
        <p><strong>Type de réserve :</strong>
            <span class="badge <?= $fiche['type_reserve']=='sans_reserve'?'bg-success':'bg-danger' ?>">
                <?= $fiche['type_reserve'] == 'sans_reserve' ? 'Sans réserve' : 'Avec réserve' ?>
            </span>
        </p>
        <?php if ($fiche['type_reserve'] == 'avec_reserve' && !empty($fiche['description_reserve'])): ?>
            <p><strong>Description des réserves :</strong><br><?= nl2br(htmlspecialchars($fiche['description_reserve'])) ?></p>
        <?php endif; ?>
        <p><strong>Statut :</strong> <span class="badge <?= match($fiche['statut']){'brouillon'=>'bg-secondary','soumis'=>'bg-warning','valide'=>'bg-success'} ?>"><?= $fiche['statut'] ?></span></p>
        <p><strong>Créé par :</strong> <?= htmlspecialchars($fiche['createur_nom'] ?? '') ?> le <?= date('d/m/Y H:i', strtotime($fiche['date_creation'])) ?></p>
    </div>
</div>

<!-- En-tête dynamique -->
<?php if (!empty($contenu['en_tete'])): ?>
<div class="card mb-4">
    <div class="card-header bg-light">Informations complémentaires</div>
    <div class="card-body">
        <div class="row">
            <?php foreach ($contenu['en_tete'] as $champ): ?>
                <div class="col-md-4">
                    <strong><?= htmlspecialchars($champ['label']) ?> :</strong><br>
                    <?= nl2br(htmlspecialchars($champ['valeur'] ?? '')) ?>
                </div>
            <?php endforeach; ?>
        </div>
    </div>
</div>
<?php endif; ?>

<!-- Tableau des contrôles -->
<?php if (!empty($contenu['tableau']['lignes'])): ?>
<div class="card mb-4">
    <div class="card-header bg-light">Contrôles</div>
    <div class="card-body">
        <div class="table-responsive">
            <table class="table table-bordered">
                <thead class="table-light">
                    <tr>
                        <th>Élément contrôlé</th>
                        <?php foreach ($contenu['tableau']['colonnes'] as $col): ?>
                            <th class="text-center"><?= htmlspecialchars($col['label']) ?></th>
                        <?php endforeach; ?>
                    </tr>
                </thead>
                <tbody>
                    <?php $valeurs = $contenu['tableau']['valeurs']; $explications = $contenu['tableau']['explications'] ?? []; ?>
                    <?php foreach ($contenu['tableau']['lignes'] as $i => $ligne): ?>
                        <tr>
                            <td><strong><?= htmlspecialchars($ligne) ?></strong></td>
                            <?php foreach ($contenu['tableau']['colonnes'] as $j => $col): ?>
                                <td class="text-center">
                                    <?php
                                    $val = $valeurs[$i][$j] ?? '';
                                    $exp = $explications[$i][$j] ?? '';
                                    $type = $col['type'];
                                    if ($type == 'radio') {
                                        echo $val ? '<span class="badge bg-success">'.htmlspecialchars($val).'</span>' : '-';
                                        if (!empty($exp)) {
                                            echo '<br><small class="text-muted">(Explication: '.htmlspecialchars($exp).')</small>';
                                        }
                                    } elseif ($type == 'checkbox') {
                                        echo $val == 'on' ? '<i class="fas fa-check-circle text-success"></i>' : '<i class="far fa-circle text-muted"></i>';
                                    } elseif ($type == 'textarea') {
                                        echo nl2br(htmlspecialchars($val));
                                    } else {
                                        echo nl2br(htmlspecialchars($val));
                                    }
                                    ?>
                                </td>
                            <?php endforeach; ?>
                        </tr>
                    <?php endforeach; ?>
                </tbody>
            </table>
        </div>
    </div>
</div>
<?php endif; ?>

<!-- Signatures -->
<div class="card mb-4">
    <div class="card-header bg-light">Signatures</div>
    <div class="card-body">
        <div class="row">
            <div class="col-md-6 text-center">
                <strong>Signature de l'émetteur</strong><br>
                <?php if (!empty($fiche['signature_emetteur']) && file_exists($fiche['signature_emetteur'])): ?>
                    <img src="<?= BASE_URL . $fiche['signature_emetteur'] ?>" class="signature-img" style="max-height:80px;">
                <?php else: ?>
                    <p class="text-muted">Non signé</p>
                <?php endif; ?>
            </div>
            <div class="col-md-6 text-center">
                <strong>Signature du responsable hiérarchique</strong><br>
                <?php if (!empty($fiche['signature_responsable']) && file_exists($fiche['signature_responsable'])): ?>
                    <img src="<?= BASE_URL . $fiche['signature_responsable'] ?>" class="signature-img" style="max-height:80px;">
                    <?php if (!empty($fiche['signature_responsable_date'])): ?>
                        <p class="small text-muted">Signé le <?= date('d/m/Y H:i', strtotime($fiche['signature_responsable_date'])) ?></p>
                    <?php endif; ?>
                <?php else: ?>
                    <p class="text-muted">Non signé</p>
                <?php endif; ?>
            </div>
        </div>
    </div>
</div>

<?php require_once 'includes/footer.php'; ?>