This commit is contained in:
KANE LAZENI 2026-01-04 09:52:29 +00:00
parent c322e80b1a
commit 3bd886e5fc
3 changed files with 165 additions and 180 deletions

View File

@ -33,183 +33,174 @@ class ControleurFichebeneficiaire extends Controleur
$this->beneficiaire->getContexteBeneficiaireId($id); $this->beneficiaire->getContexteBeneficiaireId($id);
$codeTypeContrat = $_SESSION['codeTypeContrat']; $codeTypeContrat = $_SESSION['codeTypeContrat'];
if($codeTypeContrat=="F") $idPolice = $_SESSION['idPolice_C'];
{ $this->police->getContextePoliceId($idPolice);
// $this->rediriger("Fichebeneficiairefamiliale"); $this->beneficiaire->getContexteBeneficiaireId($idBeneficiaire);
$this->rediriger("Fichebeneficiairefamiliale", $idBeneficiaire);
exit();
}
else
{
$idPolice = $_SESSION['idPolice_C'];
$this->police->getContextePoliceId($idPolice);
$this->beneficiaire->getContexteBeneficiaireId($idBeneficiaire);
$idAdherent = $_SESSION['idAdherent_C']; $idAdherent = $_SESSION['idAdherent_C'];
$garantieadherents = $this->garantieadherent->getGarantieBeneficiaire($idBeneficiaire); $garantieadherents = $this->garantieadherent->getGarantieBeneficiaire($idBeneficiaire);
$message = ""; $message = "";
$nouveau_fichier = "Rien"; $nouveau_fichier = "Rien";
if(!empty($_POST)) 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) )
{ {
// define('TARGET', $_SESSION['dossierSociete'].'/Photos/'); // Repertoire cible if( !mkdir(TARGET, 0755) )
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 !';
{
$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(); var_dump($_FILES);
*/ exit();
*/
if( !empty($_FILES['fichier_image_a_uploader']['name']) )
if( !empty($_FILES['fichier_image_a_uploader']['name']) )
{
if(!empty($_FILES['fichier_image_a_uploader']['tmp_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))
{ {
$extension = pathinfo($_FILES['fichier_image_a_uploader']['name'], PATHINFO_EXTENSION); $infosImg = getimagesize($_FILES['fichier_image_a_uploader']['tmp_name']);
if(in_array(strtolower($extension),$tabExt)) // On verifie le type de l'image
if($infosImg[2] >= 1 && $infosImg[2] <= 14)
{ {
$infosImg = getimagesize($_FILES['fichier_image_a_uploader']['tmp_name']); // 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))
// On verifie le type de l'image // {
if($infosImg[2] >= 1 && $infosImg[2] <= 14) // Parcours du tableau d'erreurs
{ if(isset($_FILES['fichier_image_a_uploader']['error'])
// On verifie les dimensions et taille de l'image && UPLOAD_ERR_OK === $_FILES['fichier_image_a_uploader']['error'])
// if(($infosImg[0] <= WIDTH_MAX) && ($infosImg[1] <= HEIGHT_MAX) && (filesize($_FILES['fichier_image_a_uploader']['tmp_name']) <= MAX_SIZE)) {
// { // On renomme le fichier temporaire
// Parcours du tableau d'erreurs $rand = rand(1,1000000);
if(isset($_FILES['fichier_image_a_uploader']['error']) $nomImageTemp = $_SESSION['numeroBeneficiaire_C']."_".$rand.'.'. $extension;
&& UPLOAD_ERR_OK === $_FILES['fichier_image_a_uploader']['error'])
// Si c'est OK, on teste l'upload
if(move_uploaded_file($_FILES['fichier_image_a_uploader']['tmp_name'], TARGET.$nomImageTemp))
{ {
// On renomme le fichier temporaire $src = TARGET.$nomImageTemp;
// On va réduire la taille de l'image
// On renomme le fichier
$rand = rand(1,1000000); $rand = rand(1,1000000);
$nomImageTemp = $_SESSION['numeroBeneficiaire_C']."_".$rand.'.'. $extension; $nomImage = $_SESSION['numeroBeneficiaire_C']."_".$rand.'.jpg';
// Si c'est OK, on teste l'upload $imgtype = image_type_to_mime_type($infosImg[2]);
if(move_uploaded_file($_FILES['fichier_image_a_uploader']['tmp_name'], TARGET.$nomImageTemp))
{ switch ($imgtype) {
$src = TARGET.$nomImageTemp; case 'image/jpeg':
// On va réduire la taille de l'image $source_image = imagecreatefromjpeg($src);
// On renomme le fichier break;
$rand = rand(1,1000000); case 'image/jpg':
$nomImage = $_SESSION['numeroBeneficiaire_C']."_".$rand.'.jpg'; $source_image = imagecreatefromjpeg($src);
break;
$imgtype = image_type_to_mime_type($infosImg[2]); case 'image/png':
$source_image = imagecreatefrompng($src);
switch ($imgtype) { break;
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);
} }
else
$width = imagesx($source_image);
$desired_width = $width;
if ($desired_width > $_SESSION['largeurPhoto'])
{ {
// Sinon on affiche une erreur systeme $desired_width = $_SESSION['largeurPhoto'];
$message = 'Problème lors du chargement !'; }
} $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);
} }
else else
{ {
$message = 'Une erreur interne a empêché le chargement'; // Sinon on affiche une erreur systeme
$message = 'Problème lors du chargement !';
} }
/*
} }
else else
{ {
// Sinon erreur sur les dimensions et taille de l'image $message = 'Une erreur interne a empêché le chargement';
$message = 'Erreur dans les dimensions du fichier !';
} }
*/ /*
} }
else else
{ {
// Sinon erreur sur le type de l'image // Sinon erreur sur les dimensions et taille de l'image
$message = 'Le fichier à charger n\'est pas une image !'; $message = 'Erreur dans les dimensions du fichier !';
} }
*/
} }
else else
{ {
// Sinon on affiche une erreur pour l'extension // Sinon erreur sur le type de l'image
$message = 'L\'extension du fichier est incorrecte !'; $message = 'Le fichier à charger n\'est pas une image !';
} }
} }
else else
{ {
// Sinon on affiche une erreur pour l'extension // Sinon on affiche une erreur pour l'extension
$message = 'Revoir votre fichier image!'; $message = 'L\'extension du fichier est incorrecte !';
} }
} }
else else
{ {
// Sinon on affiche une erreur pour le champ vide // Sinon on affiche une erreur pour l'extension
$message = 'Veuillez sélectionner un fichier SVP !'; $message = 'Revoir votre fichier image!';
} }
// fin upload
} }
// dans tous les cas, on lance la page <Fichebeneficiaire> !!! else
// On charge maintenant les infos du béneficiaire {
// Sinon on affiche une erreur pour le champ vide
$beneficiaire = $this->beneficiaire->getBeneficiaireId($id); $message = 'Veuillez sélectionner un fichier SVP !';
$_SESSION['dateEffetCouvert'] = $beneficiaire['dateEffetCouvert']; }
// fin upload
$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));
} }
// dans tous les cas, on lance la page <Fichebeneficiaire> !!!
// 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() { public function supprimer() {

