diff --git a/Controleur/ControleurImportassure.php b/Controleur/ControleurImportassure.php new file mode 100644 index 0000000..c4068d6 --- /dev/null +++ b/Controleur/ControleurImportassure.php @@ -0,0 +1,130 @@ +menuvue = new Menuvueutilisateur(); + $this->menuvue->getMenuVue("Importassure"); + + $this->police = new Police(); + $this->beneficiaire = new Beneficiaire(); + } + + public function index($msgErreur=null) + { + // DEBUT CHARGELENT FICHIER EXCEL A IMPORTER + $message = ""; + + $nouveau_fichier = "Rien"; + + if(!empty($_POST)) + { + define('TARGET', 'Temp/import/'); // Repertoire cible + define('MAX_SIZE', 10000000); // Taille max en octets du fichier + + // Tableaux de donnees + // ".avi", ".bmp", ".doc", ".docx", ".gif", ".jpeg", "jpg", "jpe", ".mkv", ".mp3", ".pdf", ".png", ".pps", ".xls", ".xlsx", ".wav" + // $tabExt = array('jpg','png','jpeg'); // Extensions autorisees + + $tabExt = array("xls", "xlsx"); // 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'; + $message = _('Chargé avec succès'); + + // on va envoyer dans la base de données + + $this->beneficiaire->enregistrerparamimportassure($nomOrigine, $nouveau_fichier, $taille); + } + 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 + } + + $msgErreur = $message; + + unset($_FILES['fichier_upload']); + // FIN CHARGELENT FICHIER EXCEL A IMPORTER + + $idPolice = $_SESSION['idPolice_C']; + $this->police->getContextePoliceId($idPolice); + $police = $this->police->getPoliceId($idPolice); + + $fichierimport = $this->beneficiaire->getFichierImport(); + + $this->genererVue(array('police' => $police, 'msgErreur' => $msgErreur, 'fichierimport' => $fichierimport, + 'nouveau_fichier' => $nouveau_fichier)); + } + +} \ No newline at end of file diff --git a/Vue/Importassure/index.php b/Vue/Importassure/index.php new file mode 100644 index 0000000..0570c1a --- /dev/null +++ b/Vue/Importassure/index.php @@ -0,0 +1,136 @@ +titre = "INTER-SANTE - Import assurés"; +?> + +
+ +
+ Importation des assurés à partir d'un fichier Excel") ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Type
+ + " readonly> + + " readonly> + +
(%)
+
+
+ + Actions + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ +
+ +
+ + + +" ")) : ?> + + + + + + + +
+ +