{{ offre.getNom() }}
{{ offre.getDescription() }}
{{offre.getVille()}}
diff --git a/php/composer.json b/php/composer.json
index 01808c9..38be522 100644
--- a/php/composer.json
+++ b/php/composer.json
@@ -1,6 +1,7 @@
{
"require": {
"twig/twig": "^3.0",
+ "twig/extensions": "^1.5",
"ext-pdo": "*",
"ext-fileinfo": "*"
},
diff --git a/php/index.php b/php/index.php
index 5f9c18a..f0cf101 100755
--- a/php/index.php
+++ b/php/index.php
@@ -2,15 +2,21 @@
/** PC IUT - PHP 8.1 */
/** Chargement config */
+
require_once __DIR__ . '/src/config/config.php';
require __DIR__ . '/vendor/autoload.php';
/** Configuration twig */
$loader = new \Twig\Loader\FilesystemLoader(__DIR__ . '/templates');
-$twig = new \Twig\Environment($loader, [
+$twig = new \Twig\Environment($loader, [
'cache' => false,
'debug' => true
]);
$twig->addExtension(new \Twig\Extension\DebugExtension());
-$cont = new \App\controleur\FrontControleur();
\ No newline at end of file
+$twig->addGlobal('dir', '/SAE_2A_FA-Reseau_ALICA/php');
+
+
+
+
+$cont = new \App\controleur\FrontControleur();
diff --git a/php/src/controleur/FrontControleur.php b/php/src/controleur/FrontControleur.php
index 690eddc..3ff28c5 100755
--- a/php/src/controleur/FrontControleur.php
+++ b/php/src/controleur/FrontControleur.php
@@ -29,8 +29,6 @@ class FrontControleur
$router->map('POST','/[a:action]?','UtilisateurControleur');
- $router->map('GET', '/[a:action]?', 'UtilisateurControleur');
-
$router->map('GET|POST', '/user/[i:id]/[a:action]?', 'MembreControleur');
$router->map('GET|POST', '/admin/[i:id]/[a:action]?', 'AdminControleur');
@@ -48,7 +46,6 @@ class FrontControleur
if (!$match) {
$dVueErreur[] = "Error 404 Page not found";
- global $twig;
echo $twig->render("erreur.html", ['dVueErreur' => $dVueErreur]);
}
@@ -60,9 +57,9 @@ class FrontControleur
try {
if ($controller == "MembreControleur") {
- if ($_SESSION["utilisateur"] != NULL) {
- echo 'not implemented';
- return;
+ if ($_SESSION["utilisateur"]->getRole() != "Admin" || $_SESSION["utilisateur"]->getRole() != "Membre") {
+
+ echo $twig->render("connection.html",['msg' => 'Vous devez vous connecter pour effectuer cette action']);
}
}
diff --git a/php/src/controleur/UtilisateurControleur.php b/php/src/controleur/UtilisateurControleur.php
index 7280332..a18ffd5 100755
--- a/php/src/controleur/UtilisateurControleur.php
+++ b/php/src/controleur/UtilisateurControleur.php
@@ -27,7 +27,8 @@ class UtilisateurControleur
$utilisateur = $userModel->connection($email, $motDePasse);
if ($utilisateur instanceof Alumni) {
$_SESSION['utilisateur'] = $utilisateur;
- header('Location: index.php?action=accueil');
+ //header('Location: index.php?action=accueil');
+ echo $twig->render("inscription_success.html",[]);
exit();
} else {
$dVueErreur[] = "L'adresse email ou le mot de passe est incorrect.";
@@ -36,7 +37,7 @@ class UtilisateurControleur
echo $twig->render('connection.html', ['dVueErreur' => $dVueErreur]);
}
- protected function inscription()
+ public function inscription()
{
global $twig;
$dVueErreur = []; // Tableau pour stocker les erreurs, le cas échéant
@@ -61,7 +62,7 @@ class UtilisateurControleur
$nouvelUtilisateur = $userModel->inscription($prenom,$nom,$email, $hash);
if ($nouvelUtilisateur instanceof Alumni) {
- header('Location: index.php?action=inscription_success');
+ echo $twig->render('inscription_success.html');
exit();
} else {
$dVueErreur[] = "L'inscription a échoué, veuillez réessayer.";
@@ -91,6 +92,7 @@ class UtilisateurControleur
public function consulterProfilLimite()
{
//TODO
+ echo 'not implemented yet';
}
public function consultOffers()
@@ -102,6 +104,8 @@ class UtilisateurControleur
$typeContrat=null;
$exp = null;
+ $role = $_SESSION['utilisateur']->getRole() ?? NULL;
+
$nbOffers = 5 ;
if(isset($_GET["niveauEtudes"]) && Validation::validateTypeStudies($_GET["niveauEtudes"])) {
@@ -123,6 +127,7 @@ class UtilisateurControleur
'typeContrat' => $typeContrat,
'exp' => $exp,
'niveauEtudes' => $niveauEtudes,
+ 'role' => $role
);
$offers = $userMdl->getOffersWithFilters($params);
$totalOffers = count($offers);
@@ -130,11 +135,9 @@ class UtilisateurControleur
$numberPages = ceil($totalOffers / 5);
- if($numberPages == 0 )
- {
+ $msg = NULL;
+ if($numberPages == 0 ) {
$msg = 'Aucune Offre Trouvée';
- echo $twig->render("OffersList.html",['message' => $msg]);
- return;
}
if (isset($_GET["page"]) && intval($_GET["page"]) != null) {
@@ -163,15 +166,17 @@ class UtilisateurControleur
echo "filtre :".$exp."
";*/
echo $twig->render('OffersList.html', [
+ 'msg' => (($msg != null) ? $msg : ""),
'offres' => $offers,
'numberPages' => $numberPages,
'currentPage' => $page,
- 'typeContrat' => (($typeContrat != null ? $typeContrat : "")),
- 'experience' => (($exp != null ? $exp : "")),
- 'niveauEtudes' => (($niveauEtudes != null ? $niveauEtudes : "")),
- 'valContrat' => (($typeContrat != null ? "&typeContrat=".$typeContrat : "")),
- 'valExp' => (($exp != null ? "&experience=".$exp : "")),
- 'valEtudes' => (($niveauEtudes != null ? "&niveauEtudes=".$niveauEtudes : ""))
+ 'typeContrat' => (($typeContrat != null) ? $typeContrat : ""),
+ 'experience' => (($exp != null) ? $exp : ""),
+ 'niveauEtudes' => (($niveauEtudes != null) ? $niveauEtudes : ""),
+ 'valContrat' => (($typeContrat != null) ? "&typeContrat=".$typeContrat : ""),
+ 'valExp' => (($exp != null) ? "&experience=".$exp : ""),
+ 'valEtudes' => (($niveauEtudes != null) ? "&niveauEtudes=".$niveauEtudes : ""),
+ 'role' => $role
]);
}
diff --git a/php/src/modele/UtilisateurModele.php b/php/src/modele/UtilisateurModele.php
index c7bcfd5..a28680f 100755
--- a/php/src/modele/UtilisateurModele.php
+++ b/php/src/modele/UtilisateurModele.php
@@ -205,10 +205,12 @@ class UtilisateurModele
foreach ($res as $row)
{
$resal = $alGw->ObtenirById($row['offreur']);
+
$profilGw = new ProfilGateway(new Connection(DB_HOST,DB_USER,DB_PASS));
$resProfl = $profilGw->getProfilById($row['offreur']);
- $alumni = new Alumni($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']);
diff --git a/php/templates/OffersList.html b/php/templates/OffersList.html
index 475c267..39cd38e 100644
--- a/php/templates/OffersList.html
+++ b/php/templates/OffersList.html
@@ -5,7 +5,7 @@
{{ message }}
{% endif %} @@ -96,11 +100,11 @@ {% for offre in offres %}{{ offre.getDescription() }}
{{offre.getVille()}}
{{msg}}
+{% endif %}