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.
183 lines
5.5 KiB
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', []);
|
|
}
|
|
} |