Files

101 lines
5.5 KiB
PHP

<?php
$fr = static fn ($n): string => nombre($n);
$n = count($resultats);
$filtre = $q !== '' || array_filter($filtres);
?>
<h1><?= e($q !== '' ? t('Recherche') : ($filtres['archives'] === 'seuls' ? t('Profils archivés') : t('Tous les profils'))) ?> <small><?= e(tn($n, '%d profil', '%d profils')) ?></small></h1>
<form class="filtres" method="get" action="index.php" role="search" data-auto data-repli>
<input type="hidden" name="p" value="recherche">
<label class="large"><?= e(t('Recherche')) ?>
<input type="search" name="q" value="<?= e($q) ?>" placeholder="<?= e(t('développeur Java senior')) ?>" autofocus>
</label>
<label><?= e(t('Statut')) ?>
<select name="statut">
<option value=""><?= e(t('Tous')) ?></option>
<?php foreach (STATUTS as $code => $libelle): ?><option value="<?= e($code) ?>"<?= $filtres['statut'] === $code ? ' selected' : '' ?>><?= e(t($libelle)) ?></option><?php endforeach; ?>
</select>
</label>
<label><?= e(t('Séniorité')) ?>
<select name="seniorite">
<option value=""><?= e(t('Toutes')) ?></option>
<?php foreach (SENIORITES as $code => $libelle): ?><option value="<?= e($code) ?>"<?= $filtres['seniorite'] === $code ? ' selected' : '' ?>><?= e(t($libelle)) ?></option><?php endforeach; ?>
</select>
</label>
<label><?= e(t('Langue')) ?>
<select name="langue">
<option value=""><?= e(t('Toutes')) ?></option>
<?php foreach ($langues as $l): ?><option value="<?= e($l) ?>"<?= $filtres['langue'] === $l ? ' selected' : '' ?>><?= e(t($l)) ?></option><?php endforeach; ?>
</select>
</label>
<label><?= e(t('Nationalité')) ?>
<select name="nationalite">
<option value=""><?= e(t('Toutes')) ?></option>
<option value="ue"<?= $filtres['nationalite'] === 'ue' ? ' selected' : '' ?>><?= e(t('UE, EEE ou Suisse')) ?></option>
<option value="hors_ue"<?= $filtres['nationalite'] === 'hors_ue' ? ' selected' : '' ?>><?= e(t('Hors UE')) ?></option>
<option value="inconnue"<?= $filtres['nationalite'] === 'inconnue' ? ' selected' : '' ?>><?= e(t('Non renseignée')) ?></option>
</select>
</label>
<label><?= e(t('Titre de séjour')) ?>
<select name="permis">
<option value=""><?= e(t('Tous')) ?></option>
<option value="expire"<?= $filtres['permis'] === 'expire' ? ' selected' : '' ?>><?= e(t('Expiré ou expire sous 2 mois')) ?></option>
</select>
</label>
<label><?= e(t('Archivés')) ?>
<select name="archives">
<option value=""><?= e(t('Masqués')) ?></option>
<option value="inclus"<?= $filtres['archives'] === 'inclus' ? ' selected' : '' ?>><?= e(t('Inclus')) ?></option>
<option value="seuls"<?= $filtres['archives'] === 'seuls' ? ' selected' : '' ?>><?= e(t('Seulement')) ?></option>
</select>
</label>
<button type="submit"><?= e(t('Rechercher')) ?></button>
<?php if ($filtre): ?><a href="<?= e(url('recherche')) ?>"><?= e(t('Effacer')) ?></a><?php endif; ?>
<?php if ($resultats && est_admin()): ?>
<a class="bouton secondaire fin" href="<?= e(url('export_csv', array_filter(['q' => $q] + $filtres, 'strlen'))) ?>"><?= e(t('Exporter en CSV')) ?></a>
<?php endif; ?>
</form>
<?php if ($analyse['seniorites']): ?>
<p class="aide"><?= e(t('Séniorité déduite de la recherche : %s.', implode(' ' . t('ou') . ' ', array_map(static fn ($s) => t(SENIORITES[$s] ?? $s), $analyse['seniorites'])))) ?></p>
<?php endif; ?>
<?php if (!$resultats): ?>
<section class="carte">
<p><strong><?= e(t('Aucun profil ne correspond.')) ?></strong></p>
<p class="aide"><?= e(t('Tous les mots doivent figurer sur la fiche. Retirez un mot, ou placez une expression entre guillemets pour la chercher telle quelle.')) ?></p>
</section>
<?php else: ?>
<ul class="resultats">
<?php foreach ($resultats as $r): ?>
<li class="carte resultat">
<?= avatar($r, 'moyen') ?>
<div class="resultat-corps">
<div class="resultat-tete">
<a class="nom" href="<?= e(url('profil', ['id' => $r['id']])) ?>"><?= e($r['prenom'] . ' ' . $r['nom']) ?></a>
<span class="etat"><?php if ($r['archive_le']): ?><span class="badge badge-attente"><?= e(t('Archivé')) ?></span><?php endif; ?><?= echelle($r['statut']) ?><?= e(t(STATUTS[$r['statut']])) ?></span>
</div>
<p class="sous-titre">
<?php if ($r['titre']): ?><span><?= e($r['titre']) ?></span><?php endif; ?>
<span class="badge badge-<?= e($r['seniorite']) ?>"><?= e(t(SENIORITES[$r['seniorite']])) ?></span>
<span><?= e(annees($r['annees_experience'])) ?></span>
<?php if ($r['ville']): ?><span><?= e($r['ville']) ?></span><?php endif; ?>
<?php $dispo = libelle_disponibilite($r, null, false); if ($dispo !== ''): ?><span><?= e(t('Disponibilité : %s', mb_strtolower($dispo))) ?></span><?php endif; ?>
<?php if (isset($cv[$r['id']])): ?><a href="<?= e(url('document', ['id' => $cv[$r['id']]])) ?>"><?= e(t('CV d\'origine')) ?></a><?php endif; ?>
</p>
<?php if ($r['technologies'] || $r['mots']): ?>
<p class="technos">
<?php foreach ($r['technologies'] as $t): ?>
<span<?= $t['trouve'] ? ' class="trouve"' : '' ?>><?= e($t['nom']) ?><?= $t['annees'] !== null ? ' ' . e(annees($t['annees'])) : '' ?></span>
<?php endforeach; ?>
<?php foreach ($r['mots'] as $m): if (!$m['trouve']) { continue; } ?>
<span class="trouve"><?= e($m['mot']) ?></span>
<?php endforeach; ?>
</p>
<?php endif; ?>
</div>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>