menuvue = new Menuvueutilisateur(); $this->menuvue->getMenuVue('Fichebeneficiaire'); $this->beneficiaire = new Beneficiaire(); $this->police = new Police(); $this->garantieadherent = new Garantieadherent(); $this->tarif = new Tarifsactes(); $_SESSION['retour'] = "Fichebeneficiaire"; } public function index() { $codeSociete = $this->requete->getSession()->getAttribut('codeSociete'); $id = $this->requete->getParametre("id"); $idBeneficiaire = $id; $beneficiaire_existe = $this->beneficiaire->getContexteBeneficiaireId($id); if ($beneficiaire_existe) { $beneficiaire = $this->beneficiaire->getBeneficiaireId($id); $_SESSION['idBeneficiaire_C'] = $id; $police = $this->beneficiaire->getSituationPolice($idBeneficiaire); // plafond Famille $college = $this->beneficiaire->getSituationCollege($idBeneficiaire); // Plafond Beneficiaire $this->beneficiaire->getContexteBeneficiaireId($idBeneficiaire); $idAdherent = $_SESSION['idAdherent_C']; $_SESSION['lienPhoto_C'] = $beneficiaire['lienPhoto']; $garantieadherents = $this->garantieadherent->getGarantieBeneficiaire($idBeneficiaire); $message = ""; $nouveau_fichier = "Rien"; if(!empty($_POST) && $_SESSION['faceRegistered_C'] != '1' && $_SESSION['assureAjoutPhoto']=="1") { define('TARGET', $_SESSION['lienPhotoFace']); // Repertoire cible define('MAX_SIZE', 100000); // Taille max en octets du fichier define('WIDTH_MAX', 800); // Largeur max de l'image en pixels define('HEIGHT_MAX', 800); // Hauteur max de l'image en pixels $tabExt = array('jpg','png','jpeg'); // Extensions autorisees $infosImg = array(); $extension = ''; $nomImage = ''; $nomImageCrypte = ''; if(!is_dir(TARGET)) { if(!mkdir(TARGET, 0755)) { $message = 'Erreur : le répertoire cible ne peut-être créé ! Vérifiez que vous diposiez des droits suffisants pour le faire ou créez le manuellement !'; } } if(!empty($_FILES['fichier_upload']['name'])) { if(!empty($_FILES['fichier_upload']['tmp_name'])) { $extension = pathinfo($_FILES['fichier_upload']['name'], PATHINFO_EXTENSION); if(in_array(strtolower($extension),$tabExt)) { $infosImg = getimagesize($_FILES['fichier_upload']['tmp_name']); if($infosImg[2] >= 1 && $infosImg[2] <= 14) { if(isset($_FILES['fichier_upload']['error']) && UPLOAD_ERR_OK === $_FILES['fichier_upload']['error']) { $rand = rand(1,1000000); $nomImageTemp = $_SESSION['numeroBeneficiaire_C']."_".$rand.'.'. $extension; if(move_uploaded_file($_FILES['fichier_upload']['tmp_name'], TARGET.$nomImageTemp)) { $src = TARGET.$nomImageTemp; $rand = rand(1,1000000); $nomImage = $_SESSION['numeroBeneficiaire_C']."_".$rand.'.jpg'; $nomImageCrypte = $_SESSION['numeroBeneficiaire_C']."_".$rand.'.bin'; $imgtype = image_type_to_mime_type($infosImg[2]); switch ($imgtype) { case 'image/jpeg': $source_image = imagecreatefromjpeg($src); break; case 'image/jpg': $source_image = imagecreatefromjpeg($src); break; case 'image/png': $source_image = imagecreatefrompng($src); break; } $width = imagesx($source_image); $desired_width = $width; if($desired_width > $_SESSION['largeurPhoto']) { $desired_width = $_SESSION['largeurPhoto']; } $height = imagesy($source_image); $desired_height = floor($height * ($desired_width / $width)); $virtual_image = imagecreatetruecolor($desired_width, $desired_height); imagecopyresampled($virtual_image, $source_image, 0, 0, 0, 0, $desired_width, $desired_height, $width, $height); imagejpeg($virtual_image, TARGET.$nomImage, -1); encryptImage(TARGET.$nomImage, TARGET.$nomImageCrypte); $nouveau_fichier = $nomImageCrypte; $message = 'Chargement réussi !'; $this->beneficiaire->changerPhoto($id, $nomImageCrypte); $this->beneficiaire->registerface($_SESSION['numeroBeneficiaire_C']); $_SESSION['lienPhoto_C'] = $nomImageCrypte; unlink(TARGET.$nomImageTemp); // $this->index(); $this->rediriger("Fichebeneficiaire/".$idBeneficiaire); } else { $message = 'Problème lors du chargement !'; } } else { $message = 'Une erreur interne a empêché le chargement'; } } else { $message = 'Le fichier à charger n\'est pas une image !'; } } else { $message = 'L\'extension du fichier est incorrecte !'; } } else { $message = 'Revoir votre fichier image!'; } } else { $message = 'Veuillez sélectionner un fichier SVP !'; } } $_SESSION['dateEffetCouvert'] = $beneficiaire['dateEffetCouvert']; $codeTypeTarifActe = "TBEN"; $tarifActe = $this->tarif->getTarifActeByType($codeTypeTarifActe); $prestationsParMois = $this->beneficiaire->getPrestationsmensuelles($idBeneficiaire); $tabConsoParMois = [ 'mois' => [], 'consos' => [] ]; $tabConsoParGaranties = [ 'garanties' => [], 'depenses' => [], 'plafonds' => [] ]; foreach ($prestationsParMois as $v) { $tabConsoParMois['mois'][] = $v['mois']; $tabConsoParMois['consos'][] = $v['consommationBeneficiaire']; } foreach ($garantieadherents as $v) { $tabConsoParGaranties['garanties'][] = $v['codeGarantie']; $tabConsoParGaranties['depenses'][] = $v['consommation']; $tabConsoParGaranties['plafonds'][] = $v['plafond']; } $dataConsoParMois = json_encode($tabConsoParMois,JSON_NUMERIC_CHECK); $dataConsoParGaranties = json_encode($tabConsoParGaranties,JSON_NUMERIC_CHECK); $this->genererVue ( array ( 'beneficiaire' => $beneficiaire, 'message' => $message, 'garantieadherents' => $garantieadherents, 'police' => $police, 'college' => $college, 'tarifActe' => $tarifActe, 'dataConsoParMois' => $dataConsoParMois, 'dataConsoParGaranties' => $dataConsoParGaranties ) ); } } // 26/09/2025 public function ebeneenregistrerface() { $_SESSION['p_messageFace'] = ""; if(isset($_POST['image_face'])) { $_SESSION['okId_face'] = "-1"; $_SESSION['okId'] = "-1"; $path = "Temp/"; $extension = "jpeg"; $data = $_POST['image_face']; $data = str_replace('data:image/jpeg;base64,', '', $data); $data = base64_decode($data); $username = $_SESSION['numeroBeneficiaire_C']; $date = date('YmdHis'); $file_name = "img_v_".$date.uniqid().".".$extension; $chemin = $path.$file_name; file_put_contents($chemin, $data); $rand = rand(1,1000000); $nomImage = $username."_".$rand.'.'. $extension; $nomImageCrypte_0 = $username."_".$rand.'.bin'; $nomImageCrypte = $_SESSION['lienPhotoFace'] . $nomImageCrypte_0; $this->beneficiaire->init_traiterlaface('1'); $cheminNew = $_SESSION['lienPhotoFace'] . $nomImage; // echo "chemin=>$chemin ; cheminNew=>$cheminNew"; // exit(); $_SESSION['okId_face'] = "1"; // réduction de la taille de l'immage $infosImg = getimagesize($chemin); $src = $chemin; $imgtype = image_type_to_mime_type($infosImg[2]); switch ($imgtype) { case 'image/jpeg': $source_image = imagecreatefromjpeg($src); break; case 'image/jpg': $source_image = imagecreatefromjpeg($src); break; case 'image/png': $source_image = imagecreatefrompng($src); break; } $width = imagesx($source_image); $desired_width = $width; if ($desired_width > $_SESSION['largeurPhoto']) { $desired_width = $_SESSION['largeurPhoto']; } $height = imagesy($source_image); $desired_height = floor($height * ($desired_width / $width)); $virtual_image = imagecreatetruecolor($desired_width, $desired_height); imagecopyresampled($virtual_image, $source_image, 0, 0, 0, 0, $desired_width, $desired_height, $width, $height); if (imagejpeg($virtual_image, $cheminNew, -1)) { encryptImage($cheminNew, $nomImageCrypte); unlink($cheminNew); $this->beneficiaire->registerface($username); $idBeneficiaire = $_SESSION['idBeneficiaire_C']; // $this->beneficiaire->changerPhoto($idBeneficiaire, $nomImage); $this->beneficiaire->changerPhoto($idBeneficiaire, $nomImageCrypte_0); $_SESSION['p_messageFace'] = "Enrôlement effectué avec succès! / Enrollment completed successfully!!"; $this->genererVueAjax(array('messageFace' => $_SESSION['p_messageFace'], 'msgErreur' => $_SESSION['p_messageFace'], 'photo_succes' => "1")); } $this->beneficiaire->resultat_traitement_face($username, '1', ''); unlink($chemin); } } }