menuvue = new Menuvueutilisateur(); $this->menuvue->getMenuVue('Fichebeneficiaire'); $this->beneficiaire = new Beneficiaire(); $this->police = new Police(); $this->garantieadherent = new Garantieadherent(); $_SESSION['modeDevis'] = "0"; } public function index() { $this->beneficiaire->getModeBiometrie(); $codeSociete = $this->requete->getSession()->getAttribut('codeSociete'); $id = $this->requete->getParametre("id"); $idBeneficiaire = $id; $this->beneficiaire->getContexteBeneficiaireId($id); $codeTypeContrat = $_SESSION['codeTypeContrat']; if($codeTypeContrat=="F") { // $this->rediriger("Fichebeneficiairefamiliale"); $this->rediriger("Fichebeneficiairefamiliale", $idBeneficiaire); exit(); } else { $idPolice = $_SESSION['idPolice_C']; $this->police->getContextePoliceId($idPolice); $this->beneficiaire->getContexteBeneficiaireId($idBeneficiaire); $idAdherent = $_SESSION['idAdherent_C']; $garantieadherents = $this->garantieadherent->getGarantieBeneficiaire($idBeneficiaire); $message = ""; $nouveau_fichier = "Rien"; if(!empty($_POST)) { // define('TARGET', $_SESSION['dossierSociete'].'/Photos/'); // Repertoire cible 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 = ''; 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 !'; } } /* var_dump($_FILES); exit(); */ if( !empty($_FILES['fichier_image_a_uploader']['name']) ) { if(!empty($_FILES['fichier_image_a_uploader']['tmp_name'])) { $extension = pathinfo($_FILES['fichier_image_a_uploader']['name'], PATHINFO_EXTENSION); if(in_array(strtolower($extension),$tabExt)) { $infosImg = getimagesize($_FILES['fichier_image_a_uploader']['tmp_name']); // On verifie le type de l'image if($infosImg[2] >= 1 && $infosImg[2] <= 14) { // On verifie les dimensions et taille de l'image // if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier_image_a_uploader']['tmp_name']) <= MAX_SIZE)) // { // Parcours du tableau d'erreurs if(isset($_FILES['fichier_image_a_uploader']['error']) && UPLOAD_ERR_OK === $_FILES['fichier_image_a_uploader']['error']) { // On renomme le fichier temporaire $rand = rand(1,1000000); $nomImageTemp = $_SESSION['numeroBeneficiaire_C']."_".$rand.'.'. $extension; // Si c'est OK, on teste l'upload if(move_uploaded_file($_FILES['fichier_image_a_uploader']['tmp_name'], TARGET.$nomImageTemp)) { $src = TARGET.$nomImageTemp; // On va réduire la taille de l'image // On renomme le fichier $rand = rand(1,1000000); $nomImage = $_SESSION['numeroBeneficiaire_C']."_".$rand.'.jpg'; $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); $nouveau_fichier = $nomImage; $message = 'Chargement réussi !'; $this->beneficiaire->changerPhoto($id, $nomImage); $this->beneficiaire->registerface($_SESSION['numeroBeneficiaire_C']); $_SESSION['lienPhoto_C'] = $nomImage; unlink(TARGET.$nomImageTemp); $this->rediriger("Fichebeneficiaire/".$idBeneficiaire); } else { // Sinon on affiche une erreur systeme $message = 'Problème lors du chargement !'; } } else { $message = 'Une erreur interne a empêché le chargement'; } /* } else { // Sinon erreur sur les dimensions et taille de l'image $message = 'Erreur dans les dimensions du fichier !'; } */ } else { // Sinon erreur sur le type de l'image $message = 'Le fichier à charger n\'est pas une image !'; } } else { // Sinon on affiche une erreur pour l'extension $message = 'L\'extension du fichier est incorrecte !'; } } else { // Sinon on affiche une erreur pour l'extension $message = 'Revoir votre fichier image!'; } } else { // Sinon on affiche une erreur pour le champ vide $message = 'Veuillez sélectionner un fichier SVP !'; } // fin upload } // dans tous les cas, on lance la page !!! // On charge maintenant les infos du béneficiaire $beneficiaire = $this->beneficiaire->getBeneficiaireId($id); $_SESSION['dateEffetCouvert'] = $beneficiaire['dateEffetCouvert']; $this->beneficiaire->controlerplafondbeneficiaireannuel($idBeneficiaire); $limite_beneficiaire = $this->garantieadherent->getLimitesBeneficiaire($idBeneficiaire); $limite_adherent = $this->garantieadherent->getLimitesAdherent($idAdherent); $this->genererVue(array('beneficiaire' => $beneficiaire, 'message' => $message, 'nouveau_fichier' => $nouveau_fichier, 'garantieadherents' => $garantieadherents, 'limite_beneficiaire' => $limite_beneficiaire, 'limite_adherent' => $limite_adherent)); } } public function supprimer() { $id = $this->requete->getParametre("id"); $this->beneficiaire->supprimer($id); $this->rediriger("Ficheadherent/".$_SESSION['idAdherent_C']); } }