last changes

alexis-rendu
Clément Verdoire 1 year ago
commit 39bae853c9

@ -1,7 +1,7 @@
<?php <?php
namespace App\controleur; namespace App\controleur;
use App\gateway\ImageSaver; use App\gateway\ImageManager;
use App\config\Validation; use App\config\Validation;
use App\modele\AdminModele; use App\modele\AdminModele;
@ -43,7 +43,7 @@ class AdminControleur extends ModerateurControleur
global $twig; global $twig;
if (isset($_FILES["image"])) { if (isset($_FILES["image"])) {
$img = ImageSaver::SaveImage('image'); $img = ImageManager::SaveImage('image');
if (!Validation::validerEvenement($_POST["titre"], $_POST["description"], $_POST["date"], $_POST["nbPlaceMax"], $img[1])) { if (!Validation::validerEvenement($_POST["titre"], $_POST["description"], $_POST["date"], $_POST["nbPlaceMax"], $img[1])) {
$mdl = new AdminModele(); $mdl = new AdminModele();

@ -81,7 +81,7 @@ class FrontControleur
else{ else{
$controller = "MembreControleur"; $controller = "MembreControleur";
$controller = $namespace . $controller; $controller = $namespace . $controller;
echo "controller : ".$controller; //echo "controller : ".$controller;
$controller = new $controller(); $controller = new $controller();
} }

@ -2,7 +2,7 @@
namespace App\controleur; namespace App\controleur;
use App\config\Validation; use App\config\Validation;
use App\gateway\ImageSaver; use App\gateway\ImageManager;
use App\modele\MembreModele; use App\modele\MembreModele;
class MembreControleur extends UtilisateurControleur class MembreControleur extends UtilisateurControleur
@ -76,8 +76,8 @@ class MembreControleur extends UtilisateurControleur
} }
else{ else{
$saveImg1 = ImageSaver::SaveImage("image"); $saveImg1 = ImageManager::SaveImage("image");
$saveImg2 = ImageSaver::SaveImage("logo"); $saveImg2 = ImageManager::SaveImage("logo");
if($saveImg1[0] && $saveImg2[0]) { if($saveImg1[0] && $saveImg2[0]) {
$mbrModel = new MembreModele(); $mbrModel = new MembreModele();

@ -3,7 +3,7 @@
namespace App\controleur; namespace App\controleur;
use App\config\Validation; use App\config\Validation;
use App\gateway\ImageSaver; use App\gateway\ImageManager;
use App\metier\Alumni; use App\metier\Alumni;
use App\modele\OffreModele; use App\modele\OffreModele;
use App\modele\UtilisateurModele; use App\modele\UtilisateurModele;
@ -190,13 +190,10 @@ class UtilisateurControleur
'niveauEtudes' => (($niveauEtudes != null) ? $niveauEtudes : ""), 'niveauEtudes' => (($niveauEtudes != null) ? $niveauEtudes : ""),
'valContrat' => (($typeContrat != null) ? "&typeContrat=".$typeContrat : ""), 'valContrat' => (($typeContrat != null) ? "&typeContrat=".$typeContrat : ""),
'valExp' => (($exp != null) ? "&experience=".$exp : ""), 'valExp' => (($exp != null) ? "&experience=".$exp : ""),
'valEtudes' => (($niveauEtudes != null) ? "&niveauEtudes=".$niveauEtudes : ""), 'valEtudes' => (($niveauEtudes != null) ? "&niveauEtudes=".$niveauEtudes : "")
'role' => $role
]); ]);
} }
public function displayOffer(?array $params) public function displayOffer(?array $params)
{ {
global $twig; global $twig;

@ -1,7 +1,7 @@
<?php <?php
namespace App\gateway; namespace App\gateway;
class ImageSaver class ImageManager
{ {
public static function getId() : int public static function getId() : int
@ -27,4 +27,15 @@ class ImageSaver
return $return; return $return;
} }
} }
public function deleteImg(string $img) : bool
{
$path = "public/uploads/$img";
if (file_exists($path)) {
unlink($path);
return true;
} else {
return false;
}
}
} }

@ -53,8 +53,7 @@ class OffreGateway
$query = 'INSERT INTO Offre VALUES (:i, :o, :t, :d, :img, :logo, :ty, :v, :e, :desc, :pro, :exp, :niv, :mail, :num, :web, :remote, :date)'; $query = 'INSERT INTO Offre VALUES (:i, :o, :t, :d, :img, :logo, :ty, :v, :e, :desc, :pro, :exp, :niv, :mail, :num, :web, :remote, :date)';
$this->con->executeQuery($query, array( $this->con->executeQuery($query, array(
':i' => array($offre->getId(), \PDO::PARAM_INT), ':i' => array($offre->getId(), \PDO::PARAM_INT),
//':o' => array($offre->getOffreurId(), \PDO::PARAM_STR), ':o' => array($offre->getOffreurId(), \PDO::PARAM_INT),
':o' => array(1,\PDO::PARAM_INT),
':t' => array($offre->getNom(), \PDO::PARAM_STR), ':t' => array($offre->getNom(), \PDO::PARAM_STR),
':d' => array($offre->getDescription(), \PDO::PARAM_STR), ':d' => array($offre->getDescription(), \PDO::PARAM_STR),
'img' => array($offre->getImg(), \PDO::PARAM_STR), 'img' => array($offre->getImg(), \PDO::PARAM_STR),
@ -136,5 +135,14 @@ class OffreGateway
return intval($res[0]['COUNT(*)']); return intval($res[0]['COUNT(*)']);
} }
public function deleteOffer($id)
{
$query = 'DELETE FROM OFFRE WHERE id=:i';
$this->con->executeQuery($query,array(
':i' => array($id,\PDO::PARAM_INT)
)
);
}
} }

