Merge master sur backend-admin
This commit is contained in:
commit
623b19631e
|
@ -1,8 +1,11 @@
|
||||||
config/config.php
|
config/config.php
|
||||||
|
scripts/.loc_hash
|
||||||
.idea
|
.idea
|
||||||
public/uploads
|
public/uploads/*
|
||||||
|
!public/uploads/default.png
|
||||||
tmp
|
tmp
|
||||||
vendor
|
vendor
|
||||||
composer.json
|
composer.json
|
||||||
composer.lock
|
composer.lock
|
||||||
src/Framework/SwiftMailerFactory.php
|
src/Framework/SwiftMailerFactory.php
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,19 @@
|
||||||
.mapael .map {
|
.mapael .map {
|
||||||
background-color: #cddee0;
|
background-color: rgba(0, 0, 0, 0.3);
|
||||||
|
padding: 15px;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
width: 60%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
border-radius: 10%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.home_map {
|
||||||
|
font-size:1.2rem;
|
||||||
|
font-weight:bold;
|
||||||
|
}
|
||||||
|
|
||||||
/* For all zoom buttons */
|
/* For all zoom buttons */
|
||||||
.mapael .zoomButton {
|
.mapael .zoomButton {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
|
@ -38,7 +49,7 @@
|
||||||
}
|
}
|
||||||
.mapael .mapTooltip {
|
.mapael .mapTooltip {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
background-color: #474c4b;
|
background-color: #1D1D1D;
|
||||||
moz-opacity: 0.70;
|
moz-opacity: 0.70;
|
||||||
opacity: 0.70;
|
opacity: 0.70;
|
||||||
filter: alpha(opacity=70);
|
filter: alpha(opacity=70);
|
||||||
|
|
|
@ -0,0 +1,82 @@
|
||||||
|
.container_main {
|
||||||
|
background-color: #2E2E2E;
|
||||||
|
}
|
||||||
|
.tableau {
|
||||||
|
width:100%;
|
||||||
|
background-color: white;
|
||||||
|
table-layout: fixed;
|
||||||
|
border-collapse: collapse;
|
||||||
|
/* border-spacing: 1px; // pour contrer les style de base */
|
||||||
|
}
|
||||||
|
/* Entête */
|
||||||
|
.tableau th {
|
||||||
|
border-spacing: 0;
|
||||||
|
border-collapse: collapse;
|
||||||
|
padding: 0rem;
|
||||||
|
text-align: center;
|
||||||
|
border-left: lightgray 1px solid;
|
||||||
|
background-color:#999690;
|
||||||
|
color:#fff;
|
||||||
|
}
|
||||||
|
.tableau .colonne_image {
|
||||||
|
padding: 0; !important;
|
||||||
|
}
|
||||||
|
.tableau td {
|
||||||
|
border-bottom: solid 1px black;
|
||||||
|
border-left: lightgray 1px solid;
|
||||||
|
padding-left: 0.7rem;
|
||||||
|
}
|
||||||
|
.align_droite {
|
||||||
|
|
||||||
|
text-align: right;
|
||||||
|
padding-right: 2rem;
|
||||||
|
}
|
||||||
|
.breadcrumb {
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toggle_radio {
|
||||||
|
position: relative;
|
||||||
|
background: rgba(0,0,0,.1);
|
||||||
|
margin: -3px auto 4px 10px;
|
||||||
|
overflow: hidden;
|
||||||
|
padding: 0 !important;
|
||||||
|
border-radius: 50px;
|
||||||
|
height: 28px;
|
||||||
|
width: 215px;
|
||||||
|
}
|
||||||
|
.toggle_radio > * {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.toggle_radio input[type=radio]{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.toggle_radio label{
|
||||||
|
color: rgba(0,0,0,.9);
|
||||||
|
z-index: 0;
|
||||||
|
display: block;
|
||||||
|
width: 100px;
|
||||||
|
height: 20px;
|
||||||
|
margin: 3px 3px;
|
||||||
|
border-radius: 50px;
|
||||||
|
cursor: pointer;
|
||||||
|
z-index: 1;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.toggle_option_slider{
|
||||||
|
width: 100px;
|
||||||
|
height: 20px;
|
||||||
|
position: absolute;
|
||||||
|
top: 4px;
|
||||||
|
border-radius: 50px;
|
||||||
|
transition: all .4s ease;
|
||||||
|
}
|
||||||
|
|
||||||
|
#first_toggle:checked ~ .toggle_option_slider{
|
||||||
|
background: rgba(0,0,0,.3);
|
||||||
|
left: 3px;
|
||||||
|
}
|
||||||
|
#second_toggle:checked ~ .toggle_option_slider{
|
||||||
|
background: rgba(0,0,0,.3);
|
||||||
|
left: 109px;
|
||||||
|
}
|
|
@ -19,10 +19,19 @@ btn-custom {
|
||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#logo_home {
|
||||||
|
width:30rem;
|
||||||
|
margin: 0 auto;
|
||||||
|
margin-top: -15px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
img {
|
img {
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
height: auto;
|
height: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
#la_page {
|
#la_page {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
width: 1174px;
|
width: 1174px;
|
||||||
|
@ -30,6 +39,7 @@ img {
|
||||||
height:auto;
|
height:auto;
|
||||||
margin-left: auto;
|
margin-left: auto;
|
||||||
margin-right: auto;
|
margin-right: auto;
|
||||||
|
opacity:0.9;
|
||||||
}
|
}
|
||||||
|
|
||||||
#la_page a {
|
#la_page a {
|
||||||
|
@ -58,7 +68,9 @@ li {
|
||||||
background-size: 100% auto;
|
background-size: 100% auto;
|
||||||
font-family: Bree Serif, Arial, sans-serif;
|
font-family: Bree Serif, Arial, sans-serif;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
|
opacity:0.97;
|
||||||
}
|
}
|
||||||
|
|
||||||
header.header {
|
header.header {
|
||||||
width: 389px;
|
width: 389px;
|
||||||
height: 259px;
|
height: 259px;
|
||||||
|
@ -86,19 +98,24 @@ header.header img {
|
||||||
font-size: 26px;
|
font-size: 26px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.article {
|
.article .article2 {
|
||||||
width:auto;
|
|
||||||
height:auto;
|
|
||||||
font-size: 24px;
|
|
||||||
}
|
|
||||||
.article2 {
|
|
||||||
width:auto;
|
width:auto;
|
||||||
height:auto;
|
height:auto;
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
font-family: Arial, sans-serif;
|
font-family: Arial, sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.container.home {
|
||||||
|
font-family: Arial, sans-serif;
|
||||||
|
height:auto;
|
||||||
|
width:60rem;
|
||||||
|
text-align:center;
|
||||||
|
border: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
.profil_user {
|
.profil_user {
|
||||||
height: 400px;
|
height: 400px;
|
||||||
width: 900px;
|
width: 900px;
|
||||||
|
|
|
@ -2,23 +2,23 @@
|
||||||
session_start();
|
session_start();
|
||||||
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 = $_SESSION['user'];
|
||||||
$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
|
||||||
$data = '<table class="table table-bordered table-striped">
|
$data = '<table class="table table-bordered table-striped">
|
||||||
<tr style="color: black;">
|
<tr style="color: black;">
|
||||||
<th>No.</th>
|
<th>No.</th>
|
||||||
<th>Bien / service</th>
|
<th>Bien / service</th>
|
||||||
<th>Photo</th>
|
<th>Photo</th>
|
||||||
<th>Vendeur</th>
|
<th>Vendeur</th>
|
||||||
<th>Clé publique</th>
|
<th>Clé publique</th>
|
||||||
<th>Quantité</th>
|
<th>Quantité</th>
|
||||||
<th>Prix en junes</th>';
|
<th>Prix en junes</th>';
|
||||||
|
|
||||||
$params["antenne_slug"] = $antenne_slug;
|
$params["antenne_slug"] = $antenne_slug;
|
||||||
$requete = "SELECT products.*, users.username, users.pubkey
|
$requete = "SELECT products.*, users.username, users.pubkey
|
||||||
FROM products
|
FROM products
|
||||||
LEFT JOIN antennes
|
LEFT JOIN antennes
|
||||||
ON antennes.id = products.antenne_id
|
ON antennes.id = products.antenne_id
|
||||||
|
@ -49,49 +49,61 @@ if ($count > 0)
|
||||||
|
|
||||||
$data .= "<tr style='background:lightblue;color:black;'>
|
$data .= "<tr style='background:lightblue;color:black;'>
|
||||||
<td>$number</td>";
|
<td>$number</td>";
|
||||||
$prix = $row['prix'];
|
|
||||||
$vendeur = $row['username'];
|
$prix = $row['prix'];
|
||||||
$produit = $row['name'];
|
$vendeur = $row['username'];
|
||||||
$pubkey = $row['pubkey'];
|
$quantite = $row['quantite'];
|
||||||
$pubkeyShort = substr($pubkey, 0, 8);
|
if ($quantite == "0") {
|
||||||
$vendeur_format = "<a target=\"_blank\" href=\"https://g1.duniter.fr/#/app/wot/$pubkey/\">$vendeur</a>";
|
$produit = "[Vendu] ";
|
||||||
$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>";
|
} else {
|
||||||
$data .= '<td>'.$produit.'</td>';
|
$produit = "";
|
||||||
$data .= '<td><img src="/uploads/products/'.$antenne_slug.'/'.$row['image'].'" width="100" height="100" /></td>';
|
}
|
||||||
$data .= '<td>'.$vendeur_format.'</td>';
|
$produit .= $row['name'];
|
||||||
$data .= '<td>'.$cle_pub_format.'</td>';
|
$pubkey = $row['pubkey'];
|
||||||
$data .= '<td>'.$row['quantite'].'</td>';
|
$pubkeyShort = substr($pubkey, 0, 8);
|
||||||
$data .= '<td>'.$prix.'</td>';
|
$vendeur_format = "<a target=\"_blank\" href=\"https://g1.duniter.fr/#/app/wot/$pubkey/\">$vendeur</a>";
|
||||||
if ($row['username'] == $nom_connecte ) {
|
$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>';
|
$data .= '<td>'.$produit.'</td>';
|
||||||
$data .= '<button onclick="GetProduitsDetails(\'';
|
$imagep = '../uploads/products/'.$antenne_slug.'/'.$row['image'].'';
|
||||||
$data .= $row['id'];
|
if (file_exists($imagep) && $row['image']) {
|
||||||
$data .= "'";
|
$data .= '<td><img src="/uploads/products/'.$antenne_slug.'/'.$row['image'].'" width="100" height="100" /></td>';
|
||||||
$data .= ',';
|
} else {
|
||||||
$data .= "'$antenne_slug'";
|
$data .= '<td><img src="/uploads/default.png" width="30" height="30" /></td>';
|
||||||
$data .= ",'";
|
}
|
||||||
$data .= $row['image'];
|
$data .= '<td>'.$vendeur_format.'</td>';
|
||||||
$data .= "'";
|
$data .= '<td>'.$cle_pub_format.'</td>';
|
||||||
$data .= ')" class=\'btn btn-primary\'';
|
$data .= '<td>'.$quantite.'</td>';
|
||||||
$data .= '>Modifier';
|
$data .= '<td>'.$prix.'</td>';
|
||||||
$data .= '</button>';
|
if ($row['username'] == $nom_connecte ) {
|
||||||
$data .= '</td><td>';
|
$data .= '<td>';
|
||||||
$data .= '<button onclick="DeleteProduits(\'';
|
$data .= '<button onclick="GetProduitsDetails(\'';
|
||||||
$data .= $row['id'];
|
$data .= $row['id'];
|
||||||
$data .= "'";
|
$data .= "'";
|
||||||
$data .= ',';
|
$data .= ',';
|
||||||
$data .= "'$antenne_slug'";
|
$data .= "'$antenne_slug'";
|
||||||
$data .= ",'";
|
$data .= ",'";
|
||||||
$data .= $row['image'];
|
$data .= $row['image'];
|
||||||
$data .= "'";
|
$data .= "'";
|
||||||
$data .= ')" class=\'btn btn-danger\'';
|
$data .= ')" class=\'btn btn-primary\'';
|
||||||
$data .= '>Supprimer</button>';
|
$data .= '>Modifier';
|
||||||
$data .= '</td>';
|
$data .= '</button>';
|
||||||
} else {
|
$data .= '</td><td>';
|
||||||
if ($affich_actions) {
|
$data .= '<button onclick="DeleteProduits(\'';
|
||||||
$data .= '<td></td><td></td>';
|
$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>';
|
$data .= '</tr>';
|
||||||
$number++;
|
$number++;
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,7 +55,12 @@
|
||||||
$vendeur_format = "<a target=\"_blank\" href=\"https://g1.duniter.fr/#/app/wot/$pubkey/\">$vendeur</a>";
|
$vendeur_format = "<a target=\"_blank\" href=\"https://g1.duniter.fr/#/app/wot/$pubkey/\">$vendeur</a>";
|
||||||
$pubkeyShort = substr($pubkey, 0, 8);
|
$pubkeyShort = substr($pubkey, 0, 8);
|
||||||
$data .= '<td>'.$produit.'</td>';
|
$data .= '<td>'.$produit.'</td>';
|
||||||
$data .= '<td><img src="/uploads/recherches/'.$antenne_slug.'/'.$row['image'].'" width="100" height="100" /></td>';
|
$imagep = '../uploads/recherches/'.$antenne_slug.'/'.$row['image'].'';
|
||||||
|
if (file_exists($imagep) && $row['image']) {
|
||||||
|
$data .= '<td><img src="/uploads/recherches/'.$antenne_slug.'/'.$row['image'].'" width="100" height="100" /></td>';
|
||||||
|
} else {
|
||||||
|
$data .= '<td><img src="/uploads/default.png" width="30" height="30" /></td>';
|
||||||
|
}
|
||||||
$data .= '<td>'.$vendeur_format.'</td>';
|
$data .= '<td>'.$vendeur_format.'</td>';
|
||||||
$data .= '<td>'.$pubkeyShort.'...</td>';
|
$data .= '<td>'.$pubkeyShort.'...</td>';
|
||||||
$data .= '<td>'.$row['quantite'].'</td>';
|
$data .= '<td>'.$row['quantite'].'</td>';
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 10 KiB |
|
@ -0,0 +1,63 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
[ "$EUID" -ne 0 ] && sudo="sudo" || sudo=""
|
||||||
|
SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
|
||||||
|
|
||||||
|
start=`date +%s`
|
||||||
|
date=$(date +'%d-%m-%y à %H:%M')
|
||||||
|
echo "### $date ###"
|
||||||
|
|
||||||
|
## Initialisation
|
||||||
|
DUNITER=$(grep g1_node $SCRIPTPATH/../config/config.php | awk '{ print $3}' | tr -d ';' | tr -d "'")
|
||||||
|
TXBLOCKS=$(curl -s $DUNITER/blockchain/with/tx | jq '.result.blocks[]')
|
||||||
|
TXBLOCKS=$(echo "$TXBLOCKS" | tail -n 2 | tr '\n' ' ')
|
||||||
|
keyword="\[Achat GMarche] : "
|
||||||
|
[ ! -e $SCRIPTPATH/.loc_hash ] && touch $SCRIPTPATH/.loc_hash
|
||||||
|
|
||||||
|
## Récupération des transactions avec commentaire GMarche
|
||||||
|
|
||||||
|
for i in $TXBLOCKS; do
|
||||||
|
result=$(curl -s $DUNITER/blockchain/block/$i | jq '.transactions[].hash, .transactions[].comment' | grep -v '""' | tr -d '"' | grep -B1 "$keyword")
|
||||||
|
rhash=$(echo "$result" | head -n1)
|
||||||
|
rcom=$(echo "$result" | tail -n1)
|
||||||
|
if [[ ! -z $result && -z $(grep $rhash $SCRIPTPATH/.loc_hash) ]]; then
|
||||||
|
isSell+=$(echo -e "$rcom;")
|
||||||
|
echo "$rhash" >> $SCRIPTPATH/.loc_hash
|
||||||
|
fi
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
|
||||||
|
## Ajout des transactions en piscine pour les users GMarche
|
||||||
|
|
||||||
|
req="SELECT pubkey FROM users;"
|
||||||
|
usersPubkeys=$($sudo mysql --database gmarche -e "$req" | grep .)
|
||||||
|
|
||||||
|
for i in $usersPubkeys; do
|
||||||
|
result=$(curl -s $DUNITER/tx/history/$i/pending | jq '. | select(.history.sending == [])' | jq '.history.pending[].hash,.history.pending[].comment' | tr -d '"')
|
||||||
|
rhash=$(echo "$result" | head -n1)
|
||||||
|
rcom=$(echo "$result" | tail -n1)
|
||||||
|
if [[ ! -z $result && -z $(grep $rhash $SCRIPTPATH/.loc_hash) ]]; then
|
||||||
|
isSell+=$(echo -e "$rcom;")
|
||||||
|
echo "$rhash" >> $SCRIPTPATH/.loc_hash
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
## Retrait de l'identifiant gmarche des commentaires
|
||||||
|
isSell=$(echo $isSell | sed "s/$keyword//g")
|
||||||
|
|
||||||
|
[[ ! -z $isSell ]] && echo "$isSell est vendu"
|
||||||
|
|
||||||
|
## Retrait d'un quantité pour les articles vendu
|
||||||
|
IFS=';'; ADDR=($isSell); unset IFS;
|
||||||
|
for i in "${ADDR[@]}"; do
|
||||||
|
#req="UPDATE products SET status = 'solde' WHERE name = '$i';"
|
||||||
|
req="UPDATE products SET quantite = CASE WHEN quantite = 0 THEN quantite ELSE quantite - 1 END WHERE name = '$i';"
|
||||||
|
$sudo mysql --database gmarche -e "$req"
|
||||||
|
done
|
||||||
|
|
||||||
|
#$sudo mysql --database gmarche -e "SELECT name,status FROM products;"
|
||||||
|
|
||||||
|
end=`date +%s`
|
||||||
|
runtime=$((end-start))
|
||||||
|
echo "Temps d'execution: ${runtime}s"
|
||||||
|
exit 0
|
|
@ -57,7 +57,6 @@ class LoginAttemptAction
|
||||||
session_start();
|
session_start();
|
||||||
}
|
}
|
||||||
$_SESSION['role'] = $this->userTable->findRole($params['username']);
|
$_SESSION['role'] = $this->userTable->findRole($params['username']);
|
||||||
//$nom_user = $_SESSION['user'] = $params['username'];
|
|
||||||
$_SESSION['user'] = $params['username'];
|
$_SESSION['user'] = $params['username'];
|
||||||
$path = $this->session->get('auth.redirect') ?: $this->router->generateUri('gmarche.index');
|
$path = $this->session->get('auth.redirect') ?: $this->router->generateUri('gmarche.index');
|
||||||
$this->session->delete('auth.redirect');
|
$this->session->delete('auth.redirect');
|
||||||
|
|
|
@ -4,9 +4,9 @@
|
||||||
Ğ1-Marché : Régions {% if page > 1 %}, page {{ page }} {% endif %}
|
Ğ1-Marché : Régions {% if page > 1 %}, page {{ page }} {% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
{% block body %}
|
{% block body %}
|
||||||
<div class="container" style="height:auto; width:28rem; text-align:center;border: 0px">
|
<div class="container home">
|
||||||
<img src="\images\logo_home.jpg" style="width:22rem;"/>
|
<img id="logo_home" src="\images\logo_home.jpg"/>
|
||||||
<div class="row card" style="width:28rem;margin-left: -5.1rem;">
|
|
||||||
<ul class="list-group list-group-flush">
|
<ul class="list-group list-group-flush">
|
||||||
<div class="mapcontainer">
|
<div class="mapcontainer">
|
||||||
<div class="map">
|
<div class="map">
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
</div>
|
</div>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(".container").mapael({
|
$(".container").mapael({
|
||||||
map: {
|
map: {
|
||||||
|
@ -27,14 +27,15 @@
|
||||||
},
|
},
|
||||||
defaultArea: {
|
defaultArea: {
|
||||||
attrs: {
|
attrs: {
|
||||||
'fill': 'green',
|
'fill': '#517C2D',
|
||||||
'stroke': '#99c7ff',
|
'stroke': '#F5D6C6',
|
||||||
'stroke-width': 0.6,
|
'stroke-width': 0.6,
|
||||||
'cursor': 'pointer'
|
'cursor': 'pointer'
|
||||||
},
|
},
|
||||||
attrsHover: {
|
attrsHover: {
|
||||||
'stroke-width': 2.5,
|
'stroke-width': 2.5,
|
||||||
'fill': 'blue'
|
'fill': '#3b7dd8',
|
||||||
|
'animDuration' : 100
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -42,67 +43,67 @@
|
||||||
'region-84': {
|
'region-84': {
|
||||||
value: "Auvergne-Rhône-Alpes",
|
value: "Auvergne-Rhône-Alpes",
|
||||||
href: "france/auvergne-rhone-alpes",
|
href: "france/auvergne-rhone-alpes",
|
||||||
tooltip: {content: "<span style=\"font-size:1.2rem;font-weight:bold;\">Auvergne-Rhône-Alpes</span>"}
|
tooltip: {content: "<span class='home_map'> Auvergne-Rhône-Alpes</span>"}
|
||||||
},
|
},
|
||||||
'region-53': {
|
'region-53': {
|
||||||
value: "Bretagne",
|
value: "Bretagne",
|
||||||
href: "france/bretagne",
|
href: "france/bretagne",
|
||||||
tooltip: {content: "<span style=\"font-size:1.2rem;font-weight:bold;\">Bretagne</span>"}
|
tooltip: {content: "<span class='home_map'>Bretagne</span>"}
|
||||||
},
|
},
|
||||||
'region-27': {
|
'region-27': {
|
||||||
value: "Bourgogne-Franche-Comté",
|
value: "Bourgogne-Franche-Comté",
|
||||||
href: "france/bourgogne-franche-comte",
|
href: "france/bourgogne-franche-comte",
|
||||||
tooltip: {content: "<span style=\"font-size:1.2rem;font-weight:bold;\">Bourgogne-Franche-Comté</span>"}
|
tooltip: {content: "<span class='home_map'>Bourgogne-Franche-Comté</span>"}
|
||||||
},
|
},
|
||||||
'region-24': {
|
'region-24': {
|
||||||
value: "Centre-Val de Loire",
|
value: "Centre-Val de Loire",
|
||||||
href: "france/centre-val-de-loire",
|
href: "france/centre-val-de-loire",
|
||||||
tooltip: {content: "<span style=\"font-size:1.2rem;font-weight:bold;\">Centre-Val de Loire</span>"}
|
tooltip: {content: "<span class='home_map'>Centre-Val de Loire</span>"}
|
||||||
},
|
},
|
||||||
'region-94': {
|
'region-94': {
|
||||||
value: "Corse",
|
value: "Corse",
|
||||||
href: "france/corse",
|
href: "france/corse",
|
||||||
tooltip: {content: "<span style=\"font-size:1.2rem;font-weight:bold;\">Corse</span>"}
|
tooltip: {content: "<span class='home_map'>Corse</span>"}
|
||||||
},
|
},
|
||||||
'region-44': {
|
'region-44': {
|
||||||
value: "Grand-Est",
|
value: "Grand-Est",
|
||||||
href: "france/grand-est",
|
href: "france/grand-est",
|
||||||
tooltip: {content: "<span style=\"font-size:1.2rem;font-weight:bold;\">Grand-Est</span>"}
|
tooltip: {content: "<span class='home_map'>Grand-Est</span>"}
|
||||||
},
|
},
|
||||||
'region-32': {
|
'region-32': {
|
||||||
value: "Hauts-de-France",
|
value: "Hauts-de-France",
|
||||||
href: "france/hauts-de-france",
|
href: "france/hauts-de-france",
|
||||||
tooltip: {content: "<span style=\"font-size:1.2rem;font-weight:bold;\">Hauts-de-France</span>"}
|
tooltip: {content: "<span class='home_map'>Hauts-de-France</span>"}
|
||||||
},
|
},
|
||||||
'region-11': {
|
'region-11': {
|
||||||
value: "Ile-de-France",
|
value: "Ile-de-France",
|
||||||
href: "france/ile-de-france",
|
href: "france/ile-de-france",
|
||||||
tooltip: {content: "<span style=\"font-size:1.2rem;font-weight:bold;\">Ile-de-France</span>"}
|
tooltip: {content: "<span class='home_map'>Ile-de-France</span>"}
|
||||||
},
|
},
|
||||||
'region-28': {
|
'region-28': {
|
||||||
value: "Normandie",
|
value: "Normandie",
|
||||||
href: "france/normandie",
|
href: "france/normandie",
|
||||||
tooltip: {content: "<span style=\"font-size:1.2rem;font-weight:bold;\">Normandie</span>"}
|
tooltip: {content: "<span class='home_map'>Normandie</span>"}
|
||||||
},
|
},
|
||||||
'region-75': {
|
'region-75': {
|
||||||
value: "Nouvelle-Aquitaine",
|
value: "Nouvelle-Aquitaine",
|
||||||
href: "france/nouvelle-aquitaine",
|
href: "france/nouvelle-aquitaine",
|
||||||
tooltip: {content: "<span style=\"font-size:1.2rem;font-weight:bold;\">Nouvelle-Aquitaine</span>"}
|
tooltip: {content: "<span class='home_map'>Nouvelle-Aquitaine</span>"}
|
||||||
},
|
},
|
||||||
'region-76': {
|
'region-76': {
|
||||||
value: "Occitanie",
|
value: "Occitanie",
|
||||||
href: "france/occitanie",
|
href: "france/occitanie",
|
||||||
tooltip: {content: "<span style=\"font-size:1.2rem;font-weight:bold;\">Occitanie</span>"}
|
tooltip: {content: "<span class='home_map'>Occitanie</span>"}
|
||||||
},
|
},
|
||||||
'region-52': {
|
'region-52': {
|
||||||
value: "Pays de la Loire",
|
value: "Pays de la Loire",
|
||||||
href: "france/pays-de-la-loire",
|
href: "france/pays-de-la-loire",
|
||||||
tooltip: {content: "<span style=\"font-size:1.2rem;font-weight:bold;\">Pays de la Loire</span>"}
|
tooltip: {content: "<span class='home_map'>Pays de la Loire</span>"}
|
||||||
},
|
},
|
||||||
'region-93': {
|
'region-93': {
|
||||||
value: "Provence-Alpes-Côte d'Azur",
|
value: "Provence-Alpes-Côte d'Azur",
|
||||||
href: "france/provence-alpes-cote-d-azur",
|
href: "france/provence-alpes-cote-d-azur",
|
||||||
tooltip: {content: "<span style=\"font-size:1.2rem;font-weight:bold;\">Provence-Alpes-Côte d'Azur</span>"}
|
tooltip: {content: "<span class='home_map'>Provence-Alpes-Côte d'Azur</span>"}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -2,91 +2,10 @@
|
||||||
{% extends 'layout.twig' %}
|
{% extends 'layout.twig' %}
|
||||||
{% block title "Ğ1-Marché - Produits" %}
|
{% block title "Ğ1-Marché - Produits" %}
|
||||||
|
|
||||||
|
|
||||||
{% block body %}
|
{% block body %}
|
||||||
<style>
|
|
||||||
.tableau {
|
|
||||||
width:100%;
|
|
||||||
background-color: white;
|
|
||||||
table-layout: fixed;
|
|
||||||
border-collapse: collapse;
|
|
||||||
/* border-spacing: 1px; // pour contrer les style de base */
|
|
||||||
}
|
|
||||||
/* Entête */
|
|
||||||
.tableau th {
|
|
||||||
border-spacing: 0;
|
|
||||||
border-collapse: collapse;
|
|
||||||
padding: 0rem;
|
|
||||||
text-align: center;
|
|
||||||
border-left: lightgray 1px solid;
|
|
||||||
background-color:#999690;
|
|
||||||
color:#fff;
|
|
||||||
}
|
|
||||||
.tableau .colonne_image {
|
|
||||||
padding: 0; !important;
|
|
||||||
}
|
|
||||||
.tableau td {
|
|
||||||
border-bottom: solid 1px black;
|
|
||||||
border-left: lightgray 1px solid;
|
|
||||||
padding-left: 0.7rem;
|
|
||||||
}
|
|
||||||
.align_droite {
|
|
||||||
|
|
||||||
text-align: right;
|
|
||||||
padding-right: 2rem;
|
|
||||||
}
|
|
||||||
.breadcrumb {
|
|
||||||
font-size: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.toggle_radio {
|
|
||||||
position: relative;
|
|
||||||
background: rgba(0,0,0,.1);
|
|
||||||
margin: -3px auto 4px 10px;
|
|
||||||
overflow: hidden;
|
|
||||||
padding: 0 !important;
|
|
||||||
border-radius: 50px;
|
|
||||||
height: 28px;
|
|
||||||
width: 215px;
|
|
||||||
}
|
|
||||||
.toggle_radio > * {
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
.toggle_radio input[type=radio]{
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.toggle_radio label{
|
|
||||||
color: rgba(0,0,0,.9);
|
|
||||||
z-index: 0;
|
|
||||||
display: block;
|
|
||||||
width: 100px;
|
|
||||||
height: 20px;
|
|
||||||
margin: 3px 3px;
|
|
||||||
border-radius: 50px;
|
|
||||||
cursor: pointer;
|
|
||||||
z-index: 1;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.toggle_option_slider{
|
|
||||||
width: 100px;
|
|
||||||
height: 20px;
|
|
||||||
position: absolute;
|
|
||||||
top: 4px;
|
|
||||||
border-radius: 50px;
|
|
||||||
transition: all .4s ease;
|
|
||||||
}
|
|
||||||
|
|
||||||
#first_toggle:checked ~ .toggle_option_slider{
|
|
||||||
background: rgba(0,0,0,.3);
|
|
||||||
left: 3px;
|
|
||||||
}
|
|
||||||
#second_toggle:checked ~ .toggle_option_slider{
|
|
||||||
background: rgba(0,0,0,.3);
|
|
||||||
left: 109px;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
<script type="text/javascript" src="/js/script.js"></script>
|
<script type="text/javascript" src="/js/script.js"></script>
|
||||||
<div class="container_main" style="background-color: black;">
|
<div class="container_main">
|
||||||
<!-- Fil d'Ariane -->
|
<!-- Fil d'Ariane -->
|
||||||
<div class="breadcrumbs" >
|
<div class="breadcrumbs" >
|
||||||
<nav aria-label="breadcrumb">
|
<nav aria-label="breadcrumb">
|
||||||
|
|
|
@ -3,91 +3,8 @@
|
||||||
{% block title "Ğ1-Marché - Recherches" %}
|
{% block title "Ğ1-Marché - Recherches" %}
|
||||||
|
|
||||||
{% block body %}
|
{% block body %}
|
||||||
<style>
|
|
||||||
.tableau {
|
|
||||||
width:100%;
|
|
||||||
background-color: white;
|
|
||||||
table-layout: fixed;
|
|
||||||
border-collapse: collapse;
|
|
||||||
/* border-spacing: 1px; // pour contrer les style de base */
|
|
||||||
}
|
|
||||||
/* Entête */
|
|
||||||
.tableau th {
|
|
||||||
border-spacing: 0;
|
|
||||||
border-collapse: collapse;
|
|
||||||
padding: 0rem;
|
|
||||||
text-align: center;
|
|
||||||
border-left: lightgray 1px solid;
|
|
||||||
background-color:#999690;
|
|
||||||
color:#fff;
|
|
||||||
}
|
|
||||||
.tableau .colonne_image {
|
|
||||||
padding: 0; !important;
|
|
||||||
}
|
|
||||||
.tableau td {
|
|
||||||
border-bottom: solid 1px black;
|
|
||||||
border-left: lightgray 1px solid;
|
|
||||||
padding-left: 0.7rem;
|
|
||||||
}
|
|
||||||
.align_droite {
|
|
||||||
|
|
||||||
text-align: right;
|
|
||||||
padding-right: 2rem;
|
|
||||||
}
|
|
||||||
.breadcrumb {
|
|
||||||
font-size: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.toggle_radio {
|
|
||||||
position: relative;
|
|
||||||
background: rgba(0,0,0,.1);
|
|
||||||
margin: -3px auto 4px 10px;
|
|
||||||
overflow: hidden;
|
|
||||||
padding: 0 !important;
|
|
||||||
border-radius: 50px;
|
|
||||||
height: 28px;
|
|
||||||
width: 215px;
|
|
||||||
}
|
|
||||||
.toggle_radio > * {
|
|
||||||
float: left;
|
|
||||||
}
|
|
||||||
.toggle_radio input[type=radio]{
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.toggle_radio label{
|
|
||||||
/* font: 90%/1.618 "Source Sans Pro";*/
|
|
||||||
color: rgba(0,0,0,.9);
|
|
||||||
z-index: 0;
|
|
||||||
display: block;
|
|
||||||
width: 100px;
|
|
||||||
height: 20px;
|
|
||||||
margin: 3px 3px;
|
|
||||||
border-radius: 50px;
|
|
||||||
cursor: pointer;
|
|
||||||
z-index: 1;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.toggle_option_slider{
|
|
||||||
width: 100px;
|
|
||||||
height: 20px;
|
|
||||||
position: absolute;
|
|
||||||
top: 4px;
|
|
||||||
border-radius: 50px;
|
|
||||||
transition: all .4s ease;
|
|
||||||
}
|
|
||||||
|
|
||||||
#first_toggle:checked ~ .toggle_option_slider{
|
|
||||||
background: rgba(0,0,0,.3);
|
|
||||||
left: 3px;
|
|
||||||
}
|
|
||||||
#second_toggle:checked ~ .toggle_option_slider{
|
|
||||||
background: rgba(0,0,0,.3);
|
|
||||||
left: 109px;
|
|
||||||
}
|
|
||||||
|
|
||||||
</style>
|
|
||||||
<script type="text/javascript" src="/js/script.js"></script>
|
<script type="text/javascript" src="/js/script.js"></script>
|
||||||
<div class="container_main" style="background-color: black;">
|
<div class="container_main">
|
||||||
<!-- Fil d'Ariane -->
|
<!-- Fil d'Ariane -->
|
||||||
<div class="breadcrumbs" >
|
<div class="breadcrumbs" >
|
||||||
<nav aria-label="breadcrumb">
|
<nav aria-label="breadcrumb">
|
||||||
|
|
|
@ -7,8 +7,9 @@
|
||||||
<link rel="shortcut icon" type="image/x-icon" href="\images\favicon.ico">
|
<link rel="shortcut icon" type="image/x-icon" href="\images\favicon.ico">
|
||||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Bree+Serif&display=swap">
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Bree+Serif&display=swap">
|
||||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Kalam&display=swap">
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Kalam&display=swap">
|
||||||
<link rel="stylesheet" href="\css\mapael.css">
|
<link rel="stylesheet" href="/css/mapael.css">
|
||||||
<link rel="stylesheet" href="\css\style.css">
|
<link rel="stylesheet" href="/css/style.css">
|
||||||
|
<link rel="stylesheet" href="/css/products.css">
|
||||||
<style>
|
<style>
|
||||||
body {
|
body {
|
||||||
padding-top: 5rem;
|
padding-top: 5rem;
|
||||||
|
@ -121,12 +122,14 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<button type="button" class="btn btn-default" data-dismiss="modal">Annuler</button>
|
<button type="button" class="btn btn-default" data-dismiss="modal">Annuler</button>
|
||||||
<button type="button" class="btn btn-primary"
|
<button type="submit" value="submit" class="btn btn-primary"
|
||||||
onclick="connexion(document.getElementById('pseudo').value,document.getElementById('mdp').value)">Valider</button>
|
onclick="connexion(document.getElementById('pseudo').value,document.getElementById('mdp').value)">Valider</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js"></script>
|
||||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js"></script>
|
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js"></script>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue