Finalisation de l'affichage de l'utilisateur connecté en mode modal ou non modal
This commit is contained in:
parent
8c32377738
commit
72fb941a18
|
@ -9,28 +9,16 @@ function connexion(nom_connecte, mdp, chemin) {
|
|||
// Afficher l'avatar et le nom du connecté sur la barre d'état ou message d'erreur
|
||||
if (result.valide) {
|
||||
$("#bouton-connexion").css('display',"none");
|
||||
$("#avatar-user").css('display',"block");
|
||||
$("#avatar-user").css('display',"inline-block");
|
||||
$("#avatar-user").html('');
|
||||
$("#avatar-user").append('<span><img src="/avatar_user.png" width="22" height="22" />');
|
||||
$("#avatar-user").append('</span>');
|
||||
$("#user-connecte").css('display',"block");
|
||||
//$("#nom_connecte").append('<span>');
|
||||
$("#user-connecte").css('display',"inline-block");
|
||||
$("#contenu_bouton").html('');
|
||||
$("#contenu_bouton").append(result.username);
|
||||
//$("#nom_connecte").append('</span>');
|
||||
//$("#nom_connecte").css('display',"block");
|
||||
$('#formulaire').attr('action', '/profil/user/'+result.username);
|
||||
$("#deconnexion").css('display',"block");
|
||||
$("#inscription").css('display',"none");
|
||||
//alert('username='+result.username);
|
||||
// die();
|
||||
|
||||
//$("#nom_connecte").html('test');
|
||||
// $("#nom_connecte").append('<span>');
|
||||
// $("#nom_connecte").append(result.username);
|
||||
// $("#nom_connecte").append('</span>');
|
||||
//die();
|
||||
// On recharge la page pour tenir compte de la connexion de l'utilisateur
|
||||
//window.location.reload(true);
|
||||
} else {
|
||||
$('.alert-danger').html('');
|
||||
$(".alert-danger").css('display',"block");
|
||||
|
|
|
@ -15,9 +15,6 @@ try {
|
|||
$query->execute($params);
|
||||
$row = $query->fetch(PDO::FETCH_ASSOC);
|
||||
if (password_verify($_POST['mdp'],$row['password'])) {
|
||||
//session_start();
|
||||
$_SESSION['user']=$row['username'];
|
||||
$_SESSION['role']=$row['role'];
|
||||
echo '{"valide":true,"username":"'.$row['username'].'"}';
|
||||
} else {
|
||||
echo '{"valide":false}';
|
||||
|
|
|
@ -5,8 +5,8 @@ use App\Account\Action\AccountAction;
|
|||
use App\Account\Action\AccountEditAction;
|
||||
use App\Account\Action\ProfilAction;
|
||||
use App\Account\Action\SignupAction;
|
||||
use App\Auth\Action\PasswordForgetAction;
|
||||
use Framework\Auth\LoggedInMiddleware;
|
||||
use Framework\Auth\LoginModalMiddleware;
|
||||
use Framework\Module;
|
||||
use Framework\Renderer\RendererInterface;
|
||||
use Framework\Router;
|
||||
|
@ -25,7 +25,7 @@ class AccountModule extends Module
|
|||
$router->post('/inscription', SignupAction::class);
|
||||
$router->get('/mon-profil', [LoggedInMiddleware::class, AccountAction::class], 'account');
|
||||
$router->post('/mon-profil', [LoggedInMiddleware::class, AccountEditAction::class]);
|
||||
$router->get('/profil/{user:[a-zA-Z\-0-9]+}', [LoggedInMiddleware::class, ProfilAction::class], 'account.profil');
|
||||
$router->post('/profil/{user:[a-zA-Z\-0-9]+}', [LoggedInMiddleware::class, ProfilAction::class]);
|
||||
$router->get('/profil/user/{user:[a-zA-Z\-0-9]+}', [LoginModalMiddleware::class, ProfilAction::class], 'account.profil');
|
||||
$router->post('/profil/user/{user:[a-zA-Z\-0-9]+}', [LoginModalMiddleware::class, ProfilAction::class]);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -23,8 +23,8 @@ class AdminModule extends Module
|
|||
string $prefix
|
||||
)
|
||||
{
|
||||
$router->get('/dashboard', [LoggedInMiddleware::class, DashboardAction::class], 'dashboard');
|
||||
$router->get('/dashboard/{user:[a-zA-Z\-0-9]+}', [LoggedInMiddleware::class, DashboardUserAction::class], 'dashboard.user');
|
||||
$router->get('/dashboard/{user:[a-zA-Z\-0-9]+}', [LoggedInMiddleware::class, DashboardAction::class], 'dashboard');
|
||||
$router->get('/dashboard/details/{user:[a-zA-Z\-0-9]+}', [LoggedInMiddleware::class, DashboardUserAction::class], 'dashboard.user');
|
||||
$router->get('/activation', [LoggedInMiddleware::class, ActiveAction::class], 'account.active');
|
||||
$router->post('/activation', ActiveAction::class);
|
||||
$router->get('/profil-user', [LoggedInMiddleware::class, AccountUserEditAction::class], 'account.user');
|
||||
|
|
|
@ -53,7 +53,7 @@ class DashboardUserAction
|
|||
$liste_users_suivi = $this->userTableAdmin->findUsers('3');
|
||||
|
||||
$url_part = explode('/',$_SERVER['REQUEST_URI']);
|
||||
$user_affiche = $url_part[2];
|
||||
$user_affiche = $url_part[3];
|
||||
$user = $this->userTable->findBy('username', $user_affiche);
|
||||
$id_affiche = $user->id;
|
||||
$actif_affiche = $user->actif;
|
||||
|
|
|
@ -54,7 +54,18 @@ class LoginAttemptAction
|
|||
{
|
||||
$params = $request->getParsedBody();
|
||||
$user = $this->auth->login($params['username'], $params['password']);
|
||||
|
||||
if ($user) {
|
||||
$this->test_user($user, $params);
|
||||
return $this->renderer->render('@gmarche/index');
|
||||
} else {
|
||||
(new FlashService($this->session))->error('Identifiant ou mot de passe incorrect');
|
||||
return $this->redirect('auth.login');
|
||||
}
|
||||
}
|
||||
|
||||
public function test_user($user, $params) {
|
||||
|
||||
$role = $this->userTable->findBy('username', $params['username'])->role;
|
||||
$path = $this->session->get('auth.redirect') ?: $this->router->generateUri('gmarche.index');
|
||||
$this->session->delete('auth.redirect');
|
||||
|
@ -71,11 +82,7 @@ class LoginAttemptAction
|
|||
}
|
||||
//$this->renderer->addGlobal('user', $user);
|
||||
//$this->renderer->addGlobal('role', $role);
|
||||
return $this->renderer->render('@gmarche/index');
|
||||
} else {
|
||||
(new FlashService($this->session))->error('Identifiant ou mot de passe incorrect');
|
||||
return $this->redirect('auth.login');
|
||||
}
|
||||
|
||||
}
|
||||
private function show($role)
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<?php
|
||||
namespace Framework\Auth;
|
||||
error_reporting(E_ALL & ~E_NOTICE);
|
||||
use App\Auth\UserTable;
|
||||
use Framework\Auth;
|
||||
use Framework\Response\RedirectResponse;
|
||||
use Framework\Router;
|
||||
|
@ -27,21 +28,25 @@ class LoggedInMiddleware implements MiddlewareInterface
|
|||
*/
|
||||
private $session;
|
||||
|
||||
public function __construct(Auth $auth, Router $router, SessionInterface $session)
|
||||
public function __construct(Auth $auth, Router $router, UserTable $userTable, SessionInterface $session)
|
||||
{
|
||||
$this->auth = $auth;
|
||||
$this->router = $router;
|
||||
$this->userTable = $userTable;
|
||||
$this->session = $session;
|
||||
}
|
||||
|
||||
public function process(ServerRequestInterface $request, DelegateInterface $delegate): ResponseInterface
|
||||
{
|
||||
$user = $this->auth->getUser();
|
||||
$url_part = explode('/',$request->getServerParams()['HTTP_REFERER'] ?? '/');
|
||||
$username = $url_part[5];
|
||||
|
||||
if (is_null($username)) {
|
||||
$user = $this->auth->getUser() ?: $this->userTable->findBy('username', $request->getAttribute('user'));
|
||||
} else {
|
||||
$user = $this->auth->getUser() ?: $this->userTable->findBy('username', $username);
|
||||
}
|
||||
if (is_null($user)) {
|
||||
//throw new ForbiddenException();
|
||||
//return $this->redirect('auth.login');
|
||||
//$this->session->set('auth.login', $request->getUri()->getPath());
|
||||
(new FlashService($this->session))->error('Vous devez vous connecter pour accéder à cette page');
|
||||
return new RedirectResponse($this->router->generateUri('auth.login'));
|
||||
}
|
||||
|
|
|
@ -0,0 +1,63 @@
|
|||
<?php
|
||||
namespace Framework\Auth;
|
||||
error_reporting(E_ALL & ~E_NOTICE);
|
||||
|
||||
use App\Auth\UserTable;
|
||||
use Framework\Auth;
|
||||
use Framework\Response\RedirectResponse;
|
||||
use Framework\Router;
|
||||
use Framework\Session\FlashService;
|
||||
use Framework\Session\SessionInterface;
|
||||
use Interop\Http\ServerMiddleware\DelegateInterface;
|
||||
use Interop\Http\ServerMiddleware\MiddlewareInterface;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
use Psr\Http\Message\ServerRequestInterface;
|
||||
|
||||
class LoginModalMiddleware implements MiddlewareInterface
|
||||
{
|
||||
|
||||
/**
|
||||
* @var Auth
|
||||
*/
|
||||
private $auth;
|
||||
/**
|
||||
* @var Router
|
||||
*/
|
||||
private $router;
|
||||
/**
|
||||
* @var SessionInterface
|
||||
*/
|
||||
private $session;
|
||||
|
||||
public function __construct(Auth $auth, Router $router, UserTable $userTable, SessionInterface $session)
|
||||
{
|
||||
$this->auth = $auth;
|
||||
$this->router = $router;
|
||||
$this->userTable = $userTable;
|
||||
$this->session = $session;
|
||||
//$this->session->set('username','nox');
|
||||
//$this->session->set('passage_login_modal',"fait");
|
||||
//var_dump($this->session);
|
||||
// die();
|
||||
}
|
||||
|
||||
public function process(ServerRequestInterface $request, DelegateInterface $delegate): ResponseInterface
|
||||
{
|
||||
$url_part = explode('/',$request->getServerParams()['PHP_SELF'] ?? '/');
|
||||
$username = $url_part[4];
|
||||
if (is_null($username)) {
|
||||
$user = $this->auth->getUser() ?: $this->userTable->findBy('username', $request->getAttribute('user'));
|
||||
} else {
|
||||
$user = $this->auth->getUser() ?: $this->userTable->findBy('username', $username);
|
||||
}
|
||||
|
||||
if (is_null($user)) {
|
||||
(new FlashService($this->session))->error('Vous devez vous connecter pour accéder à cette page');
|
||||
return new RedirectResponse($this->router->generateUri('auth.login'));
|
||||
} else {
|
||||
$this->session->set('username',$user->username);
|
||||
$this->session->set('passage_login_modal',"fait");
|
||||
}
|
||||
return $delegate->process($request->withAttribute('user', $user));
|
||||
}
|
||||
}
|
|
@ -48,7 +48,7 @@
|
|||
{% if (affiche_role()==0 or affiche_role()==1 or affiche_role()==2) and affiche_username()!='' %}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link {% if explodeUrl()[1]=='dashboard' %} active{% endif %}" style="font-size:14px;"
|
||||
href="{{ path('dashboard') }}">Administration</a>
|
||||
href="{{ path('dashboard',{user:affiche_username()}) }}">Administration</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
<li class="nav-item">
|
||||
|
@ -75,11 +75,11 @@
|
|||
<button class="btn btn-danger" style="margin-left: 7px; font-size:14px;">Se déconnecter</button>
|
||||
</form>
|
||||
{% else %}
|
||||
<form method="post" style="margin-top:5px;" action="{{ path('account.profil',{user:'nox'}) }}">
|
||||
<div class="nav-item" id="avatar-user" style="display:none;padding-top:0.5rem;margin-right:0.4rem;">
|
||||
<form id="formulaire" method="post" style="margin-top:5px;" action="{{ path('account.profil',{user:session.username}) }}">
|
||||
<div class="nav-item" id="avatar-user" style="display:none;padding-top:0.1rem;margin-right:0.4rem;">
|
||||
</div>
|
||||
<div class="nav-item" id="user-connecte" style="display:none;padding-top:0.4rem;">
|
||||
<button style="color:white; font-size: 14px;" class="btn-primary" data-toggle="modal" data-target="#connexion_modal">
|
||||
<div class="nav-item" id="user-connecte" style="display:none;padding-top:0.1rem;">
|
||||
<button style="color:white; font-size: 14px;" class="btn-primary">
|
||||
<span id="contenu_bouton"></span>
|
||||
</button>
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue