Avancement sur Tableau de bord Admin et User

This commit is contained in:
nox 2019-12-09 01:02:34 +01:00
parent 2f38ff0776
commit ef9e63d898
15 changed files with 440 additions and 207 deletions

View File

@ -145,18 +145,24 @@ header.header img {
display: block;
margin: auto;
}
/******************************************************************/
/* dashboard.twig */
/******************************************************************/
.tab-de-bord {
background-color: brown;
padding: 1rem;
min-width: 350px;
}
/******************************************************************/
/* layout.twig */
/******************************************************************/
.mdp_oublie:hover {
background-color: deepskyblue;
}
/******************************************************************/
/* LOADING PUBKEY */
/******************************************************************/
#cle_pub {
display: none;
}
@ -178,7 +184,17 @@ body.loading .loadingPubkey {
/* POUR MOBILES */
/******************************************************************/
@media only screen and (max-width:560px) {
/******************************************************************/
/* dashboard.twig */
/******************************************************************/
.tab-de-bord {
background-color: brown;
padding: 1rem;
min-width: 280px;
}
/******************************************************************/
/* layout.twig */
/******************************************************************/
.fond {
background-color: black;
background-image: url("../images/bildreich_1275.jpg");

View File

@ -2,12 +2,12 @@
session_start();
ini_set('display_errors', 0);
include '../../config/config.php';
$antenne_slug = $_GET['antenne_slug'];
$nom_connecte = $_SESSION['user'];
$bdd = new \PDO("mysql:host=$db_server;dbname=$db_name", $db_username, $db_password);
$antenne_slug = $_GET['antenne_slug'];
$nom_connecte = $_SESSION['user'];
$bdd = new \PDO("mysql:host=$db_server;dbname=$db_name", $db_username, $db_password);
// Affichage des intitulés de colonnes
$data = '<table class="table table-bordered table-striped">
// Affichage des intitulés de colonnes
$data = '<table class="table table-bordered table-striped">
<tr style="color: black;">
<th>No.</th>
<th>Bien / service</th>
@ -17,88 +17,88 @@
<th>Quantité</th>
<th>Prix en junes</th>';
$params["antenne_slug"] = $antenne_slug;
$requete = "SELECT products.*, users.username, users.pubkey
$params["antenne_slug"] = $antenne_slug;
$requete = "SELECT products.*, users.username, users.pubkey
FROM products
LEFT JOIN antennes
ON antennes.id = products.antenne_id
LEFT JOIN users
ON users.id = products.user_id
WHERE antennes.slug = :antenne_slug";
$stmt = $bdd->prepare($requete);
$stmt2 = $bdd->prepare($requete);
$stmt->execute($params);
$stmt2->execute($params);
$count = $stmt->rowCount();
$affich_actions = false;
while ($row2 = $stmt2->fetch(PDO::FETCH_ASSOC)) {
if ($row2['username'] == $nom_connecte) {
$affich_actions = true;
}
$stmt = $bdd->prepare($requete);
$stmt2 = $bdd->prepare($requete);
$stmt->execute($params);
$stmt2->execute($params);
$count = $stmt->rowCount();
$affich_actions = false;
while ($row2 = $stmt2->fetch(PDO::FETCH_ASSOC)) {
if ($row2['username'] == $nom_connecte) {
$affich_actions = true;
}
if ($affich_actions) {
$data .= '<th colspan="2" style="text-align: center;">Actions</th>';
$data .= '</tr>';
} else {
$data .= '</tr>';
}
if ($count > 0)
{
$number = 1;
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
}
if ($affich_actions) {
$data .= '<th colspan="2" style="text-align: center;">Actions</th>';
$data .= '</tr>';
} else {
$data .= '</tr>';
}
if ($count > 0)
{
$number = 1;
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$data .= "<tr style='background:lightblue;color:black;'>
$data .= "<tr style='background:lightblue;color:black;'>
<td>$number</td>";
$prix = $row['prix'];
$vendeur = $row['username'];
$produit = $row['name'];
$pubkey = $row['pubkey'];
$pubkeyShort = substr($pubkey, 0, 8);
$vendeur_format = "<a target=\"_blank\" href=\"https://g1.duniter.fr/#/app/wot/$pubkey/\">$vendeur</a>";
$cle_pub_format = "<a target=\"_blank\" href=\"https://g1.duniter.fr/api/#/v1/payment/$pubkey?amount=$prix&name=$vendeur&comment=[Achat GMarche] : $produit&preferred_node=https://g1.librelois.fr&redirect_url=https://gmarche.monnaie-libre.fr\" title=$pubkey> $pubkeyShort... </a>";
$data .= '<td>'.$produit.'</td>';
$data .= '<td><img src="/uploads/products/'.$antenne_slug.'/'.$row['image'].'" width="100" height="100" /></td>';
$data .= '<td>'.$vendeur_format.'</td>';
$data .= '<td>'.$cle_pub_format.'</td>';
$data .= '<td>'.$row['quantite'].'</td>';
$data .= '<td>'.$prix.'</td>';
if ($row['username'] == $nom_connecte ) {
$data .= '<td>';
$data .= '<button onclick="GetProduitsDetails(\'';
$data .= $row['id'];
$data .= "'";
$data .= ',';
$data .= "'$antenne_slug'";
$data .= ",'";
$data .= $row['image'];
$data .= "'";
$data .= ')" class=\'btn btn-primary\'';
$data .= '>Modifier';
$data .= '</button>';
$data .= '</td><td>';
$data .= '<button onclick="DeleteProduits(\'';
$data .= $row['id'];
$data .= "'";
$data .= ',';
$data .= "'$antenne_slug'";
$data .= ",'";
$data .= $row['image'];
$data .= "'";
$data .= ')" class=\'btn btn-danger\'';
$data .= '>Supprimer</button>';
$data .= '</td>';
} else {
if ($affich_actions) {
$data .= '<td></td><td></td>';
}
$prix = $row['prix'];
$vendeur = $row['username'];
$produit = $row['name'];
$pubkey = $row['pubkey'];
$pubkeyShort = substr($pubkey, 0, 8);
$vendeur_format = "<a target=\"_blank\" href=\"https://g1.duniter.fr/#/app/wot/$pubkey/\">$vendeur</a>";
$cle_pub_format = "<a target=\"_blank\" href=\"https://g1.duniter.fr/api/#/v1/payment/$pubkey?amount=$prix&name=$vendeur&comment=[Achat GMarche] : $produit&preferred_node=https://g1.librelois.fr&redirect_url=https://gmarche.monnaie-libre.fr\" title=$pubkey> $pubkeyShort... </a>";
$data .= '<td>'.$produit.'</td>';
$data .= '<td><img src="/uploads/products/'.$antenne_slug.'/'.$row['image'].'" width="100" height="100" /></td>';
$data .= '<td>'.$vendeur_format.'</td>';
$data .= '<td>'.$cle_pub_format.'</td>';
$data .= '<td>'.$row['quantite'].'</td>';
$data .= '<td>'.$prix.'</td>';
if ($row['username'] == $nom_connecte ) {
$data .= '<td>';
$data .= '<button onclick="GetProduitsDetails(\'';
$data .= $row['id'];
$data .= "'";
$data .= ',';
$data .= "'$antenne_slug'";
$data .= ",'";
$data .= $row['image'];
$data .= "'";
$data .= ')" class=\'btn btn-primary\'';
$data .= '>Modifier';
$data .= '</button>';
$data .= '</td><td>';
$data .= '<button onclick="DeleteProduits(\'';
$data .= $row['id'];
$data .= "'";
$data .= ',';
$data .= "'$antenne_slug'";
$data .= ",'";
$data .= $row['image'];
$data .= "'";
$data .= ')" class=\'btn btn-danger\'';
$data .= '>Supprimer</button>';
$data .= '</td>';
} else {
if ($affich_actions) {
$data .= '<td></td><td></td>';
}
$data .= '</tr>';
$number++;
}
} else {
// Il n'y a pas encore de biens/services saisis
$data .= "<tr style='background-color:lightblue;text-align:left;color:black;'><td colspan='10'>Aucun enregistrement saisi</td></tr>";
$data .= '</tr>';
$number++;
}
$data .= '</table>';
echo $data;
} else {
// Il n'y a pas encore de biens/services saisis
$data .= "<tr style='background-color:lightblue;text-align:left;color:black;'><td colspan='10'>Aucun enregistrement saisi</td></tr>";
}
$data .= '</table>';
echo $data;
?>

View File

@ -2,8 +2,6 @@
namespace App\Admin;
use App\Admin\Table\UserTable;
use Framework\Auth;
use Framework\Module;
use Framework\Renderer\RendererInterface;
use Framework\Renderer\TwigRenderer;
@ -11,43 +9,19 @@ use Framework\Router;
class AdminModule extends Module
{
const DEFINITIONS = __DIR__ . '/config.php';
/**
* @var Auth
*/
private $auth;
public function __construct(
RendererInterface $renderer,
Router $router,
AdminTwigExtension $adminTwigExtension,
UserTable $userTable,
Auth $auth,
string $prefix
)
{
$this->userTable = $userTable;
$this->auth = $auth;
$renderer->addPath('admin', __DIR__ . '/views');
$name_user = $this->auth->getUser()->username;
//$role = $user->getRoles();
$role = $_SESSION['role'];
$page = $params['p'] ?? 1; // Si la page n'est pas définie, on l'initialise à 1
//$liste_users = $this->userTable->findAll()->paginate(25, $page);
$liste_adminGeneral = $this->userTable->findAdminUsers('1');
$liste_adminAntenne = $this->userTable->findAdminUsers('2');
$liste_users = $this->userTable->findAdminUsers('3');
$router->get($prefix, DashboardAction::class, 'admin');
$router->post($prefix, DashboardAction::class);
$router->get('/dashboard', DashboardAction::class, 'dashboard');
$router->get('/dashboard/{user:[a-zA-Z\-0-9]+}', DashboardUserAction::class, 'dashboard.user');
if ($renderer instanceof TwigRenderer) {
$renderer->getTwig()->addExtension($adminTwigExtension);
$renderer->getTwig()->addGlobal('role',$role);
$renderer->getTwig()->addGlobal('name_user',$name_user);
$renderer->getTwig()->addGlobal('liste_adminGeneral',$liste_adminGeneral);
$renderer->getTwig()->addGlobal('liste_adminAntenne',$liste_adminAntenne);
$renderer->getTwig()->addGlobal('liste_users',$liste_users);
}
}
}

View File

@ -1,7 +1,10 @@
<?php
namespace App\Admin;
use App\Admin\Table\UserTable;
use App\Gmarche\Table\AntenneTable;
use Framework\Renderer\RendererInterface;
use Psr\Http\Message\ServerRequestInterface;
class DashboardAction
{
@ -10,22 +13,54 @@ class DashboardAction
* @var RendererInterface
*/
private $renderer;
/**
* @var AntenneTable
*/
private $antenneTable;
//private $widgets;
public function __construct(RendererInterface $renderer)
/**
* @var UserTable
*/
private $userTable;
public function __construct(
RendererInterface $renderer,
AntenneTable $antenneTable,
UserTable $userTable)
{
$this->renderer = $renderer;
// $this->widgets = $widgets;
$this->antenneTable = $antenneTable;
$this->userTable = $userTable;
}
public function __invoke()
/**
* @param ServerRequestInterface $request
* @return string
*/
public function __invoke(ServerRequestInterface $request)
{
if ($request->getMethod() === 'GET') {
/*$widgets = array_reduce($this->widgets, function (string $html, AdminWidgetInterface $widget) {
return $html . $widget->render();
}, '');*/
return $this->renderer->render('@admin/dashboard');
$this->renderer->addPath('admin', __DIR__ . '/views');
$page = $params['p'] ?? 1; // Si la page n'est pas définie, on l'initialise à 1
$liste_adminGeneral = $this->userTable->findAdminUsers('1');
$liste_adminAntenne = $this->userTable->findAdminUsers('2');
$liste_users_suivi = $this->userTable->findUsers('3');
$listeAntennes = $this->antenneTable->findAllAntennes();
if (!isset($_SESSION)) {
session_start();
}
if (isset($_SESSION['user'])) {
$nom_user = $_SESSION['user'];
$role = $_SESSION['role'];
} else {
$nom_user = '';
$role = '3';
}
return $this->renderer->render('@admin/dashboard',
compact('nom_user','role', 'liste_adminGeneral', 'liste_users_suivi',
'liste_adminAntenne', 'listeAntennes'));
}
}
}

View File

@ -0,0 +1,76 @@
<?php
namespace App\Admin;
use App\Auth\UserTable;
use App\Admin\Table\UserTable as UserTableAdmin;
use App\Gmarche\Table\AntenneTable;
use Framework\Auth;
use Framework\Renderer\RendererInterface;
use Psr\Http\Message\ServerRequestInterface;
class DashboardUserAction
{
/**
* @var RendererInterface
*/
private $renderer;
/**
* @var Auth
*/
private $auth;
/**
* @var AntenneTable
*/
private $antenneTable;
/**
* @var UserTable
*/
private $userTable;
public function __construct(
RendererInterface $renderer,
Auth $auth,
AntenneTable $antenneTable,
UserTable $userTable,
UserTableAdmin $userTableAdmin)
{
$this->renderer = $renderer;
$this->auth = $auth;
$this->antenneTable = $antenneTable;
$this->userTable = $userTable;
$this->userTableAdmin = $userTableAdmin;
}
/**
* @param ServerRequestInterface $request
* @return string
*/
public function __invoke(ServerRequestInterface $request)
{
if ($request->getMethod() === 'GET') {
$this->renderer->addPath('admin', __DIR__ . '/views');
$liste_users_suivi = $this->userTableAdmin->findUsers('3');
$username = $request->getAttribute('user');
$profil_user = $this->userTable->findBy('username', $username);
// var_dump($profil_user);
// die();
$listeAntennes = $this->antenneTable->findAllAntennes();
if (!isset($_SESSION)) {
session_start();
}
if (isset($_SESSION['user'])) {
$nom_user = $_SESSION['user'];
$role = $_SESSION['role'];
} else {
$nom_user = '';
$role = '3';
}
return $this->renderer->render('@admin/dashboard_user',
compact('nom_user','role','username','profil_user','liste_users_suivi','listeAntennes'));
}
}
}

View File

@ -29,4 +29,5 @@ class User
public $avatar;
public $suiviantenne;
}

View File

@ -3,6 +3,8 @@
namespace App\Admin\Table;
use App\Admin\Entity\User;
use App\Gmarche\Table\AntenneTable;
use App\Gmarche\Table\RegionTable;
use Framework\Database\Query;
use Framework\Database\Table;
@ -12,19 +14,50 @@ class UserTable extends Table
protected $table = 'users';
public function findList(): array
{
$results = $this->pdo
->query("SELECT id, name FROM {$this->table}")
->fetchAll(\PDO::FETCH_NUM);
$list = [];
foreach ($results as $result) {
$list[$result[0]] = $result[1];
}
return $list;
}
public function findAntennebyId(int $id_antenne): Query
{
$antenne = new AntenneTable($this->pdo);
return $this->makeQuery()
->select('a.name as nameAntenne')
->where("a.id = $id_antenne");
}
public function findUsers($role): Query
{
return $this->makeQuery()
->select('u.*')
->where("u.role = '".$role."'")
->order('u.username ASC');
}
/*public function findUsersSuivi($role): Query
{
$antenne = new AntenneTable($this->pdo);
return $this->makeQuery()
->join($antenne->getTable() . ' as a', 'substring(u.suiviantenne,1,1) = a.id')
->select('u.*,a.name as nameAntenne')
->where("u.role = '".$role."'")
->order('u.username, nameAntenne ASC');
}*/
public function findAdminUsers($role): Query
{
//$region = new RegionTable($this->pdo);
return $this->makeQuery()
->select('u.*')
->where("u.role = $role")
->order('u.username ASC');
}
public function findRole($username): Query
{
//$region = new RegionTable($this->pdo);
return $this->makeQuery()
return $this->makeQuery()
->select('u.role')
->where("u.username = $username");
}

View File

@ -1,59 +1,105 @@
{% extends '@admin/layout.twig' %}
{% extends 'layout.twig' %}
{% block title "Ğ1-Marché - Tableau de bord" %}
{% block body %}
<h3 style="display:inline-block;">Tableau de bord - </h3>
<h4 style="display:inline-block;">
{% if role == '0' %} Super Admin{% endif %}
{% if role == '1' %} Admin général{% endif %}
{% if role == '2' %} Admin Antenne{% endif %}
</h4>
</h3>
<p></p>
{% if role == '0' %}
<h4>Liste des admins généraux</h4>
<ul class="list-group list-group-flush">
{% for admin_gen in liste_adminGeneral %}
<a style="color:black;" href="" title="{{ admin_gen.username }}">
<li class="liste_antennes list-group-item" style="padding: .2rem 1.25rem;">
{{ admin_gen.username }}
</li>
</a>
{% endfor %}
</ul>
{% endif %}
{% if (role == '0' or role == '1') %}
<h4>Liste des admins Antenne</h4>
<ul class="list-group list-group-flush">
{% for admin_ant in liste_adminAntenne %}
<a style="color:black;" href="" title="{{ admin_ant.username }}">
<li class="liste_antennes list-group-item" style="padding: .2rem 1.25rem;">
{{ admin_ant.username }}
</li>
</a>
{% endfor %}
</ul>
{% endif %}
{% if (role == '0' or role == '1' or role == '2') %}
<h4>Liste des utilisateurs</h4>
<ul class="list-group list-group-flush">
{% for user in liste_users %}
<a style="color:black;" href="" title="{{ user.username }}">
<li class="liste_antennes list-group-item" style="padding: .2rem 1.25rem;">
{{ user.username }}
</li>
</a>
{% endfor %}
</ul>
{% endif %}
<p></p>
{% if (role == '0' or role == '1') %}
<h4>Gestion d'une antenne</h4>
{% endif %}
<p></p>
{% if (role == '0' or role == '1' or role == '2') %}
<h4>Gestion d'un G-Marché</h4>
{% endif %}
<div class="row">
{{ widgets | raw }}
<div class="container" style="color:floralwhite;background-color: #333333;padding: 1rem;">
<div class="container tab-de-bord">
<h3 style="display:inline-block;">Tableau de bord - </h3>
<h4 style="display:inline-block;">
{% if role == '0' %} Super Admin{% endif %}
{% if role == '1' %} Admin général{% endif %}
{% if role == '2' %} Admin Antenne{% endif %}
</h4>
</h3>
</div>
<p></p>
{% if role == '0' %}
<h4>Liste des admins généraux</h4>
<ul class="list-group list-group-flush">
{% for admin_gen in liste_adminGeneral %}
<a style="color:black;" href="" title="{{ admin_gen.username }}">
<li class="liste_antennes list-group-item" style="padding: .2rem 1.25rem;">
{{ admin_gen.username }}
</li>
</a>
{% endfor %}
</ul>
{% endif %}
<p></p>
{% if (role == '0' or role == '1') %}
<h4>Liste des admins Antenne</h4>
<ul class="list-group list-group-flush">
{% for admin_ant in liste_adminAntenne %}
<a style="color:black;" href="" title="{{ admin_ant.username }}">
<li class="liste_antennes list-group-item" style="padding: .2rem 1.25rem;">
{{ admin_ant.username }}
</li>
</a>
{% endfor %}
</ul>
{% endif %}
<p></p>
{% if (role == '0' or role == '1' or role == '2') %}
<h4>Liste des régions/antennes</h4>
<ul class="list-group list-group-flush">
{% set antenne = '' %}
{% set region = '' %}
{% for item in listeAntennes %}
{% if (item.regionName != region) %}
<li class="liste_antennes list-group-item" style="color:black;
background-color:lightgoldenrodyellow;padding: .2rem 1.25rem;">
{{ item.regionName }}
</li>
<a style="color:black;" href="" title="{{ item.regionName }}">
<li class="liste_antennes list-group-item" style="background-color:#8fbc8f;padding: .2rem 1.25rem;">
{{ item.antenneName }}
</li>
</a>
{% else %}
<a style="color:black;" href="" title="{{ item.regionName }}">
<li class="liste_antennes list-group-item" style="background-color:#8fbc8f;padding: .2rem 1.25rem;">
{{ item.antenneName }}
</li>
</a>
{% endif %}
{% set antenne = item.antenneName %}
{% set region = item.regionName %}
{% endfor %}
</ul>
{% endif %}
<p></p>
{% if (role == '0' or role == '1' or role == '2') %}
<h4>Liste des utilisateurs</h4>
<ul class="list-group list-group-flush">
{% for item2 in liste_users_suivi %}
<a style="color:black;" href="{{ path('dashboard.user',{user:item2.username}) }}" title="{{ item2.username }}">
<li class="liste_antennes list-group-item" style="padding: .2rem 1.25rem;">
{{ item2.username }}
{% set antenne_suivie = item2.suiviantenne|split('|') %}
{% for antenn in antenne_suivie %}
{% for item in listeAntennes %}
{% if (item.id == antenn) %}
- {{ item.antenneName }}
{% endif %}
{% endfor %}
{% endfor %}
</li>
</a>
{% endfor %}
</ul>
{% endif %}
<p></p>
{% if (role == '0' or role == '1') %}
<h4>Gestion d'une antenne</h4>
{% endif %}
<p></p>
{% if (role == '0' or role == '1' or role == '2') %}
<h4>Gestion d'un G-Marché</h4>
{% endif %}
<div class="row">
{{ widgets | raw }}
</div>
</div>
{% endblock %}

View File

@ -0,0 +1,63 @@
{% extends 'layout.twig' %}
{% block title "Ğ1-Marché - Tableau de bord User" %}
{% block body %}
<div class="container" style="color:floralwhite;background-color: #333333;padding: 1rem;">
<div class="container tab-de-bord">
<h3 style="display:inline-block;">Tableau de bord User - {{ username }}</h3>
</div>
<ul class="list-group list-group-flush">
<div class="container" style="color:black;background-color: lightgray;opacity: 0.9;margin: 1rem;padding:1rem;">
<form action="" method="post">
<button class="btn btn-primary">Désactiver l'utilisateur</button>
</form>
</div>
</ul>
<p></p>
<h4>Profil</h4>
<ul class="list-group list-group-flush">
<div class="container" style="color:black;background-color: lightgray;opacity: 0.9;margin: 1rem;padding:1rem;">
<form action="" method="post">
<!-- csrf_input() -->
{{ field('firstname', profil_user.firstname, 'Prénom') }}
{{ field('lastname', profil_user.lastname, 'Nom') }}
Adresse mail {{ profil_user.email }}<p></p>
Clé publique {{ profil_user.pubkey }}
<p></p>
<button class="btn btn-primary">Modifier les informations</button>
</form>
</div>
</ul>
<ul class="list-group list-group-flush">
<div class="container" style="color:black;background-color: lightgray;opacity: 0.9;margin: 1rem;padding:1rem;">
<form action="" method="post">
<button class="btn btn-primary">Renvoyer un mot de passe</button>
</form>
</div>
</ul>
<p></p>
<h4>Liste des antennes suivies</h4>
<ul class="list-group list-group-flush">
<li class="liste_antennes list-group-item" style="color:black;padding: .2rem 1.25rem;">
{% set antenne_suivie = profil_user.suiviantenne|split('|') %}
{% for antenne in antenne_suivie %}
{% for item in listeAntennes %}
{% if (item.id == antenne) %}
<li class="liste_antennes list-group-item" style="padding: .2rem 1.25rem;">
<a style="color:black;" href="" title="{{ item.antenneName }}">
{{ item.antenneName }}
</a>
</li>
{% endif %}
{% endfor %}
{% endfor %}
</li>
</ul>
<p></p>
</div>
{% endblock %}

View File

@ -26,13 +26,17 @@
{% if name_user != '' %}
<form method="post" style="margin-top:5px;" action="{{ path('account.profil') }}">
<span><img src="\avatar_user.png" width="22" height="22" /></span>
<button style="color:white;font-size: 14px;" class="btn-primary">{{ name_user }}</button>
<button style="color:white;font-size: 14px;" class="btn-primary">user = {{ name_user }}</button>
<button style="color:white;font-size: 14px;" class="btn-primary">user2 = {{ name_user2 }}</button>
</form>
<form method="post" action="{{ path('auth.logout') }}">
<!-- csrf_input() }}-->
<button class="btn btn-danger" style="margin-left: 7px; font-size:14px;">Se déconnecter</button>
</form>
{% else %}
<span style="color:white;">
name_user = {{ name_user }}
name_user2 = {{ name_user2 }}</span>
<div class="nav-item" id="bouton-connexion">
<button style="color:white; font-size: 14px;" class="btn btn-primary" data-toggle="modal" data-target="#connexion_modal">Se connecter</button>
</div>

View File

@ -52,7 +52,7 @@ class ForbiddenMiddleware implements MiddlewareInterface
public function redirectLogin(ServerRequestInterface $request): ResponseInterface
{
$this->session->set('auth.redirect', $request->getUri()->getPath());
(new FlashService($this->session))->error('Vous devez posséder un compte pour accéder à cette page');
//(new FlashService($this->session))->error('Vous devez posséder un compte pour accéder à cette page');
return new RedirectResponse($this->loginPath);
}
}

View File

@ -31,10 +31,12 @@ class ContactAction
}
if (isset($_SESSION['user'])) {
$nom_user = $_SESSION['user'];
$role = $_SESSION['role'];
} else {
$nom_user = '';
$role = '3';
}
return $this->renderer->render('@contact/contact',compact('nom_user'));
return $this->renderer->render('@contact/contact',compact('nom_user','role'));
}
}
}

