You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
SAE_2A_FA-Reseau_ALICA/php/src/controleur/UtilisateurControleur.php

183 lines
5.5 KiB

<?php
namespace App\controleur;
use App\gateway\Connection;
use App\gateway\ImageGateway;
use App\gateway\OffreGateway;
use App\metier\Image;
use App\modele\NiveauEtudes;
use App\modele\Offre;
use App\modele\OffreModele;
use App\modele\TypeContrat;
use App\modele\ImageModele;
use App\modele\UtilisateurModele;
use App\TwigExtensions;
class UtilisateurControleur
{
public function __construct()
{
global $twig;
if (!isset($_REQUEST["action"])) {
//$action = NULL;
$action = "creerEvenement";
} else {
$action = \App\config\Validation::nettoyerString($_REQUEST["action"]);
}
switch ($action) {
case NULL:
case "accueil":
$this->accueil();
break;
case "connection":
$this->connection();
break;
// case "inscription":
// $this->inscription();
// break;
case "consulterOffres":
$this->consulterOffres();
break;
case "consulterProfilLimite":
$this->consulterProfilLimite();
break;
case "creerOffre":
//echo "test";
$this->creerOffre();
break;
// case "publierOffre":
// $this->publierOffre();
// break;
case "testAction":
$this->testAction();
break;
case "listerEvenement":
$this->listerEvenement();
break;
case "creerEvenement":
$this->creerEvenement();
break;
case "publierEvenement":
$this->publierEvenement();
break;
default:
$dVueErreur[] ="Action inconnue ou non autorisée";
echo $twig->render("erreur.html",['dVueErreur' => $dVueErreur]);
}
}
protected function connection()
{
global $twig;
echo $twig->render('connexion.html', []);
}
// protected function inscription()
// {
// global $twig;
// $dVueErreur = []; // Tableau pour stocker les erreurs, le cas échéant
// if (isset($_POST['email'], $_POST['username'], $_POST['password'])) {
// $email = \App\config\Validation::nettoyerString($_POST['email']);
// $motDePasse = \App\config\Validation::nettoyerString($_POST['password']);
// // Validez les données d'inscription, par exemple, vérifiez si l'email est unique
// // Vous pouvez également effectuer d'autres validations nécessaires
// $userModel = new \App\modele\UtilisateurModele();
// $nouvelUtilisateur = $userModel->inscription($email, $motDePasse);
// // Si l'inscription a réussi, redirigez l'utilisateur vers une page de confirmation
// // Vous pouvez également gérer les erreurs ici en cas d'échec de l'inscription
// if ($nouvelUtilisateur instanceof \App\metier\Alumni) {
// // L'inscription a réussi, redirigez l'utilisateur vers une page de confirmation
// // par exemple :
// header('Location: index.php?action=inscription_success');
// exit();
// } else {
// // L'inscription a échoué, ajoutez un message d'erreur
// $dVueErreur[] = "L'inscription a échoué, veuillez réessayer.";
// }
// }
// // Affichez le formulaire d'inscription ou les erreurs le cas échéant
// echo $twig->render('inscription.html', ['dVueErreur' => $dVueErreur]);
// }
protected function accueil()
{
global $twig;
echo $twig->render('accueil.html', []);
}
protected function consulterProfilLimite()
{
//TODO
}
protected function consulterOffres()
{
global $twig;
echo $twig->render('offres.html', []);
}
protected function creerOffre()
{
global $twig;
echo $twig->render('CreerOffre.html', []);
// echo '<img src="data:image/jpg;base64,' . base64_encode($imglist[0]->getBlob() ). '" height="100" width="100" alt="mon image" title="image"/>';*/
}
protected function publierOffre()
{
$imgMdl = new ImageModele;
$offreMdl = new OffreModele();
$img = $imgMdl->publierImage();
$offreMdl->publierOffre($img);
global $twig;
echo $twig->render('Offres.html', [$offreMdl->obtenirOffres()]);
}
protected function testAction()
{
echo "test action ";
$con = new Connection("mysql:host=localhost;dbname=dbAlica",'test','test');
$offreGw = new OffreGateway($con);
if($offreGw->getMaxid() == NULL)
echo "max id == NULL";
else echo "max id != NULL";
}
protected function listerEvenement()
{
$mdl = new \App\modele\UtilisateurModele();
$evenements = $mdl->getEvenement();
global $twig;
$twig->addExtension(new TwigExtensions());
echo $twig->render('evenement.html', ['evenements' => $evenements]);
}
protected function creerEvenement()
{
global $twig;
echo $twig->render('creerEvenement.html', []);
}
protected function publierEvenement()
{
$imgMdl = new ImageModele;
$img = $imgMdl->publierImage();
global $twig;
echo $twig->render('evenement.html', []);
}
}