View File

@ -86,10 +86,10 @@ class Beneficiaire extends Modele {
} }
public function getContexteBeneficiaireId($id) public function getContexteBeneficiaireId($id)
{ {
// $sql = 'call sp_r_get_beneficiaire_id(?);';
$sql = 'call sp_c_get_beneficiaire_id(?, ?);';
$sql = 'call sp_r_get_beneficiaire_id(?);'; $resultat = $this->executerRequete($sql, array($_SESSION['idClient_C'], $id));
$resultat = $this->executerRequete($sql, array($id));
$context = $resultat->fetch(PDO::FETCH_ASSOC); $context = $resultat->fetch(PDO::FETCH_ASSOC);
$_SESSION['idClient_C'] = $context['idClient']; $_SESSION['idClient_C'] = $context['idClient'];

View File

@ -284,48 +284,42 @@
</FORM> </FORM>
<?php if ($_SESSION['codeTypeUtilisateur']=='AA'): ?> <form enctype="multipart/form-data" action="Fichebeneficiaire/<?= $_SESSION['idBeneficiaire_C'] ?>/" method="post">
<form enctype="multipart/form-data" action="Fichebeneficiaire/<?= $_SESSION['idBeneficiaire_C'] ?>/" method="post"> <?php if ($beneficiaire['lienPhoto']<=' '): ?>
<?php if ($beneficiaire['lienPhoto']<=' '): ?>
<div class="col-xs-12">
<INPUT style="text-align: center" class="form-control" TYPE="text" value="<?= _("Aucune photo") ?>" readonly>
</div>
<?php endif; ?>
<div class="col-xs-12"> <div class="col-xs-12">
<fieldset> <INPUT style="text-align: center" class="form-control" TYPE="text" value="<?= _("Aucune photo") ?>" readonly>
<?php if ($_SESSION['lienPhoto_C']>" "): ?>
<INPUT style="font-size: 15px; height: 30px" class="form-control" TYPE="text" value="<?= _("Changer la photo") ?>" readonly >
<?php else: ?>
<INPUT style="font-size: 15px; height: 30px" class="form-control" TYPE="text" value="<?= _("Attribuer une photo") ?>" readonly >
<?php endif; ?>
<label for="fichier_a_uploader" title="Recherchez une photo!"></label>
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
<input style="font-size: 15px; height: 40px" class="form-control btn btn-primary" name="fichier_image_a_uploader" type="file" id="fichier_image_a_uploader" />
<br>
<input style="font-size: 15px; height: 30px" class="form-control btn btn-primary" type="submit" name="submit" value="<?= _("Mettre à jour") ?>" />
</fieldset>
<h4 style="text-align: center">
<?php if ($message>" "): ?>
<div class="col-xs-12 alert alert-danger">
<?= $message ?>
</div>
<?php endif; ?>
</h4>
</div> </div>
<?php endif; ?>
<div class="col-xs-12">
<fieldset>
<?php if ($_SESSION['lienPhoto_C']>" "): ?>
<INPUT style="font-size: 15px; height: 30px" class="form-control" TYPE="text" value="<?= _("Changer la photo") ?>" readonly >
<?php else: ?>
<INPUT style="font-size: 15px; height: 30px" class="form-control" TYPE="text" value="<?= _("Attribuer une photo") ?>" readonly >
<?php endif; ?>
<label for="fichier_a_uploader" title="Recherchez une photo!"></label>
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
<input style="font-size: 15px; height: 40px" class="form-control btn btn-primary" name="fichier_image_a_uploader" type="file" id="fichier_image_a_uploader" />
<br>
<input style="font-size: 15px; height: 30px" class="form-control btn btn-primary" type="submit" name="submit" value="<?= _("Mettre à jour") ?>" />
</fieldset>
<h4 style="text-align: center">
<?php if ($message>" "): ?>
<div class="col-xs-12 alert alert-danger">
<?= $message ?>
</div>
<?php endif; ?>
</h4>
</div>
<?php if ($message=='Chargement réussi !'): ?> <?php if ($message=='Chargement réussi !'): ?>
<INPUT style="text-align: center" class="form-control" TYPE="text" value="<?= _("Le Nouveau Fichier Photo") ?> : <?= $nouveau_fichier ?>" readonly> <INPUT style="text-align: center" class="form-control" TYPE="text" value="<?= _("Le Nouveau Fichier Photo") ?> : <?= $nouveau_fichier ?>" readonly>
<?php else: ?> <?php else: ?>
<INPUT style="text-align: center" class="form-control" TYPE="text" value="<?= _("Fichier Photo Actuel") ?> : <?= $beneficiaire['lienPhoto'] ?>" readonly> <INPUT style="text-align: center" class="form-control" TYPE="text" value="<?= _("Fichier Photo Actuel") ?> : <?= $beneficiaire['lienPhoto'] ?>" readonly>
<?php endif; ?> <?php endif; ?>
</form> </form>
<?php else:
if ($beneficiaire['lienPhoto']<=' '): ?>
<INPUT style="text-align: center" class="form-control" TYPE="text" value="<?= _("Aucune photo") ?>" readonly>
<?php endif;
endif; ?>