garant/Controleur/ControleurArchiverfacture.php
2025-12-01 19:18:15 +00:00

82 lines
2.8 KiB
PHP

<?php
require_once 'Framework/Controleur.php';
require_once 'Modele/Ged.php';
require_once 'Modele/Menuvueprofil.php';
class ControleurArchiverfacture extends Controleur {
private $ged;
public function __construct() {
$this->menuvue = new Menuvueprofil();
$this->menuvue->getMenuVue('Archiverfacture');
$this->ged = new Ged();
}
public function index($nomOrigine="")
{
$numeroBeneficiaire = $_SESSION['numeroBeneficiaire_C'];
if (isset($_POST['nomOrigine']))
{
$nomOrigine = $this->requete->getParametreFormulaire("nomOrigine");
}
$geds = $this->ged->afficherFactures($numeroBeneficiaire, $nomOrigine);
$this->genererVue(array('geds' => $geds, 'nomOrigine' => $nomOrigine));
}
public function enregistredossier()
{
$numeroBeneficiaire = $_SESSION['numeroBeneficiaire_C'];
// On va uploader les fichiers joints s'il y en a
$old_file_name ='';
if( !empty($_FILES['nomFichier']['name']) )
{
$file_tmp_name = $_FILES['nomFichier']['tmp_name'];
$old_file_name = $_FILES['nomFichier']['name'];
$file_size = $_FILES['nomFichier']['size'];
$file_type = $_FILES['nomFichier']['type'];
$file_error = $_FILES['nomFichier']['error'];
define('TARGET', 'Ged/'); // Repertoire cible
$extension = '';
$nomFichier = '';
if( !is_dir(TARGET) )
{
if( !mkdir(TARGET, 0755) )
{
//exit('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 !';
}
}
// Recuperation de l'extension du fichier
$extension = pathinfo($_FILES['nomFichier']['name'], PATHINFO_EXTENSION);
if(isset($_FILES['nomFichier']['error'])
&& UPLOAD_ERR_OK === $_FILES['nomFichier']['error'])
{
// On renomme le fichier
$nomFichier = "Fact_".$_SESSION['numeroBeneficiaire_C']."_".uniqid().'.'. $extension;
// Si c'est OK, on teste l'upload
if(move_uploaded_file($_FILES['nomFichier']['tmp_name'], TARGET.$nomFichier))
{
$this->ged->ajouterFacture($numeroBeneficiaire, $nomFichier, $old_file_name, $accesAssure="0",
$accesPrestataire="0", $accesPartenaire="0", $accesMedecin="0", $accesCompagnie="0", $accesProducteur="0",
$accesGestionnaire="1", $nomFichier);
}
else
{
// Sinon on affiche une erreur systeme
$message = 'Problème lors du chargement !';
}
}
else
{
$message = 'Une erreur interne a empêché le chargement';
}
}
// On réaffiche la page on est prêt à charger un autre document//
$this->rediriger("Archiverfacture");
}
}