carte = new Carteassure(); } public function index() { $idPolice = $this->requete->getParametreFormulaire("idPolice"); // 1. Récupération des assurés $assures = $this->carte->getListeEditionCarteAssure($idPolice); // Vérification des données avant création PDF if (empty($assures)) { echo '
'._("Aucun assuré trouvé pour les critères sélectionnés").'
'; return; } $logoSocietePath = $_SESSION['dossierLogo']; // $fondPath = $_SESSION['dossierSociete'] . '/Tarifs/Img/fond_carte.png'; if (!file_exists($_SESSION['dossierLogo'])) { echo '
'._("Le logo de la société est introuvable").'
'; return; } $pdf = new FPDF_Protection('L', 'mm', array(85.6, 54)); $pdf->SetAuthor('EBENE SOLUTIONS INFORMATIQUES'); $userPassword = $_SESSION['motPassPdf']; $ownerPassword = null; $pdf->SetProtection(['print'], $userPassword, $ownerPassword); $pdf->SetAutoPageBreak(false); $pdf->SetMargins(0, 0, 0); $pdf->SetCreator(_('Système d\'édition de cartes')); // Vérification avant d'ajouter des pages $nombreAssures = count($assures); if ($nombreAssures == 0) { echo '
'._("Aucune carte à générer").'
'; return; } // Définition de la colonne d'alignement pour les deux-points $colonneAlignement = 20; // Position X commune pour l'alignement des deux-points // Traitement de chaque assuré $cartesGenerees = 0; foreach ($assures as $index => $assure) { $idCarte = $assure['beneficiaire_carte_temp']; // Vérification des données obligatoires if (empty($assure['nomBeneficiaire']) || empty($assure['prenomsBeneficiaire']) || !isset($assure['tauxCouverture'])) { // Empêcher la confirmation de cette carte $this->carte->selectionnerUnAssure($idCarte, '0'); continue; } // Ajout d'une nouvelle page pour chaque carte $pdf->AddPage(); $cartesGenerees++; // kane 23/09/2025 => rendre la carte personalisable par societeuser require $_SESSION['dossierSociete'] . '/Tarifs/Controleur/Editioncarteassure.php'; // Vérification du nombre de pages (limite de sécurité) if ($pdf->PageNo() >= 100) { break; } } // Vérification finale du nombre de pages générées if ($cartesGenerees == 0) { echo '
'._("Aucune carte valide n'a pu être générée").'
'; return; } // création du fichier $uniqid = uniqid(); $to_upload="Temp/TMP_CARTES_ASSURES_$uniqid.pdf"; $fichierTemp="Temp/$uniqid.pdf"; $pdf->Output($fichierTemp,"F"); // $fichier = pdf_to_image($fichierTemp, $to_upload, $uniqid, "0"); // => Pour cnvertir en image => eviter la cibversion en Word $fichier = $fichierTemp; // Lien de téléchargement $t_html = '
'; $t_html .= '' . sprintf(_("%d carte(s) générée(s) sur %d assuré(s)"), $cartesGenerees, $nombreAssures) . ''; $t_html .= '
'; // Bouton PRÉVISUALISER avec icône $t_html .= ''; $t_html .= '' . _("PRÉVISUALISER"); $t_html .= ''; // Bouton CONFIRMER avec icône $t_html .= ''; $t_html .= '
'; $t_html .= '
'; echo $t_html; } }