Affichage de l'utilisateur connecté correct en connexion modale ou autre

This commit is contained in:
nox 2020-01-05 04:16:48 +01:00
parent 72fb941a18
commit 2a01413fab
16 changed files with 77 additions and 61 deletions

2
.gitignore vendored
View File

@ -8,4 +8,4 @@ tmp
vendor vendor
composer.json composer.json
composer.lock composer.lock
src/Framework/SwiftMailerFactory.php #src/Framework/SwiftMailerFactory.php

View File

@ -16,6 +16,9 @@ function connexion(nom_connecte, mdp, chemin) {
$("#user-connecte").css('display',"inline-block"); $("#user-connecte").css('display',"inline-block");
$("#contenu_bouton").html(''); $("#contenu_bouton").html('');
$("#contenu_bouton").append(result.username); $("#contenu_bouton").append(result.username);
//$("#input_connecte").attr('value',result.username);
$("#nom_connecte_bis").append(result.username);
$('#formulaire').attr('action', '/profil/user/'+result.username); $('#formulaire').attr('action', '/profil/user/'+result.username);
$("#deconnexion").css('display',"block"); $("#deconnexion").css('display',"block");
$("#inscription").css('display',"none"); $("#inscription").css('display',"none");

View File

@ -231,8 +231,11 @@ $(document).ready(function () {
var url = document.location.href; var url = document.location.href;
var antenne_slug = url.split('/')[5]; var antenne_slug = url.split('/')[5];
var affichage_slug = url.split('/')[6]; var affichage_slug = url.split('/')[6];
var nom_connecte = $("#nom_connecte").text(); var nom_connecte = $("#contenu_bouton").text().trim();
if (nom_connecte == '') {
nom_connecte = $("#nom_connecte_bis").text();
nom_connecte = nom_connecte.trim();
}
if (affichage_slug == 'produits') { if (affichage_slug == 'produits') {
$("#hidden_antenne_slug").val(antenne_slug); $("#hidden_antenne_slug").val(antenne_slug);
readRecords(antenne_slug, nom_connecte); readRecords(antenne_slug, nom_connecte);

View File

@ -1,5 +1,7 @@
<?php <?php
if (!isset($_SESSION)) {
session_start();
}
include '../../config/config.php'; include '../../config/config.php';
try { try {
@ -14,7 +16,9 @@ try {
$query = $bdd->prepare($requete); $query = $bdd->prepare($requete);
$query->execute($params); $query->execute($params);
$row = $query->fetch(PDO::FETCH_ASSOC); $row = $query->fetch(PDO::FETCH_ASSOC);
if (password_verify($_POST['mdp'],$row['password'])) { if (password_verify($_POST['mdp'],$row['password'])) {
$_SESSION['connecte']=$row['username'];
echo '{"valide":true,"username":"'.$row['username'].'"}'; echo '{"valide":true,"username":"'.$row['username'].'"}';
} else { } else {
echo '{"valide":false}'; echo '{"valide":false}';

View File

@ -3,7 +3,7 @@
ini_set('display_errors', 0); ini_set('display_errors', 0);
include '../../config/config.php'; include '../../config/config.php';
$antenne_slug = $_GET['antenne_slug']; $antenne_slug = $_GET['antenne_slug'];
$nom_connecte = $_SESSION['user']; $nom_connecte = $_GET['nom_connecte'];
$bdd = new \PDO("mysql:host=$db_server;dbname=$db_name", $db_username, $db_password); $bdd = new \PDO("mysql:host=$db_server;dbname=$db_name", $db_username, $db_password);
// Affichage des intitulés de colonnes // Affichage des intitulés de colonnes

View File

@ -3,7 +3,7 @@
ini_set('display_errors', 0); ini_set('display_errors', 0);
include '../../config/config.php'; include '../../config/config.php';
$antenne_slug = $_GET['antenne_slug']; $antenne_slug = $_GET['antenne_slug'];
$nom_connecte = $_SESSION['user']; $nom_connecte = $_GET['nom_connecte'];
$bdd = new \PDO("mysql:host=$db_server;dbname=$db_name", $db_username, $db_password); $bdd = new \PDO("mysql:host=$db_server;dbname=$db_name", $db_username, $db_password);
// Affichage des intitulés de colonnes // Affichage des intitulés de colonnes

View File

@ -2,6 +2,7 @@
namespace App\Auth\Action; namespace App\Auth\Action;
use App\Auth\DatabaseAuth; use App\Auth\DatabaseAuth;
use App\Framework\Response\RedirectBackResponse;
use Framework\Renderer\RendererInterface; use Framework\Renderer\RendererInterface;
use Framework\Response\RedirectResponse; use Framework\Response\RedirectResponse;
use Framework\Session\FlashService; use Framework\Session\FlashService;
@ -43,16 +44,13 @@ class LogoutAction
public function __invoke(ServerRequestInterface $request) public function __invoke(ServerRequestInterface $request)
{ {
$gmarchePrefix = $this->container->get('gmarche.prefix');
if(!isset($_SESSION)) {
//session_start();
}
unset($_SESSION['user']); unset($_SESSION['user']);
unset($_SESSION['connecte']);
if ($this->session->get('username')) { if ($this->session->get('username')) {
$this->session->delete('username'); $this->session->delete('username');
} }
$this->auth->logout(); $this->auth->logout();
$this->flashService->success('Vous êtes maintenant déconnecté'); $this->flashService->success('Vous êtes maintenant déconnecté');
return new RedirectResponse("$gmarchePrefix"); return new RedirectBackResponse($request);
} }
} }

View File

@ -1,6 +1,8 @@
<?php <?php
namespace App\Contact; namespace App\Contact;
if (!isset($_SESSION)) {
session_start();
}
use Framework\Renderer\RendererInterface; use Framework\Renderer\RendererInterface;
use Framework\Response\RedirectResponse; use Framework\Response\RedirectResponse;
use Psr\Http\Message\ServerRequestInterface; use Psr\Http\Message\ServerRequestInterface;
@ -26,17 +28,15 @@ class ContactAction
public function __invoke(ServerRequestInterface $request) public function __invoke(ServerRequestInterface $request)
{ {
if ($request->getMethod() === 'GET') { if ($request->getMethod() === 'GET') {
if (!isset($_SESSION)) { if (isset($_SESSION['connecte'])) {
//session_start(); $nom_user = $_SESSION['connecte'];
}
if (isset($_SESSION['user'])) {
$nom_user = $_SESSION['user'];
$role = $_SESSION['role']; $role = $_SESSION['role'];
} else { } else {
$nom_user = ''; $nom_user = '';
$role = '3'; $role = '3';
} }
return $this->renderer->render('@contact/contact',compact('nom_user','role')); $sess = $_SESSION;
return $this->renderer->render('@contact/contact',compact('sess','nom_user','role'));
} }
} }
} }

View File

@ -20,6 +20,7 @@ class TwigRendererFactory
'auto_reload' => $debug 'auto_reload' => $debug
]); ]);
$twig->addExtension(new DebugExtension()); $twig->addExtension(new DebugExtension());
//$twig->addGlobal('session', $_SESSION);
if ($container->has('twig.extensions')) { if ($container->has('twig.extensions')) {
foreach ($container->get('twig.extensions') as $extension) { foreach ($container->get('twig.extensions') as $extension) {
$twig->addExtension($extension); $twig->addExtension($extension);

View File

@ -9,8 +9,8 @@ class SwiftMailerFactory
public function __invoke(ContainerInterface $container): \Swift_Mailer public function __invoke(ContainerInterface $container): \Swift_Mailer
{ {
if ($container->get('env') === 'production') { if ($container->get('env') === 'production') {
$transport = new \Swift_SmtpTransport('localhost', 1025); //$transport = new \Swift_SmtpTransport('localhost', 1025);
//$transport = new \Swift_SendmailTransport(); $transport = new \Swift_SendmailTransport();
} else { } else {
$transport = new \Swift_SmtpTransport('localhost', 1025); $transport = new \Swift_SmtpTransport('localhost', 1025);
} }

View File

@ -1,14 +1,14 @@
<?php <?php
namespace App\Gmarche\Actions; namespace App\Gmarche\Actions;
if (!isset($_SESSION)) {
session_start();
}
use App\Gmarche\Table\AntenneTable; use App\Gmarche\Table\AntenneTable;
use App\Gmarche\Table\RegionTable; use App\Gmarche\Table\RegionTable;
use Framework\Actions\RouterAwareAction; use Framework\Actions\RouterAwareAction;
use Framework\Renderer\RendererInterface; use Framework\Renderer\RendererInterface;
use Framework\Router;
use GuzzleHttp\Psr7\Response;
use Psr\Container\ContainerInterface; use Psr\Container\ContainerInterface;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Message\ServerRequestInterface as Request;
class AntenneShowAction class AntenneShowAction
@ -45,6 +45,10 @@ class AntenneShowAction
public function __invoke(Request $request) public function __invoke(Request $request)
{ {
/* echo "<pre>";
var_dump($container);
echo "</pre>";
die();*/
if ($request->getMethod() === 'GET') { if ($request->getMethod() === 'GET') {
$params = $request->getQueryParams(); $params = $request->getQueryParams();
$gmarchePrefix = $this->container->get('gmarche.prefix'); $gmarchePrefix = $this->container->get('gmarche.prefix');
@ -55,21 +59,18 @@ class AntenneShowAction
$antennes = $this->antenneTable->findAllbyRegion($region_id)->paginate(25, $page); $antennes = $this->antenneTable->findAllbyRegion($region_id)->paginate(25, $page);
$region = $this->regionTable->findBy('slug', $request->getAttribute('slug')); $region = $this->regionTable->findBy('slug', $request->getAttribute('slug'));
$var_test = 'test';
//var_dump($antennes);
//die();
/*if ($region->slug !== $slug) { /*if ($region->slug !== $slug) {
return $this->redirect('gmarche.show', [ return $this->redirect('gmarche.show', [
'slug' => $region->slug, 'slug' => $region->slug,
'id' => $region->id 'id' => $region->id
]); ]);
}*/ }*/
if (!isset($_SESSION)) { $sess = $_SESSION;
//session_start();
} return $this->renderer->render('@gmarche/antenne', compact('sess','page', 'gmarchePrefix','region', 'antennes'));
if (isset($_SESSION['user'])) {
$nom_user = $_SESSION['user'];
} else {
$nom_user = '';
}
return $this->renderer->render('@gmarche/antenne', compact('nom_user', 'slug', 'region', 'gmarchePrefix', 'antennes', 'page'));
} }
} }
} }

View File

@ -1,6 +1,8 @@
<?php <?php
namespace App\Gmarche\Actions; namespace App\Gmarche\Actions;
if (!isset($_SESSION)) {
session_start();
}
use App\Admin\Table\UserTable; use App\Admin\Table\UserTable;
use Framework\Actions\RouterAwareAction; use Framework\Actions\RouterAwareAction;
use Framework\Renderer\RendererInterface; use Framework\Renderer\RendererInterface;
@ -34,10 +36,9 @@ class RegionIndexAction
//$role = $this->userTable->findBy('username', $params['username'])->role; //$role = $this->userTable->findBy('username', $params['username'])->role;
//var_dump($role); //var_dump($role);
//die(); //die();
if (!isset($_SESSION)) {
//session_start();
}
$accueil = true; $accueil = true;
if (isset($_SESSION['user'])) { if (isset($_SESSION['user'])) {
$nom_user = $_SESSION['user']; $nom_user = $_SESSION['user'];
$role = $_SESSION['role']; $role = $_SESSION['role'];
@ -45,7 +46,8 @@ class RegionIndexAction
$nom_user = ''; $nom_user = '';
$role = '3'; $role = '3';
} }
return $this->renderer->render('@gmarche/index', compact('nom_user', 'accueil', 'role')); $sess = $_SESSION;
return $this->renderer->render('@gmarche/index', compact('sess','nom_user', 'accueil', 'role'));
} }
} }
} }

