'image/jpeg', 'png' => 'image/png', 'webp' => 'image/webp', 'gif' => 'image/gif', default => 'application/octet-stream' }; return "data:$mime;base64," . base64_encode($data); } function labelStatus(string $s): string { return match ($s) { 'refuge' => t('status.refuge'), 'fa' => t('status.fa'), 'fa_permanente' => t('status.fa_permanente'), 'quarantaine' => t('status.quarantaine'), 'soin' => t('status.soin'), 'isolation' => t('status.isolation'), 'hospitalise','hospitalisé' => t('status.hospitalise'), 'reserve','réservé' => t('status.reserve'), 'adopte','adopté' => t('status.adopte'), 'decede','décédé' => t('status.decede'), 'enfui' => t('status.enfui'), default => $s, }; } function fivFelvText(array $a): string { // adapte selon tes colonnes réelles (chez toi ça marche déjà côté liste) $fiv = (string)($a['fiv'] ?? ''); $felv = (string)($a['felv'] ?? ''); if ($fiv === '' && $felv === '') { return t('animals.test_unknown'); } if ($fiv === '0' && $felv === '0') { return t('animals.test_negative'); } if ($fiv === '1' && $felv === '1') { return 'FIV/FELV+'; } if ($fiv === '1') { return 'FIV+'; } if ($felv === '1') { return 'FELV+'; } // fallback : si tu stockes déjà du texte return trim($fiv . ' ' . $felv); } function kindClass(string $k): string { $k = strtolower(trim($k)); return match($k) { 'consult' => 'k-consult', 'contrôle','controle' => 'k-control', 'hospi','hospitalisation' => 'k-hospi', 'chirurgie' => 'k-surgery', 'analyse','analyses' => 'k-lab', 'vaccin' => 'k-vaccine', default => 'k-default' }; } $mainPhotoUri = null; if (!empty($primary_photo)) { $mainPhotoUri = fileToDataUri($photoDir . '/' . $primary_photo); } ?> <?= h(t('pdf.medical_record', ['name' => $animal['name'] ?? ''])) ?>

$animal['name'] ?? ''])) ?>

date('d/m/Y H:i')])) ?> • :
⚠️ :
(($deathDate = DateTimeImmutable::createFromFormat('Y-m-d', (string)$death['deceased_date'])) ? $deathDate->format('d/m/Y') : t('pdf.unknown_date'))])) ?>
:
:
: t('species.cat'), 'dog', 'chien' => t('species.dog'), 'nac' => t('species.nac'), default => (string)($animal['species'] ?? '') }) ?>
:
:
: t('animal.microchip'),'tattoo' => t('animal.tattoo'),default => t('common.not_provided') }) ?>
FIV/FELV :
:
:
:
: kg
:
:
AppSettings::get('association_name')])) ?>

:
: kg
:
:
:
:
:


:
:


: