creerEvenement fonctionnel

evenements
Clément Verdoire 1 year ago
parent 02f75caa55
commit adaed2b23a

@ -7,6 +7,6 @@ $rep = __DIR__ . '/php/';
$dConfig['includes']= array('controleur/Validation.php'); $dConfig['includes']= array('controleur/Validation.php');
//BD //BD
$base = 'mysql:host=localhost;dbname=dbAlica'; $dsn = 'mysql:host=localhost;dbname=dbAlica';
$login = 'test'; $username = 'test';
$mdp = 'test'; $password = 'test';

@ -167,11 +167,25 @@ class UtilisateurControleur
{ {
if(isset($_FILES["image"])) if(isset($_FILES["image"]))
{ {
echo 'test';
$imgMdl = new ImageModele; $imgMdl = new ImageModele;
$img = $imgMdl->publierImage(); $img = $imgMdl->publierImage();
echo 'Image créé avec succès !';
$mdl = new \App\modele\UtilisateurModele(); $mdl = new \App\modele\UtilisateurModele();
echo 'testEvent';
$mdl->ajouterEvenement($img); $mdl->ajouterEvenement($img);
echo 'Evenement créé avec succès !';
global $twig;
$twig->addExtension(new TwigExtensions());
$evenements = $mdl->getEvenement();
echo $twig->render('evenement.html', ['evenements' => $evenements]);
} }
else else
{ {

@ -21,12 +21,16 @@ class ImageGateway
public function insertImage(Image $img) public function insertImage(Image $img)
{ {
$query = "INSERT INTO Image (`nom`, `taille`, `type`, `blob`) VALUES ( :n, :t, :ty, :b)"; $query = "INSERT INTO Image (`nom`, `taille`, `type`, `blob`) VALUES ( :n, :t, :ty, :b)";
$this->con->executeQuery($query, array( try {
':n' => array($img->getName(), PDO::PARAM_STR), $this->con->executeQuery($query, array(
':t' => array($img->getTaille(), PDO::PARAM_STR), ':n' => array($img->getName(), PDO::PARAM_STR),
':ty' => array($img->getType(), PDO::PARAM_STR), ':t' => array($img->getTaille(), PDO::PARAM_STR),
':b' => array($img->getBlob(), PDO::PARAM_STR) ':ty' => array($img->getType(), PDO::PARAM_STR),
)); ':b' => array($img->getBlob(), PDO::PARAM_STR)
));
} catch (\PDOException $e) {
echo $e->getMessage();
}
} }
public function delete(int $id) public function delete(int $id)

@ -35,7 +35,7 @@ class ImageModele
{ {
$this->gw->obtenirParId($id); $this->gw->obtenirParId($id);
$res = $this->gw->obtenirToutesImages(); $res = $this->gw->obtenirToutesImages();
return new Image($this->gw->getNewId(),$res[0]['nom'], $res[0]['taille'], $res[0]['type'], $res[0]['blob']); return new Image($id ,$res[0]['nom'], $res[0]['taille'], $res[0]['type'], $res[0]['blob']);
} }
public function obtenirToutesImages() : array public function obtenirToutesImages() : array

@ -3,6 +3,7 @@ namespace App\modele;
use App\metier\Alumni; use App\metier\Alumni;
use App\metier\Evenement; use App\metier\Evenement;
use App\metier\Image; use App\metier\Image;
use App\config;
class UtilisateurModele class UtilisateurModele
@ -58,37 +59,27 @@ class UtilisateurModele
public function getEvenement() : array public function getEvenement() : array
{ {
$dsn = "mysql:host=localhost;dbname=dbAlica"; global $dsn, $username, $password;
$login = "test"; $con = new \App\gateway\Connection($dsn, $username, $password);
$mdp = "test";
$con = new \App\gateway\Connection($dsn, $login, $mdp);
$gate = new \App\gateway\EvenementGateway($con); $gate = new \App\gateway\EvenementGateway($con);
$gateImage = new \App\gateway\ImageGateway($con);
$data = $gate->getAllEvenement(); $data = $gate->getAllEvenement();
// $gateAlumni = new \App\gateway\AlumniGateway($con); $evenement = array();
// $dataAlumni = $gateAlumni->findById($data[0]['organisateur']);
$gateImage = new \App\gateway\ImageGateway($con);
$image = $gateImage->obtenirParId($data[0]['image']);
// $organisateur = new \App\metier\Alumni(
// $dataAlumni[0]['id'],
// $dataAlumni[0]['mail'],
// $dataAlumni[0]['mdp'],
// $dataAlumni[0]['role']
// );
$img = new \App\metier\Image(
$image[0]['id'],
$image[0]['nom'],
$image[0]['taille'],
$image[0]['type'],
$image[0]['blob']
);
foreach($data as $row) foreach($data as $row)
{ {
$imgRaw = $gateImage->obtenirParId($row['image']);
$img = new Image(
intval($imgRaw[0]["id"]),
$imgRaw[0]['nom'],
$imgRaw[0]['taille'],
$imgRaw[0]['type'],
$imgRaw[0]['blob']
);
$evenement[] = new \App\metier\Evenement( $evenement[] = new \App\metier\Evenement(
$row['id'], $row['id'],
$row['organisateur'], $row['organisateur'],
@ -104,11 +95,9 @@ class UtilisateurModele
public function ajouterEvenement(Image $img) public function ajouterEvenement(Image $img)
{ {
$dsn = "mysql:host=localhost;dbname=dbAlica"; global $dsn, $username, $password;
$login = "test";
$mdp = "test";
$con = new \App\gateway\Connection($dsn, $login, $mdp); $con = new \App\gateway\Connection($dsn, $username, $password);
$gate = new \App\gateway\EvenementGateway($con); $gate = new \App\gateway\EvenementGateway($con);
$titre = $_POST["titre"]; $titre = $_POST["titre"];
@ -118,7 +107,7 @@ class UtilisateurModele
$evenement = new Evenement( $evenement = new Evenement(
$gate->getNewId(), $gate->getNewId(),
'1', '1', //TODO : Ajouter l'ID de l'admin connecté
$titre, $titre,
$description, $description,
$date, $date,

@ -9,7 +9,7 @@
{% for evenement in evenements %} {% for evenement in evenements %}
<li> <li>
<h2>{{ evenement.titre }}</h2> <h2>{{ evenement.titre }}</h2>
<p><strong>Organisateur:</strong> {{ evenement.organisateur.nom }}</p> <p><strong>Organisateur:</strong> {{ evenement.organisateurId}}</p>
<p><strong>Date:</strong> {{ evenement.date }}</p> <p><strong>Date:</strong> {{ evenement.date }}</p>
<p><strong>Description:</strong> {{ evenement.description }}</p> <p><strong>Description:</strong> {{ evenement.description }}</p>
<img src="data:image/png;base64,{{ evenement.getImage().getBlob() | base64 }}" width="250px"> <img src="data:image/png;base64,{{ evenement.getImage().getBlob() | base64 }}" width="250px">

Loading…
Cancel
Save