@ -4,6 +4,7 @@ namespace App\modele;
use App\gateway\Connection; use App\gateway\Connection;
use App\metier\Alumni; use App\metier\Alumni;
use App\metier\Evenement;
class AdminModele extends MembreModele class AdminModele extends MembreModele
{ {
@ -42,30 +43,33 @@ class AdminModele extends MembreModele
* @description supprimer une offre spécifique * @description supprimer une offre spécifique
* @param Offre $offer offre à supprimer * @param Offre $offer offre à supprimer
*/ */
public function deleteOffer(Offre $offer)
{
// TO DO
}
/** /**
* @description créer un évènement * @description créer un évènement
* @return \Evenement évènement créé * @return \Evenement évènement créé
*/ */
public function createEvent() : \Evenement public function ajouterEvenement(string $titre, string $description, string $date, int $nbPlaceMax, string $img)
{ {
$event = new \Evenement("","",null); $evenement = new Evenement(
// TO DO $this->eventGw->getNewId(),
'1', //TODO : Ajouter l'ID de l'admin connecté
$titre,
$description,
$date,
$nbPlaceMax,
$img
);
return $event; $this->eventGw->insertEvenement($evenement);
} }
/** /**
* @description suppression d'un évènement * @description suppression d'un évènement
* @param \Evenement $event évènement à supprimer * @param \Evenement $event évènement à supprimer
*/ */
public function deleteEvent(\Evenement $event) public function deleteEvenement(int $id)
{ {
// TO DO $this->eventGw->deleteEvenement($id);
} }
/** /**

@ -90,9 +90,11 @@ class MembreModele extends UtilisateurModele
} }
else $remote = false; else $remote = false;
echo "session id".$_SESSION['id'];
// à la place de NULL passer id utilisateur créateur offre // à la place de NULL passer id utilisateur créateur offre
$offre = new Offre($this->offreGw->getNewId(), $offre = new Offre($this->offreGw->getNewId(),
new Alumni($_SESSION['utilisateur']->getId(),"test.mail@icloud.fr","password","admin","prenom","nom"), new Alumni(intval($_SESSION['id']),"test.mail@icloud.fr","",$_SESSION['role'],$_SESSION['nom'],$_SESSION['prenom']),
$nom, $nom,
$desc, $desc,
$img, $img,
@ -116,5 +118,10 @@ class MembreModele extends UtilisateurModele
} }
public function deleteOffer(Offre $o)
{
}
} }

@ -16,12 +16,14 @@ class UtilisateurModele
{ {
private $con; private $con;
protected $offreGw; protected $offreGw;
protected $eventGw;
public function __construct() public function __construct()
{ {
$this->con = new Connection(DB_HOST,DB_USER,DB_PASS); $this->con = new Connection(DB_HOST,DB_USER,DB_PASS);
$this->offreGw = new OffreGateway($this->con); $this->offreGw = new OffreGateway($this->con);
$this->eventGw = new EvenementGateway($this->con);
} }
/** /**
@ -119,29 +121,6 @@ class UtilisateurModele
return $evenement; return $evenement;
} }
public function ajouterEvenement(string $titre, string $description, string $date, int $nbPlaceMax, string $img)
{
$gate = new EvenementGateway($this->con);
$evenement = new Evenement(
$gate->getNewId(),
'1', //TODO : Ajouter l'ID de l'admin connecté
$titre,
$description,
$date,
$nbPlaceMax,
$img
);
$gate->insertEvenement($evenement);
}
public function deleteEvenement(int $id)
{
$gate = new EvenementGateway($this->con);
$gate->deleteEvenement($id);
}
public function getEvenementById(int $id) : Evenement public function getEvenementById(int $id) : Evenement
{ {
$gate = new EvenementGateway($this->con); $gate = new EvenementGateway($this->con);
@ -236,10 +215,6 @@ class UtilisateurModele
$profilGw = new ProfilGateway(new Connection(DB_HOST,DB_USER,DB_PASS)); $profilGw = new ProfilGateway(new Connection(DB_HOST,DB_USER,DB_PASS));
$resProfl = $profilGw->getProfilById($resal[0]['id']); $resProfl = $profilGw->getProfilById($resal[0]['id']);
echo
var_dump($resal);
$alumni = new Alumni(intval($resal[0]['id']),$resal[0]['mail'],$resal[0]['mdp'],$resal[0]['role'],$resProfl[0]['nom'],$resProfl[0]["prenom"]); $alumni = new Alumni(intval($resal[0]['id']),$resal[0]['mail'],$resal[0]['mdp'],$resal[0]['role'],$resProfl[0]['nom'],$resProfl[0]["prenom"]);
$date = \DateTime::createFromFormat('Y-m-d', $row['date']); $date = \DateTime::createFromFormat('Y-m-d', $row['date']);
@ -298,6 +273,4 @@ class UtilisateurModele
{ {
return $this->offreGw->getNbTotalPages(); return $this->offreGw->getNbTotalPages();
} }
} }

@ -14,7 +14,6 @@
<div class="container mt-4 d-flex align-content-center "> <div class="container mt-4 d-flex align-content-center ">
<div> <div>
{% if role == 'Membre' or role == 'Admin' %} {% if role == 'Membre' or role == 'Admin' %}
<a href="{{dir}}/user/{{id}}/createOfferForm" type="button" class="btn btn-outline-success mb-4">Publier une offre</a> <a href="{{dir}}/user/{{id}}/createOfferForm" type="button" class="btn btn-outline-success mb-4">Publier une offre</a>
{% endif %} {% endif %}

Loading…
Cancel
Save