View File

@ -1,6 +1,8 @@
<?php <?php
namespace App\Product\Actions; namespace App\Product\Actions;
if (!isset($_SESSION)) {
session_start();
}
use App\Auth\UserTable; use App\Auth\UserTable;
use App\Gmarche\Table\AntenneTable; use App\Gmarche\Table\AntenneTable;
use App\Gmarche\Table\RegionTable; use App\Gmarche\Table\RegionTable;
@ -56,17 +58,16 @@ class ProductIndexAction
$page = $params['p'] ?? 1; $page = $params['p'] ?? 1;
$viewPath = '@product/admin/products'; $viewPath = '@product/admin/products';
$items = $this->productTable->findByAntenneId('antenne_id', $antenne_id)->paginate(20, $page); $items = $this->productTable->findByAntenneId('antenne_id', $antenne_id)->paginate(20, $page);
if (!isset($_SESSION)) {
//session_start(); if (isset($_SESSION['connecte'])) {
} $nom_user = $_SESSION['connecte'];
if (isset($_SESSION['user'])) {
$nom_user = $_SESSION['user'];
$requete_user = $this->userTable->findBy('username', $nom_user); $requete_user = $this->userTable->findBy('username', $nom_user);
$user_id = $requete_user->id; $user_id = $requete_user->id;
} else { } else {
$nom_user = ''; $nom_user = '';
$user_id = ''; $user_id = '';
} }
return $this->renderer->render($viewPath.'/index', compact('nom_user','user_id', 'antenne_slug','gmarchePrefix','region_name','region_slug','antenne_id','antenne_name','viewPath', 'items' )); $sess = $_SESSION;
return $this->renderer->render($viewPath.'/index', compact('sess','nom_user','user_id', 'antenne_slug','gmarchePrefix','region_name','region_slug','antenne_id','antenne_name','viewPath', 'items' ));
} }
} }

View File

@ -1,6 +1,8 @@
<?php <?php
namespace App\Product\Actions; namespace App\Product\Actions;
if (!isset($_SESSION)) {
session_start();
}
use App\Auth\UserTable; use App\Auth\UserTable;
use App\Gmarche\Table\AntenneTable; use App\Gmarche\Table\AntenneTable;
use App\Gmarche\Table\RegionTable; use App\Gmarche\Table\RegionTable;
@ -54,21 +56,18 @@ class RechIndexAction
$requete_region = $this->regionTable->findBy('slug', $region_slug); $requete_region = $this->regionTable->findBy('slug', $region_slug);
$region_name = $requete_region->name; $region_name = $requete_region->name;
$page = $params['p'] ?? 1; $page = $params['p'] ?? 1;
//$routePrefix = 'product.admin';
//$routePrefix = 'product.index';
$viewPath = '@product/admin/recherches'; $viewPath = '@product/admin/recherches';
$items = $this->rechTable->findByAntenneId('antenne_id', $antenne_id)->paginate(20, $page); $items = $this->rechTable->findByAntenneId('antenne_id', $antenne_id)->paginate(20, $page);
if (!isset($_SESSION)) {
//session_start(); if (isset($_SESSION['connecte'])) {
} $nom_user = $_SESSION['connecte'];
if (isset($_SESSION['user'])) {
$nom_user = $_SESSION['user'];
$requete_user = $this->userTable->findBy('username', $nom_user); $requete_user = $this->userTable->findBy('username', $nom_user);
$user_id = $requete_user->id; $user_id = $requete_user->id;
} else { } else {
$nom_user = ''; $nom_user = '';
$user_id = ''; $user_id = '';
} }
return $this->renderer->render($viewPath.'/index', compact('nom_user','user_id','antenne_slug','gmarchePrefix','region_name','region_slug','antenne_id','antenne_name','viewPath', 'items' )); $sess = $_SESSION;
return $this->renderer->render($viewPath.'/index', compact('sess','nom_user','user_id','antenne_slug','gmarchePrefix','region_name','region_slug','antenne_id','antenne_name','viewPath', 'items' ));
} }
} }

