Commit bb64c972 authored by JonathanMM's avatar JonathanMM

Merge branch 'newUI' into 'master'

Nouvelle UI

See merge request !16
parents 57dbbcbc 85cf4c21
This diff is collapsed.
<?php
require_once('config.php');
include_once('functions.php');
require_once('libs/Smarty.class.php');
require_once 'config.php';
include_once 'functions.php';
require_once 'libs/Smarty.class.php';
if(!isset($_GET['insee']) || intval($_GET['insee']) == 0)
{
if (!isset($_GET['insee']) || intval($_GET['insee']) == 0) {
header('location: index.php');
exit();
}
......@@ -12,14 +11,13 @@ if(!isset($_GET['insee']) || intval($_GET['insee']) == 0)
$insee = intval($_GET['insee']);
//On regarde si la commune existe
$requete = $pdo->query('SELECT * FROM commune WHERE insee = '.$insee);
$requete = $pdo->query('SELECT * FROM commune WHERE insee = ' . $insee);
$commune = $requete->fetch();
if($commune === false)
{
if ($commune === false) {
//Elle n'existe pas
header('location: index.php');
exit();
exit();
}
$smarty = new Smarty();
......@@ -27,17 +25,16 @@ $smarty = new Smarty();
$smarty->assign(array(
'communeInsee' => $insee,
'communeDept' => $commune['dept'],
'communeNom' => $commune['nom_complet']
'communeNom' => $commune['nom_complet'],
));
//On récupère les stations de la tranche
$requete = $pdo->query('SELECT debut, fin FROM tranche WHERE insee = '.$insee.' ORDER BY debut');
$requete = $pdo->query('SELECT debut, fin FROM tranche WHERE insee = ' . $insee . ' ORDER BY debut');
$tranches = array();
$tranchesData = $requete->fetchAll();
foreach($tranchesData as $tranche)
{
foreach ($tranchesData as $tranche) {
$tranches[] = array('debut' => $tranche['debut'], 'fin' => $tranche['fin']);
}
......@@ -46,12 +43,12 @@ $hier = new DateTime("-1day");
$filtreDate = $hier->format('Y-m-d H:i:s');
//Dernière conso
$requete = $pdo->query('SELECT id, date FROM `statusConso` WHERE nbStation IS NOT NULL AND date >= "'.$filtreDate.'" ORDER BY id DESC LIMIT 0,1');
$requete = $pdo->query('SELECT id, date FROM `statusConso` WHERE nbStation IS NOT NULL AND date >= "' . $filtreDate . '" ORDER BY id DESC LIMIT 0,1');
$conso = $requete->fetch();
$idConso = $conso['id'];
$smarty->assign(array(
'dateDerniereConso' => (new DateTime($conso['date']))->format('d/m/Y à H:i')
'dateDerniereConso' => (new DateTime($conso['date']))->format('d/m/Y à H:i'),
));
//Stations
......@@ -62,28 +59,31 @@ $nbEbike = 0;
$nbEdock = 0;
$nbFreeEdock = 0;
if(count($tranches) > 0)
{
if (count($tranches) > 0) {
function genererFiltreTranches($tranche)
{
return '(stations.code >= '.$tranche['debut'].' AND stations.code <= '.$tranche['fin'].')';
return '(stations.code >= ' . $tranche['debut'] . ' AND stations.code <= ' . $tranche['fin'] . ')';
}
$stations = getStatusByIdConso($idConso, implode(' OR ', array_map('genererFiltreTranches', $tranches)));
foreach($stations as $station)
{
if($station['state'] == 'Operative')
$nbStation++;
if($station['nbEDock'] > 0 && ($station['nbBike'] + $station['nbEbike'] + $station['nbFreeEDock']) > 0)
$nbStationDetecte++;
$nbBike += $station['nbBike'];
$nbEbike += $station['nbEbike'];
$nbEdock += $station['nbEDock'];
$nbFreeEdock += $station['nbFreeEDock'];
if (!is_null($stations)) {
foreach ($stations as $station) {
if ($station['state'] == 'Operative') {
$nbStation++;
}
if ($station['nbEDock'] > 0 && ($station['nbBike'] + $station['nbEbike'] + $station['nbFreeEDock']) > 0) {
$nbStationDetecte++;
}
$nbBike += $station['nbBike'];
$nbEbike += $station['nbEbike'];
$nbEdock += $station['nbEDock'];
$nbFreeEdock += $station['nbFreeEDock'];
}
}
$dataSvg = genererObjetsCarteSVG($stations, $insee);
$dataSvg = genererObjetsCarteSVG($stations, $insee);
} else {
$stations = [];
$dataSvg = array('obj' => []);
......@@ -97,9 +97,8 @@ $smarty->assign(array(
'nbEDock' => $nbEdock,
'nbFreeEDock' => $nbFreeEdock,
'stations' => $stations,
'svg' => genererCarteSVG(700, 480, $insee, 'commune.php?insee=', '', '', $dataSvg['obj'], COMMUNE_AVM_AUTOLIB)
'svg' => genererCarteSVG(700, 480, $insee, 'commune.php?insee=', '', '', $dataSvg['obj'], COMMUNE_AVM_AUTOLIB),
));
$smarty->display('commune.tpl');
$smarty->display('tpl/commune.tpl');
exit();
?>
\ No newline at end of file
<?php
require_once 'config.php';
include_once 'functions.php';
require_once 'libs/Smarty.class.php';
include_once 'includes/constantes.php';
$smarty = new Smarty();
$smarty->assign(array(
'pageId' => 'communes',
));
//On récupère les communes adhérentes Vélib au Syndicat Autolib'Vélib'Métropole
$requete = $pdo->query('SELECT insee, nom_complet, dept FROM commune WHERE avm&' . COMMUNE_AVM_VELIB . '!=0 ORDER BY insee');
$communes = $requete->fetchAll(PDO::FETCH_ASSOC);
$departements = array();
foreach ($communes as $commune) {
$dept = $commune['dept'];
if (!isset($departements[$dept])) {
$departements[$dept] = array('communes' => array(), 'numero' => $dept, 'nom' => $nomDept[$dept]);
}
$departements[$dept]['communes'][] = $commune;
}
$smarty->assign(array(
'departements' => $departements,
));
$smarty->display('tpl/communes.tpl');
exit();
body {
color: #777;
}
.pure-img-responsive {
max-width: 100%;
height: auto;
}
/*
Add transition to containers so they can push in and out.
*/
#layout,
#menu,
.menu-link {
-webkit-transition: all 0.2s ease-out;
-moz-transition: all 0.2s ease-out;
-ms-transition: all 0.2s ease-out;
-o-transition: all 0.2s ease-out;
transition: all 0.2s ease-out;
}
/*
This is the parent `<div>` that contains the menu and the content area.
*/
#layout {
position: relative;
left: 0;
padding-left: 0;
}
#layout.active #menu {
left: 150px;
width: 150px;
}
#layout.active .menu-link {
left: 150px;
}
/*
The content `<div>` is where all your content goes.
*/
.content {
margin: 0 auto;
padding: 0 2em;
max-width: 800px;
margin-bottom: 50px;
line-height: 1.6em;
}
.header {
margin: 0;
color: #333;
text-align: center;
padding: 2.5em 2em 0;
border-bottom: 1px solid #eee;
}
.header h1 {
margin: 0.2em 0;
font-size: 3em;
font-weight: 300;
}
.header h2 {
font-weight: 300;
color: #ccc;
padding: 0;
margin-top: 0;
}
.content-subhead {
margin: 50px 0 20px 0;
font-weight: 300;
color: #888;
}
/*
The `#menu` `<div>` is the parent `<div>` that contains the `.pure-menu` that
appears on the left side of the page.
*/
#menu {
margin-left: -150px;
/* "#menu" width */
width: 150px;
position: fixed;
top: 0;
left: 0;
bottom: 0;
z-index: 1000;
/* so the menu or its navicon stays above all content */
background: #191818;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}
/*
All anchors inside the menu should be styled like this.
*/
#menu a {
color: #999;
border: none;
padding: 0.6em 0 0.6em 0.6em;
}
/*
Remove all background/borders, since we are applying them to #menu.
*/
#menu .pure-menu,
#menu .pure-menu ul {
border: none;
background: transparent;
}
/*
Add that light border to separate items into groups.
*/
#menu .pure-menu ul,
#menu .pure-menu .menu-item-divided {
border-top: 1px solid #333;
}
/*
Change color of the anchor links on hover/focus.
*/
#menu .pure-menu li a:hover,
#menu .pure-menu li a:focus {
background: #333;
}
/*
This styles the selected menu item `<li>`.
*/
#menu .pure-menu-selected,
#menu .pure-menu-heading {
background: #1f8dd6;
}
/*
This styles a link within a selected menu item `<li>`.
*/
#menu .pure-menu-selected a {
color: #fff;
}
/*
This styles the menu heading.
*/
#menu .pure-menu-heading {
font-size: 110%;
color: #fff;
margin: 0;
}
/* -- Dynamic Button For Responsive Menu -------------------------------------*/
/*
The button to open/close the Menu is custom-made and not part of Pure. Here's
how it works:
*/
/*
`.menu-link` represents the responsive menu toggle that shows/hides on
small screens.
*/
.menu-link {
position: fixed;
display: block;
/* show this only on small screens */
top: 0;
left: 0;
/* "#menu width" */
background: #000;
background: rgba(0,0,0,0.7);
font-size: 10px;
/* change this value to increase/decrease button size */
z-index: 10;
width: 2em;
height: auto;
padding: 2.1em 1.6em;
}
.menu-link:hover,
.menu-link:focus {
background: #000;
}
.menu-link span {
position: relative;
display: block;
}
.menu-link span,
.menu-link span:before,
.menu-link span:after {
background-color: #fff;
width: 100%;
height: 0.2em;
}
.menu-link span:before,
.menu-link span:after {
position: absolute;
margin-top: -0.6em;
content: " ";
}
.menu-link span:after {
margin-top: 0.6em;
}
/* -- Responsive Styles (Media Queries) ------------------------------------- */
/*
Hides the menu at `48em`, but modify this based on your app's needs.
*/
.header,
.content {
padding-left: 2em;
padding-right: 2em;
}
#layout {
padding-left: 150px;
/* left col width "#menu" */
left: 0;
}
#menu {
left: 150px;
}
.menu-link {
position: fixed;
left: 150px;
display: none;
}
#layout.active .menu-link {
left: 150px;
}
\ No newline at end of file
body {
color: #777;
}
.pure-img-responsive {
max-width: 100%;
height: auto;
}
/*
Add transition to containers so they can push in and out.
*/
#layout, #menu, .menu-link {
-webkit-transition: all 0.2s ease-out;
-moz-transition: all 0.2s ease-out;
-ms-transition: all 0.2s ease-out;
-o-transition: all 0.2s ease-out;
transition: all 0.2s ease-out;
}
/*
This is the parent `<div>` that contains the menu and the content area.
*/
#layout {
position: relative;
left: 0;
padding-left: 0;
}
#layout.active #menu {
left: 150px;
width: 150px;
}
#layout.active .menu-link {
left: 150px;
}
/*
The content `<div>` is where all your content goes.
*/
.content {
margin: 0 auto;
padding: 0 2em;
max-width: 800px;
margin-bottom: 50px;
line-height: 1.6em;
}
.header {
margin: 0;
color: #333;
text-align: center;
padding: 2.5em 2em 0;
border-bottom: 1px solid #eee;
}
.header h1 {
margin: 0.2em 0;
font-size: 3em;
font-weight: 300;
}
.header h2 {
font-weight: 300;
color: #ccc;
padding: 0;
margin-top: 0;
}
.content-subhead {
margin: 50px 0 20px 0;
font-weight: 300;
color: #888;
}
/*
The `#menu` `<div>` is the parent `<div>` that contains the `.pure-menu` that
appears on the left side of the page.
*/
#menu {
margin-left: -150px;
/* "#menu" width */
width: 150px;
position: fixed;
top: 0;
left: 0;
bottom: 0;
z-index: 1000;
/* so the menu or its navicon stays above all content */
background: #191818;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}
/*
All anchors inside the menu should be styled like this.
*/
#menu a {
color: #999;
border: none;
padding: 0.6em 0 0.6em 0.6em;
}
/*
Remove all background/borders, since we are applying them to #menu.
*/
#menu .pure-menu, #menu .pure-menu ul {
border: none;
background: transparent;
}
/*
Add that light border to separate items into groups.
*/
#menu .pure-menu ul, #menu .pure-menu .menu-item-divided {
border-top: 1px solid #333;
}
/*
Change color of the anchor links on hover/focus.
*/
#menu .pure-menu li a:hover, #menu .pure-menu li a:focus {
background: #333;
}
/*
This styles the selected menu item `<li>`.
*/
#menu .pure-menu-selected, #menu .pure-menu-heading {
background: #1f8dd6;
}
/*
This styles a link within a selected menu item `<li>`.
*/
#menu .pure-menu-selected a {
color: #fff;
}
/*
This styles the menu heading.
*/
#menu .pure-menu-heading {
font-size: 110%;
color: #fff;
margin: 0;
}
/* -- Dynamic Button For Responsive Menu -------------------------------------*/
/*
The button to open/close the Menu is custom-made and not part of Pure. Here's
how it works:
*/
/*
`.menu-link` represents the responsive menu toggle that shows/hides on
small screens.
*/
.menu-link {
position: fixed;
display: block;
/* show this only on small screens */
top: 0;
left: 0;
/* "#menu width" */
background: #000;
background: rgba(0, 0, 0, 0.7);
font-size: 10px;
/* change this value to increase/decrease button size */
z-index: 10;
width: 2em;
height: auto;
padding: 2.1em 1.6em;
}
.menu-link:hover, .menu-link:focus {
background: #000;
}
.menu-link span {
position: relative;
display: block;
}
.menu-link span, .menu-link span:before, .menu-link span:after {
background-color: #fff;
width: 100%;
height: 0.2em;
}
.menu-link span:before, .menu-link span:after {
position: absolute;
margin-top: -0.6em;
content: " ";
}
.menu-link span:after {
margin-top: 0.6em;
}
/* -- Responsive Styles (Media Queries) ------------------------------------- */
/*
Hides the menu at `48em`, but modify this based on your app's needs.
*/
@media (min-width: 48em) {
.header, .content {
padding-left: 2em;
padding-right: 2em;
}
#layout {
padding-left: 150px;
/* left col width "#menu" */
left: 0;
}
#menu {
left: 150px;
}
.menu-link {
position: fixed;
left: 150px;
display: none;
}
#layout.active .menu-link {
left: 150px;
}
}
@media (max-width: 48em) {
/* Only apply this when the window is small. Otherwise, the following
case results in extra padding on the left:
* Make the window small.
* Tap the menu to trigger the active state.
* Make the window large again.
*/
#layout.active {
position: relative;
left: 150px;
}
}
\ No newline at end of file
This diff is collapsed.
body
{
body {
padding: 0px;
margin: 0px;
font-family: Ubuntu, Verdana, Geneva, Tahoma, sans-serif;
}
header
{
header {
background-color: lightblue;
margin: 0px 0px 1em 0px;
padding: 1em;
}
header nav
{
header nav {
background-color: lightgreen;
margin-left: -1em;
margin-right: -1em;
......@@ -21,92 +18,139 @@ header nav
margin-top: 1em;
}
header h1
{
header h1 {
margin: 0px;
}
table, tr, td, th
{
header.header h2 {
color: #404040;
}
table, tr, td, th {
border: 1px solid black;
}
td
{
td {
text-align: center;
}
#statsConsoArea {
text-align: center;
width: 40%;
}
div#statsConso, div#statsJournaliere {
display: flex;
justify-content: space-around;
color: black;
}
#statsConsoArea
{
.statsBox {
text-align: center;
border: 1px solid black;
padding: 1.5em;
}
.statsBox .nombre {
font-weight: bold;