215 lines
7.0 KiB
PHP
215 lines
7.0 KiB
PHP
<?php
|
|
require_once 'Framework/Controleur.php';
|
|
require_once 'Modele/Menuvueutilisateur.php';
|
|
require_once 'Modele/Beneficiaire.php';
|
|
require_once 'Modele/Police.php';
|
|
require_once 'Modele/Garantieadherent.php';
|
|
|
|
class ControleurFichebeneficiairefamiliale extends Controleur
|
|
{
|
|
private $beneficiaire;
|
|
private $police;
|
|
private $garantieadherent;
|
|
|
|
public function __construct() {
|
|
$this->menuvue = new Menuvueutilisateur();
|
|
$this->menuvue->getMenuVue('Fichebeneficiairefamiliale');
|
|
|
|
$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);
|
|
|
|
$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";
|
|
|
|
// var_dump($_POST);
|
|
// exit();
|
|
|
|
|
|
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);
|
|
$_SESSION['lienPhoto_C'] = $nomImage;
|
|
|
|
unlink(TARGET.$nomImageTemp);
|
|
}
|
|
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 !';
|
|
}
|
|
|
|
// echo "message => $message";
|
|
// exit();
|
|
// fin upload
|
|
}
|
|
// 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() {
|
|
$id = $this->requete->getParametre("id");
|
|
$this->beneficiaire->supprimer($id);
|
|
$this->rediriger("Ficheadherent/".$_SESSION['idAdherent_C']);
|
|
}
|
|
} |