Ajoute le contenu de 7 fichiers restes vides a l'import

This commit is contained in:
Yann PILLA committed 2026-10-17 10:26:04 +02:00
1 parent 839e5e57c5
commit 7a92fca721
7 files changed
+302

No files matched your search

+209
View File
@@ -0,0 +1,209 @@
<?php
/**
* CV au format Europass : aperçu A4, enregistrable en PDF depuis le navigateur.
* Variables : $c (candidat), $d (contenu préparé par donnees_europass()), $langue, $source, $anonyme, $options, $traduction.
* La barre d'outils suit la langue de l'interface, la feuille suit la langue du CV.
*/
$params = static fn (array $plus = []): array => $plus + ['id' => $c['id'], 'langue' => $langue]
+ ($anonyme ? ['anonyme' => 1] : [])
+ (!$anonyme && $options['photo'] ? ['photo' => 1] : [])
+ (!$anonyme && !$options['coordonnees'] ? ['coordonnees' => 0] : []);
$lien = static fn (string $page, array $plus = []): string => url($page, array_filter($params($plus), static fn ($v) => $v !== null));
$etat = $traduction['etat'];
?>
<!doctype html>
<html lang="<?= e(langue_courante()) ?>">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="robots" content="noindex, nofollow">
<title><?= e($d['fichier']) ?></title>
<link rel="stylesheet" href="assets/europass.css?v=1.8">
</head>
<body>
<div class="outils">
<a href="<?= e(url('profil', ['id' => $c['id']])) ?>"><?= e(t('Retour à la fiche')) ?></a>
<span class="versions" role="group" aria-label="<?= e(t('Version')) ?>">
<a href="<?= e(url('europass', ['id' => $c['id'], 'langue' => $langue])) ?>"<?= $anonyme ? '' : ' aria-current="true"' ?>><?= e(t('Nominatif')) ?></a>
<a href="<?= e(url('europass', ['id' => $c['id'], 'langue' => $langue, 'anonyme' => 1])) ?>"<?= $anonyme ? ' aria-current="true"' : '' ?>><?= e(t('Anonymisé')) ?></a>
</span>
<?php if (!$anonyme): ?>
<span class="versions" role="group" aria-label="<?= e(t('Contenu')) ?>">
<a href="<?= e($lien('europass', ['coordonnees' => $options['coordonnees'] ? 0 : null])) ?>" aria-pressed="<?= $options['coordonnees'] ? 'true' : 'false' ?>"><?= e(t('Coordonnées')) ?></a>
<?php if (!empty($c['photo'])): ?>
<a href="<?= e($lien('europass', ['photo' => $options['photo'] ? null : 1])) ?>" aria-pressed="<?= $options['photo'] ? 'true' : 'false' ?>"><?= e(t('Photo')) ?></a>
<?php endif; ?>
</span>
<?php endif; ?>
<span class="versions" role="group" aria-label="<?= e(t('Langue du CV')) ?>">
<?php foreach (LANGUES_CV as $code => $nom): ?>
<a href="<?= e($lien('europass', ['langue' => $code])) ?>" lang="<?= e($code) ?>" title="<?= e($nom) ?>"<?= $code === $langue ? ' aria-current="true"' : '' ?>><?= e(strtoupper($code)) ?></a>
<?php endforeach; ?>
</span>
<a class="action" href="<?= e($lien('europass_word')) ?>"><?= e(t('Télécharger en Word')) ?></a>
<button type="button" class="action" id="imprimer"><?= e(t('Enregistrer en PDF')) ?></button>
</div>
<?php if (!empty($_SESSION['flash'])): ?>
<?php foreach ($_SESSION['flash'] as $f): ?>
<p class="note note-<?= e($f['type']) ?>" role="status"><?= e($f['message']) ?></p>
<?php endforeach; unset($_SESSION['flash']); ?>
<?php endif; ?>
<?php if ($etat === 'absente' || $etat === 'perimee'): ?>
<div class="note">
<p><strong><?= e($etat === 'perimee'
? t('La fiche a changé depuis la traduction : le contenu s\'affiche dans sa langue d\'origine.')
: t('Seuls les intitulés sont traduits : le contenu reste dans la langue du CV d\'origine (%s).', strtoupper($source))) ?></strong></p>
<?php if (peut_ecrire() && Claude::configure()): ?>
<form method="post" action="<?= e(url('cv_traduire')) ?>" data-attente="<?= e(t('Traduction en cours…')) ?>">
<?= champ_csrf() ?>
<input type="hidden" name="id" value="<?= (int) $c['id'] ?>">
<input type="hidden" name="langue" value="<?= e($langue) ?>">
<input type="hidden" name="format" value="europass">
<?php if ($anonyme): ?><input type="hidden" name="anonyme" value="1"><?php endif; ?>
<button type="submit"><?= e(t('Traduire le contenu')) ?></button>
</form>
<?php elseif (peut_ecrire()): ?>
<p><a href="<?= e(url('cv', ['id' => $c['id'], 'langue' => $langue])) ?>"><?= e(t('Traduire par fichier, depuis l\'aperçu du CV IT Club')) ?></a></p>
<?php endif; ?>
</div>
<?php elseif ($etat === 'a_jour' && $traduction['origine'] === 'automatique'): ?>
<p class="note"><?= e(t('Contenu traduit automatiquement le %s. Relisez-le avant d\'envoyer le CV.', date_fr($traduction['cree_le']))) ?></p>
<?php endif; ?>
<div class="page" lang="<?= e($langue) ?>">
<header class="bandeau<?= $d['photo'] ? ' avec-photo' : '' ?>">
<?php if ($d['photo']): ?>
<img class="portrait" src="<?= e(url('photo', ['id' => $c['id'], 'v' => substr(basename($d['photo']), 0, 8)])) ?>" alt="" width="120" height="120">
<?php endif; ?>
<div class="identite">
<h1><?= e($d['nom']) ?></h1>
<?php if ($d['titre'] !== ''): ?><p class="titre"><?= e($d['titre']) ?></p><?php endif; ?>
<?php if ($d['coordonnees']): ?>
<p class="coordonnees">
<?php foreach ($d['coordonnees'] as $i => $k): ?>
<span><b><?= e($k['libelle'] . $d['deux_points']) ?></b> <?php if ($k['lien']): ?><a href="<?= e($k['lien']) ?>"><?= e($k['valeur']) ?></a><?php else: ?><?= e($k['valeur']) ?><?php endif; ?></span>
<?php endforeach; ?>
</p>
<?php endif; ?>
</div>
<img class="logo" src="assets/europass/logo-europass-blanc.png" alt="europass" width="150" height="30">
</header>
<?php /* L'en-tête et le pied vides du tableau se répètent sur chaque page imprimée : ils tiennent lieu de marges. */ ?>
<table class="corps" role="presentation">
<thead><tr><td><div class="marge-haut"></div></td></tr></thead>
<tfoot><tr><td><div class="marge-bas"></div></td></tr></tfoot>
<tbody><tr><td>
<?php if ($d['resume']): ?>
<section>
<h2><?= e($d['libelles']['apropos']) ?></h2>
<?php foreach ($d['resume'] as $l): ?><p><?= e($l) ?></p><?php endforeach; ?>
</section>
<?php endif; ?>
<?php if ($d['formations']): ?>
<section>
<h2><?= e($d['libelles']['formation']) ?></h2>
<?php foreach ($d['formations'] as $f): ?>
<article class="element">
<?php if ($f['dates'] !== '' || $f['lieu'] !== ''): ?><p class="date"><?= e(trim($f['dates'] . ' ' . $f['lieu'])) ?></p><?php endif; ?>
<h3><?= e($f['diplome']) ?><?php if ($f['etablissement'] !== ''): ?> <span class="maison"><?= e($f['etablissement']) ?></span><?php endif; ?></h3>
</article>
<?php endforeach; ?>
</section>
<?php endif; ?>
<?php if ($d['experiences']): ?>
<section>
<h2><?= e($d['libelles']['experience']) ?></h2>
<?php foreach ($d['experiences'] as $x): ?>
<article class="element">
<?php if ($x['employeur'] !== '' || $x['lieu'] !== ''): ?>
<p class="employeur"><b><?= e($x['employeur']) ?></b><?= $x['employeur'] !== '' && $x['lieu'] !== '' ? ' – ' : '' ?><?= e($x['lieu']) ?></p>
<?php endif; ?>
<h3><?= e($x['poste']) ?> <span class="dates">– <?= e($x['dates']) ?></span></h3>
<?php foreach ($x['details'] as [$libelle, $valeur]): ?>
<p><b><?= e($libelle . $d['deux_points']) ?></b> <?= e($valeur) ?></p>
<?php endforeach; ?>
<?php if ($x['realisations']): ?>
<p class="sous-titre"><b><?= e($d['libelles']['realisations']) ?></b></p>
<ul><?php foreach ($x['realisations'] as $r): ?><li><?= e($r) ?></li><?php endforeach; ?></ul>
<?php endif; ?>
</article>
<?php endforeach; ?>
</section>
<?php endif; ?>
<?php if ($d['maternelles'] || $d['autres']): ?>
<section>
<h2><?= e($d['libelles']['langues']) ?></h2>
<?php if ($d['maternelles']): ?>
<p><?= e($d['libelles']['maternelles']) ?> <b><?= e(implode(' | ', $d['maternelles'])) ?></b></p>
<?php endif; ?>
<?php if ($d['autres']): ?>
<p><?= e($d['libelles']['autres']) ?></p>
<?php if ($d['avec_grille']): ?>
<table class="grille">
<thead>
<tr><td></td><th colspan="2"><?= e(mb_strtoupper($d['libelles']['comprehension'])) ?></th><th colspan="2"><?= e(mb_strtoupper($d['libelles']['expression'])) ?></th><th><?= e(mb_strtoupper($d['libelles']['ecrit'])) ?></th></tr>
<tr class="sous"><td></td><?php foreach (array_slice($d['libelles']['grille'], 0, 4) as $g): ?><th><?= e($g) ?></th><?php endforeach; ?><th></th></tr>
</thead>
<tbody>
<?php foreach ($d['autres'] as $l): ?>
<tr>
<th scope="row"><?= e($l['langue']) ?></th>
<?php if ($l['grille']): ?>
<?php foreach ($l['grille'] as $niveau): ?><td><?= e($niveau ?: '–') ?></td><?php endforeach; ?>
<?php else: ?>
<td colspan="5"><?= e($l['niveau'] !== '' ? $d['libelles']['niveau'] . ' ' . $l['niveau'] : '–') ?></td>
<?php endif; ?>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<p class="legende"><?= e($d['libelles']['niveaux']) ?></p>
<?php else: ?>
<ul class="langues-simples">
<?php foreach ($d['autres'] as $l): ?><li><b><?= e($l['langue']) ?></b><?= $l['niveau'] !== '' ? e($d['deux_points']) . ' ' . e($l['niveau']) : '' ?></li><?php endforeach; ?>
</ul>
<?php if (array_filter(array_column($d['autres'], 'niveau'))): ?><p class="legende"><?= e($d['libelles']['niveaux']) ?></p><?php endif; ?>
<?php endif; ?>
<?php endif; ?>
</section>
<?php endif; ?>
<?php if ($d['competences']): ?>
<section>
<h2><?= e($d['libelles']['competences']) ?></h2>
<?php foreach ($d['competences'] as $groupe => $liste): ?>
<h4><?= e($groupe) ?></h4>
<p class="liste"><?php foreach ($liste as $i => $item): ?><?= $i ? '<span class="sep" aria-hidden="true">|</span> ' : '' ?><span><?= e($item) ?></span> <?php endforeach; ?></p>
<?php endforeach; ?>
</section>
<?php endif; ?>
<?php if ($d['benevolat']): ?>
<section>
<h2><?= e($d['libelles']['benevolat']) ?></h2>
<?php foreach ($d['benevolat'] as $b): ?><p class="benevolat"><?= e($b) ?></p><?php endforeach; ?>
</section>
<?php endif; ?>
<?php if ($d['permis']): ?>
<section>
<h2><?= e($d['libelles']['permis']) ?></h2>
<?php foreach ($d['permis'] as $p): ?><p><b><?= e($d['libelles']['permis_ligne']) ?></b> <?= e($p) ?></p><?php endforeach; ?>
</section>
<?php endif; ?>
</td></tr></tbody>
</table>
</div>
<script src="assets/cv.js?v=1.8" defer></script>
</body>
</html>