View File

@ -50,7 +50,7 @@
Mettez bien le pseudo, la clé publique, le bien ou service, et le prix en june. Mettez bien le pseudo, la clé publique, le bien ou service, et le prix en june.
</div> </div>
<p> <p>
{% if nom_user != '' %} {% if affiche_username() != '' or sess.connecte != '' %}
<button style="color:white; font-size: 14px;" class="btn btn-primary" data-toggle="modal" data-target="#add_new_record_modal">Ajouter un bien ou service <button style="color:white; font-size: 14px;" class="btn btn-primary" data-toggle="modal" data-target="#add_new_record_modal">Ajouter un bien ou service
{% else %} {% else %}
<p> <p>

View File

@ -61,11 +61,16 @@
<div class="navbar-text" style="color:lightgray;margin-right:15px; margin-top:3px;"> <div class="navbar-text" style="color:lightgray;margin-right:15px; margin-top:3px;">
{{ "now"|date('d/m/y') }} {{ "now"|date('d/m/y') }}
</div> </div>
{% if affiche_username() != '' or sess.connecte != '' %}
{% if affiche_username() != '' %}
<form method="post" style="margin-top:5px;" action="{{ path('account.profil',{user:affiche_username()}) }}"> <form method="post" style="margin-top:5px;" action="{{ path('account.profil',{user:affiche_username()}) }}">
<span><img src="\avatar_user.png" width="22" height="22" /></span> <span><img src="\avatar_user.png" width="22" height="22" /></span>
<button id="nom_connecte_bis" style="color:white;font-size: 14px;" class="btn-primary">{{ affiche_username() }}</button> <button id="nom_connecte_bis" style="color:white;font-size: 14px;" class="btn-primary">
{% if affiche_username() != '' %}
{{ affiche_username() }}
{% else %}
{{ sess.connecte }}
{% endif %}
</button>
<div style="width:0;height:0;"> <div style="width:0;height:0;">
{{ field('email', affiche_mail(), "", {type: 'hidden'}) }} {{ field('email', affiche_mail(), "", {type: 'hidden'}) }}
</div> </div>
@ -75,12 +80,11 @@
<button class="btn btn-danger" style="margin-left: 7px; font-size:14px;">Se déconnecter</button> <button class="btn btn-danger" style="margin-left: 7px; font-size:14px;">Se déconnecter</button>
</form> </form>
{% else %} {% else %}
<form id="formulaire" method="post" style="margin-top:5px;" action="{{ path('account.profil',{user:session.username}) }}"> <form id="formulaire" method="post" style="margin-top:5px;" action="{{ path('account.profil',{user:''}) }}">
<div class="nav-item" id="avatar-user" style="display:none;padding-top:0.1rem;margin-right:0.4rem;"> <div class="nav-item" id="avatar-user" style="display:none;padding-top:0.1rem;margin-right:0.4rem;">
</div> </div>
<div class="nav-item" id="user-connecte" style="display:none;padding-top:0.1rem;"> <div class="nav-item" id="user-connecte" style="display:none;padding-top:0.1rem;">
<button style="color:white; font-size: 14px;" class="btn-primary"> <button id="contenu_bouton" style="color:white; font-size: 14px;" class="btn-primary">
<span id="contenu_bouton"></span>
</button> </button>
</div> </div>
</form> </form>
@ -119,7 +123,7 @@
<div class="modal-body"> <div class="modal-body">
<div class="form-group"> <div class="form-group">
<label for="pseudo">Pseudo</label> <label for="pseudo">Pseudo</label>
<input type="text" id="pseudo" placeholder="{{ user.username }}" class="form-control"/> <input type="text" id="pseudo" placeholder="Saisir votre pseudo SVP" class="form-control"/>
</div> </div>
<div class="form-group"> <div class="form-group">
<label for="mdp">Mot de passe</label> <label for="mdp">Mot de passe</label>