diff --git a/Controleur/ControleurFichebeneficiaire.php b/Controleur/ControleurFichebeneficiaire.php index 056e31f..afce18d 100644 --- a/Controleur/ControleurFichebeneficiaire.php +++ b/Controleur/ControleurFichebeneficiaire.php @@ -208,4 +208,89 @@ class ControleurFichebeneficiaire extends Controleur $this->beneficiaire->supprimer($id); $this->rediriger("Ficheadherent/".$_SESSION['idAdherent_C']); } + + 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; + + $_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)) + { + $this->beneficiaire->registerface($username); + + $idBeneficiaire = $_SESSION['idBeneficiaire_C']; + $this->beneficiaire->changerPhoto($idBeneficiaire, $nomImage); + + $_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); + } + } + } \ No newline at end of file