View File

@ -3,14 +3,6 @@
{% block title "Ğ1-Marché - Contact" %}
{% block body %}
<style>
/*body .fond {
background-image: url("../../images/background_contacts.jpg");
background-repeat: no-repeat;
background-attachment:fixed;
background-position: center;
background-size: 100% auto;
font-family: Bree serif,"Helvetica Neue", Helvetica, Arial, sans-serif;
}*/
.main {
width: 900px;
font-family: "Bree Serif", Arial;
@ -91,6 +83,7 @@
</script>
{% endif %}
<div class="main" style="background:none;">
nom_user = {{ nom_user }}
<div class="header">
<img class="img_header" src="/images/logo_contacts.jpg" style="width: 294px;height: 294px;" alt="Ğ1-Marché" title="Logo Contact" />
</div>

View File

@ -12,7 +12,6 @@ class AntenneTable extends Table
protected $table = 'antennes';
public function findAllbyRegion(int $region_id): Query
{
$region = new RegionTable($this->pdo);
@ -22,22 +21,12 @@ class AntenneTable extends Table
->where("a.region_id = $region_id")
->order('a.name ASC');
}
/* public function getAntenne(string $antenne_slug): Query
public function findAllAntennes(): Query
{
//$antenne = new AntenneTable($this->pdo);
return $this->makeQuery()
->select('a.*')
->where("a.slug = $antenne_slug")
->order('a.name ASC');
$region = new RegionTable($this->pdo);
return $this->makeQuery()
->join($region->getTable() . ' as r', 'a.region_id = r.id')
->select('a.id, r.name as regionName, a.name as antenneName')
->order('r.name, a.name ASC');
}
public function findPublic(): Query
{
return $this->findAll();
}
public function findWithAntenne(int $antenne_slug): Antenne
{
return $this->findPublic()->where("a.slug = $antenne_slug")->fetch();
}*/
}

View File

@ -46,13 +46,14 @@
</li>
{% if role=='0' or role=='1' or role=='2' %}
<li class="nav-item">
<a class="nav-link {% if admin %} active{% endif %}" style="font-size:14px;"
href="{{ path('admin') }}">Administration</a>
<a class="nav-link {% if explodeUrl()[1]=='dashboard' %} active{% endif %}" style="font-size:14px;"
href="{{ path('dashboard') }}">Administration</a>
</li>
{% endif %}
<li class="nav-item">
<a class="nav-link {% if explodeUrl()[1]=='contact' %} active{% endif %}" style="font-size:14px;"
href="{{ path('contact') }}">Qui sommes-nous ?</a>
href="{{ path('contact') }}">Qui sommes-nous ?
</a>
</li>
</ul>
<div class="navbar-nav">