This commit is contained in:
KONE SOREL 2026-03-23 13:09:01 +00:00
parent a3941a284a
commit f53ba6e66c
5 changed files with 397 additions and 8 deletions

View File

@ -0,0 +1,135 @@
<?php
require_once 'Framework/Controleur.php';
require_once 'Modele/Ged.php';
require_once 'Modele/Menuvueutilisateur.php';
class ControleurGedadherent extends Controleur {
private $ged;
public function __construct() {
$this->menuvue = new Menuvueutilisateur();
$this->menuvue->getMenuVue('Gedadherent');
$this->ged = new Ged();
}
public function index($msgErreur=null)
{
$message = "";
$nouveau_fichier = "rien";
if(!empty($_POST))
{
define('TARGET', $_SESSION['cheminGed']); // 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("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 = est_anglophone()
? 'Error: the target directory cannot be created! Check that you have sufficient rights to do so or create it manually!'
: 'Erreur : le répertoire cible ne peut être créé ! Vérifiez que vous disposez 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 = est_anglophone()
? 'Uploaded successfully'
: 'Chargé avec succès';
// on va envoyer dans la base de données
$this->ged->enregistrergedadherent($nomOrigine, $nouveau_fichier, $taille);
$this->rediriger("Gedadherent");
}
else
{
// Sinon on affiche une erreur systeme
$message = est_anglophone()
? 'Problem during loading!'
: 'Problème lors du chargement !';
}
}
else
{
$message = est_anglophone()
? 'An internal error prevented the loading'
: 'Une erreur interne a empêché le chargement';
}
}
else
{
// $message = 'Erreur dans les dimensions du fichier !';
$message = est_anglophone()
? $_FILES['fichier_upload']['size']." Error in the file dimensions!"
: $_FILES['fichier_upload']['size']." Erreur dans les dimensions du fichier !";
}
}
else
{
// Sinon on affiche une erreur pour l'extension
$message = est_anglophone()
? 'File extension is incorrect!'
: 'Extension du fichier est incorrecte !';
}
}
else
{
// Sinon on affiche une erreur pour le champ vide
$message = est_anglophone()
? 'Please select a file!'
: 'Veuillez sélectionner un fichier SVP !';
}
// fin upload
}
$msgErreur = $message;
$d1 = $_SESSION['dUneSemaineAvant_C'];
$d2 = date('Y-m-d');
$geds = $this->ged->getgedadherent($d1, $d2, "");
unset($_FILES['fichier_upload']);
$this->genererVue(array('geds' => $geds, 'msgErreur' => $msgErreur));
}
}

View File

@ -0,0 +1,134 @@
<?php
require_once 'Framework/Controleur.php';
require_once 'Modele/Ged.php';
require_once 'Modele/Menuvueutilisateur.php';
class ControleurGedbeneficiaireprod extends Controleur {
private $ged;
public function __construct() {
$this->menuvue = new Menuvueutilisateur();
$this->menuvue->getMenuVue('Gedbeneficiaireprod');
$this->ged = new Ged();
}
public function index($msgErreur=null)
{
$message = "";
$nouveau_fichier = "Rien";
if(!empty($_POST))
{
define('TARGET', $_SESSION['cheminGed']); // 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("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 = est_anglophone()
? 'Error: the target directory cannot be created! Check that you have sufficient rights to do so or create it manually!'
: 'Erreur : le répertoire cible ne peut être créé ! Vérifiez que vous disposez 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 = est_anglophone()
? 'Uploaded successfully'
: 'Chargé avec succès';
// on va envoyer dans la base de données
$this->ged->enregistrergedbeneficiaireprod($nomOrigine, $nouveau_fichier, $taille);
$this->rediriger("Gedbeneficiaireprod");
}
else
{
// Sinon on affiche une erreur systeme
$message = est_anglophone()
? 'Problem during loading!'
: 'Problème lors du chargement !';
}
}
else
{
$message = est_anglophone()
? 'An internal error prevented the loading'
: 'Une erreur interne a empêché le chargement';
}
}
else
{
$message = est_anglophone()
? $_FILES['fichier_upload']['size']." Error in the file dimensions!"
: $_FILES['fichier_upload']['size']." Erreur dans les dimensions du fichier !";
}
}
else
{
// Sinon on affiche une erreur pour l'extension
$message = est_anglophone()
? 'File extension is incorrect!'
: 'Extension du fichier est incorrecte !';
}
}
else
{
// Sinon on affiche une erreur pour le champ vide
$message = est_anglophone()
? 'Please select a file!'
: 'Veuillez sélectionner un fichier SVP !';
}
// fin upload
}
$msgErreur = $message;
$d1 = $_SESSION['dUneSemaineAvant_C'];
$d2 = date('Y-m-d');
$geds = $this->ged->getgedbeneficiaireprod($d1, $d2, "");
unset($_FILES['fichier_upload']);
$this->genererVue(array('geds' => $geds, 'msgErreur' => $msgErreur));
}
}

View File

