From 0aa0f4387419cb3507c0ff0cdea1119d9bfc979a Mon Sep 17 00:00:00 2001 From: KONE SOREL Date: Sat, 27 Dec 2025 18:52:37 +0000 Subject: [PATCH] valider --- Controleur/ControleurFichepolice.php | 179 +++++++++++++++++++++++---- Vue/gabarit.php | 5 +- 2 files changed, 157 insertions(+), 27 deletions(-) diff --git a/Controleur/ControleurFichepolice.php b/Controleur/ControleurFichepolice.php index b515e08..d843b35 100644 --- a/Controleur/ControleurFichepolice.php +++ b/Controleur/ControleurFichepolice.php @@ -1,51 +1,162 @@ menuvue = new Menuvueutilisateur(); $this->menuvue->getMenuVue("Fichepolice"); $this->police = new Police(); $this->quittance = new Quittance(); + $this->ged = new Ged(); $_SESSION['modeDevis'] = "0"; } + + public function index($msgErreur=null) + { + $idPolice = $_SESSION['idPoliceAjax']; - public function index() { - $id = $_SESSION['idPoliceAjax']; + $message = ""; - $_SESSION['idPolice_C'] = $id; + $nouveau_fichier = "Rien"; - $this->police->getContextePoliceId($id); + if(!empty($_POST)) + { + define('TARGET', $_SESSION['cheminGed']); // Repertoire cible + define('MAX_SIZE', 10000000); // Taille max en octets du fichier + + $tabExt = array("avi", "bmp", "doc", "docx", "gif", "jpeg", "jpg", "jpe", "mkv", "mp3", "mp4", "pdf", "png", "pps", "xls", "xlsx", "wav"); // Extensions autorisees + + // Variables + $extension = ''; + + 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 !'; + } + } + + // On verifie si le champ est rempli + if( !empty($_FILES['fichier_upload']['name']) ) + { + // Recuperation de l'extension du fichier + + $extension = pathinfo($_FILES['fichier_upload']['name'], PATHINFO_EXTENSION); + + // On verifie l'extension du fichier + if(in_array(strtolower($extension), $tabExt)) + { + $message = $_FILES['fichier_upload']['size']; + + // On verifie les dimensions et taille du fichier + if($_FILES['fichier_upload']['size'] <= MAX_SIZE) + { + $taille = $_FILES['fichier_upload']['size']; + + // Parcours du tableau d'erreurs + if(isset($_FILES['fichier_upload']['error']) && UPLOAD_ERR_OK === $_FILES['fichier_upload']['error']) + { + // On renomme le fichier + $nomOrigine = $_FILES['fichier_upload']['name']; + $nouveau_fichier = dateJourSql()."_".uniqid().".".$extension; + + // Si c'est OK, on teste l'upload + if(move_uploaded_file($_FILES['fichier_upload']['tmp_name'], TARGET.$nouveau_fichier)) + { + $message = 'Chargé avec succès / Uploaded successfully'; + + // on va envoyer dans la base de données + $this->ged->enregistrergedfichepolice($idPolice, $nomOrigine, $nouveau_fichier, $taille); + $this->rediriger("Fichepolice"); + } + else + { + // Sinon on affiche une erreur systeme + $message = 'Problème lors du chargement !'; + } + } + else + { + $message = 'Une erreur interne a empêché le chargement'; + } + } + else + { + $message .= $_FILES['fichier_upload']['size']." Erreur dans les dimensions du fichier !"; + // $message = 'Erreur dans les dimensions du fichier !'; + } + } + else + { + // Sinon on affiche une erreur pour l'extension + $message = 'Extension du fichier est incorrecte !'; + } + } + else + { + // Sinon on affiche une erreur pour le champ vide + $message = 'Veuillez sélectionner un fichier SVP! / Please select a file!'; + } + + // fin upload + } - $police = $this->police->getPoliceId($id); - - $modeprorata = $this->police->getModeProrata(); - - $totalquittance = $this->quittance->getTotalQuittance($id); - $nb_non_facturees = $this->police->fn_primes_non_facturees_police($id); - - $this->genererVue( - array( - 'police' => $police, - 'totalquittance' => $totalquittance, - 'modeprorata' => $modeprorata, - 'nb_non_facturees' => $nb_non_facturees - ) - ); - } + $msgErreur = $message; + unset($_FILES['fichier_upload']); + + + $this->police->getContextePoliceId($idPolice); + + $police = $this->police->getPoliceId($idPolice); + + $totalquittance = $this->quittance->getTotalQuittance($idPolice); + + $nb_non_facturees = $this->police->fn_primes_non_facturees_police($idPolice); + + $geds = $this->ged->getgedfichepolice($idPolice); + + $this->genererVue + ( + array + ( + 'police' => $police, + 'totalquittance' => $totalquittance, + 'nb_non_facturees' => $nb_non_facturees, + 'geds' => $geds, + 'msgErreur' => $msgErreur + ) + ); + } + + public function supprimer() + { + $id = $_SESSION['idPoliceAjax']; + + if($this->police->supprimer($id)) + { + $this->rediriger("Ficheclient"); + } + else + { + $this->rediriger("Fichepolice"); + } + } + public function imprimerquittance() { $IdQuittance = $this->requete->getParametre("id"); require_once 'Societes/'.$_SESSION['codeSociete'].'/Etats/Etquittance.php'; @@ -53,5 +164,23 @@ class ControleurFichepolice extends Controleur { $this->etat->imprimer($IdQuittance); } + public function activergc() + { + $id = $_SESSION['idPoliceAjax']; + + $this->police->activergc($id); + + $this->rediriger("Gcpolices"); + } + + + public function desactivergc() + { + $idPolice = $this->requete->getParametre("id"); + + $this->police->desactivergc($idPolice); + + $this->rediriger("Gcpolices"); + } } \ No newline at end of file diff --git a/Vue/gabarit.php b/Vue/gabarit.php index 01d9506..3eb98fe 100755 --- a/Vue/gabarit.php +++ b/Vue/gabarit.php @@ -269,6 +269,7 @@ $activeChildId = $menuData['child'];
+
@@ -414,8 +415,8 @@ $activeChildId = $menuData['child'];
- - + +