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
composer.json
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");
$("#contenu_bouton").html('');
$("#contenu_bouton").append(result.username);
//$("#input_connecte").attr('value',result.username);
$("#nom_connecte_bis").append(result.username);
$('#formulaire').attr('action', '/profil/user/'+result.username);
$("#deconnexion").css('display',"block");
$("#inscription").css('display',"none");

View File

@ -231,8 +231,11 @@ $(document).ready(function () {
var url = document.location.href;
var antenne_slug = url.split('/')[5];
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') {
$("#hidden_antenne_slug").val(antenne_slug);
readRecords(antenne_slug, nom_connecte);

View File

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

View File

@ -3,7 +3,7 @@
ini_set('display_errors', 0);
include '../../config/config.php';
$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);
// Affichage des intitulés de colonnes

View File

@ -3,7 +3,7 @@
ini_set('display_errors', 0);
include '../../config/config.php';
$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);
// Affichage des intitulés de colonnes

View File

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

View File

@ -1,6 +1,8 @@
<?php
namespace App\Contact;
if (!isset($_SESSION)) {
session_start();
}
use Framework\Renderer\RendererInterface;
use Framework\Response\RedirectResponse;
use Psr\Http\Message\ServerRequestInterface;
@ -26,17 +28,15 @@ class ContactAction
public function __invoke(ServerRequestInterface $request)
{
if ($request->getMethod() === 'GET') {
if (!isset($_SESSION)) {
//session_start();
}
if (isset($_SESSION['user'])) {
$nom_user = $_SESSION['user'];
if (isset($_SESSION['connecte'])) {
$nom_user = $_SESSION['connecte'];
$role = $_SESSION['role'];
} else {
$nom_user = '';
$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
]);
$twig->addExtension(new DebugExtension());
//$twig->addGlobal('session', $_SESSION);
if ($container->has('twig.extensions')) {
foreach ($container->get('twig.extensions') as $extension) {
$twig->addExtension($extension);

View File

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

View File

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

View File

@ -1,6 +1,8 @@
<?php
namespace App\Gmarche\Actions;
if (!isset($_SESSION)) {
session_start();
}
use App\Admin\Table\UserTable;
use Framework\Actions\RouterAwareAction;
use Framework\Renderer\RendererInterface;
@ -34,10 +36,9 @@ class RegionIndexAction
//$role = $this->userTable->findBy('username', $params['username'])->role;
//var_dump($role);
//die();
if (!isset($_SESSION)) {
//session_start();
}
$accueil = true;
if (isset($_SESSION['user'])) {
$nom_user = $_SESSION['user'];
$role = $_SESSION['role'];
@ -45,7 +46,8 @@ class RegionIndexAction
$nom_user = '';
$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
namespace App\Product\Actions;
if (!isset($_SESSION)) {
session_start();
}
use App\Auth\UserTable;
use App\Gmarche\Table\AntenneTable;
use App\Gmarche\Table\RegionTable;
@ -56,17 +58,16 @@ class ProductIndexAction
$page = $params['p'] ?? 1;
$viewPath = '@product/admin/products';
$items = $this->productTable->findByAntenneId('antenne_id', $antenne_id)->paginate(20, $page);
if (!isset($_SESSION)) {
//session_start();
}
if (isset($_SESSION['user'])) {
$nom_user = $_SESSION['user'];
if (isset($_SESSION['connecte'])) {
$nom_user = $_SESSION['connecte'];
$requete_user = $this->userTable->findBy('username', $nom_user);
$user_id = $requete_user->id;
} else {
$nom_user = '';
$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
namespace App\Product\Actions;
if (!isset($_SESSION)) {
session_start();
}
use App\Auth\UserTable;
use App\Gmarche\Table\AntenneTable;
use App\Gmarche\Table\RegionTable;
@ -54,21 +56,18 @@ class RechIndexAction
$requete_region = $this->regionTable->findBy('slug', $region_slug);
$region_name = $requete_region->name;
$page = $params['p'] ?? 1;
//$routePrefix = 'product.admin';
//$routePrefix = 'product.index';
$viewPath = '@product/admin/recherches';
$items = $this->rechTable->findByAntenneId('antenne_id', $antenne_id)->paginate(20, $page);
if (!isset($_SESSION)) {
//session_start();
}
if (isset($_SESSION['user'])) {
$nom_user = $_SESSION['user'];
if (isset($_SESSION['connecte'])) {
$nom_user = $_SESSION['connecte'];
$requete_user = $this->userTable->findBy('username', $nom_user);
$user_id = $requete_user->id;
} else {
$nom_user = '';
$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.
</div>
<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
{% else %}
<p>

View File

@ -61,11 +61,16 @@
<div class="navbar-text" style="color:lightgray;margin-right:15px; margin-top:3px;">
{{ "now"|date('d/m/y') }}
</div>
{% if affiche_username() != '' %}
{% if affiche_username() != '' or sess.connecte != '' %}
<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>
<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;">
{{ field('email', affiche_mail(), "", {type: 'hidden'}) }}
</div>
@ -75,12 +80,11 @@
<button class="btn btn-danger" style="margin-left: 7px; font-size:14px;">Se déconnecter</button>
</form>
{% 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>
<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 id="contenu_bouton" style="color:white; font-size: 14px;" class="btn-primary">
</button>
</div>
</form>
@ -119,7 +123,7 @@
<div class="modal-body">
<div class="form-group">
<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 class="form-group">
<label for="mdp">Mot de passe</label>