<?php
use App\Core\Csrf;
use App\Core\Permission;

$codeProfessor = (string)($professor['code_professeur'] ?? '');
?>
<section class="profile-hero">
    <div class="profile-main">
        <div class="profile-avatar-large">
            <?= htmlspecialchars(
                mb_substr((string)($professor['prenom'] ?? ''), 0, 1) .
                mb_substr((string)($professor['nom'] ?? ''), 0, 1)
            ) ?>
        </div>

        <div>
            <span class="profile-code">
                <?= htmlspecialchars($codeProfessor !== '' ? $codeProfessor : 'PROFESSEUR') ?>
            </span>

            <h2>
                <?= htmlspecialchars(
                    trim(
                        (string)($professor['nom'] ?? '') . ' ' .
                        (string)($professor['prenom'] ?? '')
                    )
                ) ?>
            </h2>

            <p>
                <?= htmlspecialchars(ucfirst((string)($professor['statut_intervenant'] ?? ''))) ?>
                ·
                <?= htmlspecialchars(
                    (string)($professor['type_contrat'] ?? '') !== ''
                        ? (string)$professor['type_contrat']
                        : 'Contrat non renseigné'
                ) ?>
            </p>

            <div class="profile-tags">
                <span class="tag <?= !empty($professor['actif']) ? 'green' : 'pink' ?>"><?= !empty($professor['actif']) ? 'Actif' : 'Inactif' ?></span>

                <?php if (!empty($professor['rgpd_accepte'])): ?>
                <span class="tag blue">RGPD validé</span>
                <?php endif; ?>

                <?php if (!empty($professor['dispense_mutuelle'])): ?>
                <span class="tag pink">Dispense mutuelle</span>
                <?php endif; ?>
            </div>
        </div>
    </div>

    <div class="profile-actions">
        <a class="button button-secondary" href="/public/professeurs">
            Retour
        </a>

        <a class="button button-secondary" href="/public/professeurs/agenda?professeur=<?= (int)$professor['id'] ?>">
            Agenda
        </a>

        <a class="button button-secondary" href="/public/professeurs/contrats?professeur_id=<?= (int)$professor['id'] ?>">
            Contrats
        </a>

        <a class="button button-secondary" href="/public/professeurs/consentements?professeur_id=<?= (int)$professor['id'] ?>">
            Documents RGPD / image
        </a>

        <a class="button button-secondary" href="/public/professeurs-pro/voir?id=<?= (int)$professor['id'] ?>">
            Voir comme le professeur
        </a>

        <?php if (Permission::can('professeurs.disciplines.manage')): ?>
        <a class="button button-primary" href="/public/professeurs-pro/disciplines?id=<?= (int)$professor['id'] ?>">
            Affecter les disciplines
        </a>

        <a class="button button-secondary" href="/public/professeurs-pro/planning?professeur=<?= rawurlencode((string)$professor['public_token']) ?>&amp;mode=direction">
            Gérer le planning prévisionnel
        </a>
        <?php endif; ?>

        <?php if (Permission::can('professeurs.edit')): ?>
        <a class="button button-primary"
           href="/public/professeurs/modifier?id=<?= (int)$professor['id'] ?>">
            Modifier
        </a>
        <?php endif; ?>

        <?php if (Permission::can('professeurs.archive')): ?>
        <form method="post"
              action="/public/professeurs/archiver?id=<?= (int)$professor['id'] ?>"
              onsubmit="return confirm('Archiver ce professeur ? Son historique sera conservé.');">
            <?= Csrf::field() ?>
            <button class="button button-danger" type="submit">
                Archiver
            </button>
        </form>
        <?php endif; ?>
    </div>
</section>

<?php if (!empty($_SESSION['success'])): ?>
<div class="alert alert-success">
    <?= htmlspecialchars((string)$_SESSION['success']) ?>
</div>
<?php unset($_SESSION['success']); endif; ?>

<section class="profile-layout">
    <div class="profile-content">
        <article class="card">
            <header class="card-header">
                <div>
                    <span>Coordonnées</span>
                    <h3>Informations principales</h3>
                </div>
            </header>

            <dl class="info-grid">
                <div>
                    <dt>E-mail</dt>
                    <dd><?= htmlspecialchars((string)($professor['email'] ?: 'Non renseigné')) ?></dd>
                </div>

                <div>
                    <dt>Téléphone</dt>
                    <dd><?= htmlspecialchars((string)($professor['telephone_principal'] ?: 'Non renseigné')) ?></dd>
                </div>

                <div>
                    <dt>Téléphone secondaire</dt>
                    <dd><?= htmlspecialchars((string)($professor['telephone_secondaire'] ?: 'Non renseigné')) ?></dd>
                </div>

                <div>
                    <dt>Date de naissance</dt>
                    <dd><?= !empty($professor['date_naissance']) ? htmlspecialchars(date('d/m/Y', strtotime((string)$professor['date_naissance']))) : 'Non renseignée' ?></dd>
                </div>

                <div>
                    <dt>Adresse</dt>
                    <dd>
                        <?php
                        $address = trim(
                            (string)($professor['adresse_ligne1'] ?? '') . ' ' .
                            (string)($professor['adresse_ligne2'] ?? '') . ' ' .
                            (string)($professor['code_postal'] ?? '') . ' ' .
                            (string)($professor['ville'] ?? '')
                        );
                        ?>
                        <?= htmlspecialchars($address !== '' ? $address : 'Non renseignée') ?>
                    </dd>
                </div>

                <div>
                    <dt>Contrat</dt>
                    <dd><?= htmlspecialchars((string)($professor['type_contrat'] ?: 'Non renseigné')) ?></dd>
                </div>

                <div>
                    <dt>Période contractuelle</dt>
                    <dd>
                        <?= !empty($professor['date_debut_contrat']) ? htmlspecialchars(date('d/m/Y', strtotime((string)$professor['date_debut_contrat']))) : 'Début non renseigné' ?>
                        —
                        <?= !empty($professor['date_fin_contrat']) ? htmlspecialchars(date('d/m/Y', strtotime((string)$professor['date_fin_contrat']))) : 'sans date de fin' ?>
                    </dd>
                </div>
            </dl>
        </article>

        <article class="card">
            <header class="card-header"><div><span>Obligations RH</span><h3>Consentements et couverture</h3></div></header>
            <dl class="info-grid">
                <div><dt>RGPD</dt><dd><?= !empty($professor['rgpd_accepte']) ? 'Accepté' : 'À compléter' ?></dd></div>
                <div><dt>Droit à l’image</dt><dd><?= htmlspecialchars(str_replace('_', ' ', ucfirst((string)($professor['droit_image'] ?? 'non_renseigne')))) ?></dd></div>
                <div><dt>Dispense de mutuelle</dt><dd><?= !empty($professor['dispense_mutuelle']) ? 'Oui' : 'Non' ?></dd></div>
                <div><dt>Date de dispense</dt><dd><?= !empty($professor['dispense_mutuelle_date']) ? htmlspecialchars(date('d/m/Y', strtotime((string)$professor['dispense_mutuelle_date']))) : 'Non renseignée' ?></dd></div>
            </dl>
        </article>

        <article class="card">
            <header class="card-header"><div><span>Suivi administratif</span><h3>Notes RH</h3></div></header>
            <p><?= nl2br(htmlspecialchars((string)($professor['notes'] ?: 'Aucune note RH.'))) ?></p>
        </article>

        <article class="card">
            <header class="card-header"><div><span>Contrats et avenants</span><h3>Historique contractuel</h3></div><b class="counter"><?= count($contracts) ?></b></header>
            <?php if(!$contracts): ?>
            <p>Aucun contrat enregistré.</p>
            <?php else: ?>
            <div class="course-list">
                <?php foreach($contracts as $contract): ?>
                <article>
                    <div><strong><?= htmlspecialchars((string)($contract['type_libelle'] ?? $contract['type_contrat'] ?? 'Contrat')) ?></strong><span><?= htmlspecialchars((string)($contract['statut'] ?? '')) ?></span></div>
                    <div class="course-time"><strong><?= !empty($contract['date_debut']) ? htmlspecialchars(date('d/m/Y',strtotime((string)$contract['date_debut']))) : '—' ?></strong><span>au <?= !empty($contract['date_fin']) ? htmlspecialchars(date('d/m/Y',strtotime((string)$contract['date_fin']))) : 'sans fin' ?></span></div>
                    <span class="tag blue"><?= htmlspecialchars((string)($contract['volume_heures'] ?? 0)) ?> h</span>
                </article>
                <?php endforeach; ?>
            </div>
            <?php endif; ?>
        </article>

        <article class="card">
            <header class="card-header"><div><span>Pièces et consentements</span><h3>RGPD, droit à l’image et documents</h3></div><b class="counter"><?= count($consents) ?></b></header>
            <?php if(!$consents): ?>
            <p>Aucun document enregistré.</p>
            <?php else: ?>
            <div class="course-list">
                <?php foreach($consents as $document): ?>
                <article>
                    <div><strong><?= ($document['type_document'] ?? '')==='rgpd' ? 'RGPD' : 'Droit à l’image' ?></strong><span><?= htmlspecialchars((string)($document['annee_scolaire'] ?? '')) ?></span></div>
                    <span class="tag <?= ($document['statut'] ?? '')==='signe'?'green':'blue' ?>"><?= htmlspecialchars((string)($document['statut'] ?? 'préparé')) ?></span>
                </article>
                <?php endforeach; ?>
            </div>
            <?php endif; ?>
        </article>

        <article class="card">
            <header class="card-header"><div><span>Accès et affectations</span><h3>Compte, disciplines et alertes RH</h3></div></header>
            <dl class="info-grid">
                <div><dt>Compte utilisateur</dt><dd><?= !empty($professor['utilisateur_id']) ? 'Rattaché' : 'Non créé' ?></dd></div>
                <div><dt>État du compte</dt><dd><?= htmlspecialchars((string)($professor['user_status'] ?? 'Non renseigné')) ?></dd></div>
                <div><dt>Disciplines affectées</dt><dd><?= $disciplines ? htmlspecialchars(implode(', ',array_column($disciplines,'libelle'))) : 'Aucune' ?></dd></div>
                <div><dt>Alertes RH</dt><dd><?= count($alerts) ?></dd></div>
            </dl>
        </article>

    </div>
</section>