@ -38,7 +38,9 @@ class ControleurGedpolice extends Controleur {
{
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 = est_anglophone()
? 'Error: the target directory cannot be created! Check that you have sufficient rights to do so or create it manually!'
: 'Erreur : le répertoire cible ne peut être créé ! Vérifiez que vous disposez des droits suffisants pour le faire ou créez-le manuellement !';
}
}
@ -69,7 +71,10 @@ class ControleurGedpolice extends Controleur {
// 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 = est_anglophone()
? 'Uploaded successfully'
: 'Chargé avec succès';
// on va envoyer dans la base de données
$this->ged->enregistrergedpolice($nomOrigine, $nouveau_fichier, $taille);
@ -78,30 +83,39 @@ class ControleurGedpolice extends Controleur {
else
{
// Sinon on affiche une erreur systeme
$message = 'Problème lors du chargement !';
$message = est_anglophone()
? 'Problem during loading!'
: 'Problème lors du chargement !';
}
}
else
{
$message = 'Une erreur interne a empêché le chargement';
$message = est_anglophone()
? 'An internal error prevented the loading'
: '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 !';
$message = est_anglophone()
? $_FILES['fichier_upload']['size']." Error in the file dimensions!"
: $_FILES['fichier_upload']['size']." Erreur dans les dimensions du fichier !";
}
}
else
{
// Sinon on affiche une erreur pour l'extension
$message = 'Extension du fichier est incorrecte !';
$message = est_anglophone()
? 'File extension is incorrect!'
: '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!';
$message = est_anglophone()
? 'Please select a file!'
: 'Veuillez sélectionner un fichier SVP !';
}
// fin upload

106
Vue/Gedadherent/index.php Normal file
View File

@ -0,0 +1,106 @@
<?php $this->titre = "INTER-SANTE - GED Famille"; ?>
<div class="container-fluid py-3">
<div class="alert alert-warning border-0 shadow-sm d-flex align-items-center mb-4">
<i class="fas fa-exclamation-circle fs-4 me-3"></i>
<div>
<strong><?= _("Information :") ?></strong>
<?= _("Affichage limité aux 50 derniers documents. Utilisez les filtres pour affiner votre recherche.") ?>
</div>
</div>
<div class="row g-4">
<div class="col-xl-12">
<div class="card border-0 shadow-sm">
<div class="card-body">
<form enctype="multipart/form-data" action="Gedadherent" method="post">
<div class="row g-3">
<div class="col-md-3">
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Période du") ?></label>
<div class="input-group input-group-sm">
<span class="input-group-text bg-white"><i class="far fa-calendar-alt"></i></span>
<input class="form-control datepicker text-center" type="text" id="d1" name="d1"
value="<?= dateLang($_SESSION['dUneSemaineAvant_C'], $_SESSION['lang']) ?>" required>
<span class="input-group-text bg-light fw-bold"><?= _("au") ?></span>
<input class="form-control datepicker text-center" type="text" id="d2" name="d2"
value="<?= dateCouranteLang($_SESSION['lang']) ?>" required>
</div>
</div>
<div class="col-md-3">
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Nom du document") ?></label>
<input class="form-control form-control-sm" type="text" id="nomOrigine" name="nomOrigine" placeholder="<?= _("Rechercher un fichier...") ?>">
</div>
<div class="col-md-4">
<label class="form-label small fw-bold text-muted text-uppercase"><?= _("Nouveau Document") ?></label>
<input class="form-control form-control-sm border-info" name="fichier_upload" type="file" id="fichier_upload">
</div>
<div class="col-md-2 d-flex align-items-end gap-2">
<button type="button" class="btn btn-primary btn-sm flex-fill fw-bold" onclick="lister_ged_adherent();">
<i class="fas fa-sync-alt me-1"></i> <?= _("Filtrer") ?>
</button>
<button type="submit" name="submit" class="btn btn-success btn-sm flex-fill fw-bold">
<i class="fas fa-upload me-1"></i> <?= _("Envoyer") ?>
</button>
</div>
</div>
</form>
</div>
</div>
</div>
<div class="col-xl-12">
<div id="div_ged" class="card border-0 shadow-sm">
<?php if((isset($msgErreur)) && ($msgErreur > " ")) : ?>
<div class="alert alert-danger m-3 border-0 shadow-xs"><?= $msgErreur ?></div>
<?php endif; ?>
<div class="table-responsive">
<table id="table_ged_famille" class="table table-hover align-middle mb-0" style="font-size:8.5pt; width:100%;">
<thead class="table-dark text-nowrap">
<tr>
<th class="text-center">Date</th>
<th class="text-center">Src</th>
<th><?= _("Souscripteur / Police") ?></th>
<th><?= _("Prestataire") ?></th>
<th><?= _("Bénéficiaire (Adhérent)") ?></th>
<th><?= _("Nom du Document") ?></th>
<th class="text-center no-export"><?= _("Action") ?></th>
</tr>
</thead>
<tbody>
<?php foreach ($geds as $ged):
$idGed = $this->nettoyer($ged['idGed']);
$cheminFichier = $this->nettoyer($ged['cheminFichier']);
?>
<tr class="text-nowrap">
<td class="text-center small text-muted"><?= dateheureLang($this->nettoyer($ged['dateSysteme'])) ?></td>
<td class="text-center"><span class="badge bg-light text-dark border small fw-normal"><?= $this->nettoyer($ged['source']) ?></span></td>
<td>
<div class="fw-bold"><?= $this->nettoyer($ged['souscripteur']) ?></div>
<div class="small text-primary"> <?= $this->nettoyer($ged['numeroPolice']) ?></div>
</td>
<td class="small"><?= $this->nettoyer($ged['prestataire']) ?></td>
<td>
<div class="fw-bold"><?= $this->nettoyer($ged['beneficiaire']) ?></div>
<div class="small text-muted italic"><?= $this->nettoyer($ged['adherent']) ?></div>
</td>
<td class="small text-truncate" style="max-width: 200px;" title="<?= $this->nettoyer($ged['nomOrigine']) ?>">
<i class="far fa-file-alt me-1 text-secondary"></i> <?= $this->nettoyer($ged['nomOrigine']) ?>
</td>
<td class="text-center">
<a class="btn btn-xs btn-outline-danger shadow-sm fw-bold px-3" href="<?= $cheminFichier ?>" target="_blank">
<i class="fas fa-download me-1"></i> <?= _("Télécharger") ?>
</a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>

View File