Compare commits
29 Commits
39 changed files with 1124 additions and 682 deletions
@ -0,0 +1,21 @@ |
|||
# Site de tiquet de panne |
|||
|
|||
Le mdp référant est: **3.1415926535** |
|||
Le mdp prof est: **1NSI** |
|||
|
|||
C'est un site permettant de créer et gérer des tiquets de panne. Il est composé de **deux parties**: |
|||
- Une partie *formulaire*, accessible à **tous**. |
|||
- Une partie *gestion*, accessible seulement des référants. |
|||
|
|||
## Partie formulaire |
|||
|
|||
Il s'agit d'un simple formulaire demandant des informations précises à propos de la panne et du matériel défécteux |
|||
|
|||
## Partie gestion |
|||
|
|||
Cette partie est composée de 5 onglets: |
|||
- accueil |
|||
- recherche |
|||
- liste |
|||
- admin |
|||
- export |
@ -0,0 +1,337 @@ |
|||
@font-face { |
|||
font-family: "monofonto"; |
|||
src: url("../font/raleway.ttf") format("truetype"); |
|||
} |
|||
body { |
|||
z-index: 1; |
|||
font-family: monofonto; |
|||
background-color: #e5e5e5; |
|||
margin: 143px 20px; |
|||
text-align: center; |
|||
} |
|||
body > a { |
|||
position: absolute; |
|||
left: 20px; |
|||
top: 20px; |
|||
margin: auto; |
|||
} |
|||
body .logo { |
|||
display: block; |
|||
} |
|||
body h1 { |
|||
margin: 40px; |
|||
font-weight: bold; |
|||
color: #454545; |
|||
} |
|||
body p { |
|||
font-weight: bold; |
|||
color: #ac2a8d; |
|||
font-size: 20px; |
|||
height: 20px; |
|||
} |
|||
|
|||
.nav { |
|||
width: 80%; |
|||
margin-left: 10%; |
|||
margin-bottom: 3%; |
|||
background-color: #84878C; |
|||
border-radius: 20px; |
|||
} |
|||
.nav ul { |
|||
margin: auto; |
|||
padding: 0; |
|||
width: 60%; |
|||
} |
|||
.nav ul::after { |
|||
content: ""; |
|||
display: block; |
|||
clear: both; |
|||
} |
|||
.nav__link { |
|||
width: 20%; |
|||
min-width: 100px; |
|||
float: left; |
|||
position: relative; |
|||
text-align: center; |
|||
list-style-type: none; |
|||
} |
|||
.nav__link:hover { |
|||
background-color: #59184E; |
|||
transition: 0.65s; |
|||
border-radius: 10px; |
|||
} |
|||
.nav__link a { |
|||
padding-top: 10px; |
|||
padding-bottom: 10px; |
|||
color: white; |
|||
font-weight: bold; |
|||
display: inline-block; |
|||
text-decoration: none; |
|||
} |
|||
.nav__link a:hover { |
|||
color: white; |
|||
} |
|||
|
|||
form { |
|||
width: 20%; |
|||
min-width: 300px; |
|||
background-color: white; |
|||
display: block; |
|||
position: relative; |
|||
margin: auto; |
|||
border-radius: 30px; |
|||
padding: 20px; |
|||
} |
|||
|
|||
.container-field { |
|||
position: relative; |
|||
} |
|||
.container-field small { |
|||
display: none; |
|||
color: red; |
|||
} |
|||
.container-field__img { |
|||
display: none; |
|||
position: relative; |
|||
float: right; |
|||
width: 20px; |
|||
top: 12px; |
|||
} |
|||
.container-field__field { |
|||
background-color: inherit; |
|||
position: relative; |
|||
display: block; |
|||
text-decoration-line: none; |
|||
appearance: none; |
|||
text-align: center; |
|||
color: #454444; |
|||
resize: none; |
|||
outline: none; |
|||
margin: 10px auto; |
|||
border: 4px solid #4e4d4d; |
|||
padding: 10px 10px; |
|||
border-radius: 30px; |
|||
width: 60%; |
|||
max-width: 300px; |
|||
transition: 0.25s; |
|||
} |
|||
.container-field__field:focus, .container-field__field:hover { |
|||
width: 70%; |
|||
border-color: #ac2a8d; |
|||
background-color: white; |
|||
} |
|||
.container-field__field--submit:hover { |
|||
width: 65%; |
|||
border-color: #2ecc71; |
|||
background-color: #82E6AC; |
|||
} |
|||
|
|||
.hint { |
|||
position: absolute; |
|||
width: 100%; |
|||
top: 0; |
|||
} |
|||
.hint__int { |
|||
position: relative; |
|||
left: 25%; |
|||
} |
|||
.hint__help { |
|||
display: none; |
|||
z-index: 2; |
|||
position: relative; |
|||
width: 170px; |
|||
left: 71%; |
|||
border-radius: 30px; |
|||
box-shadow: 0 0 10px black; |
|||
padding: 15px; |
|||
margin: 0; |
|||
background-color: #e5e5e5; |
|||
font-size: 14px; |
|||
} |
|||
.hint__help:hover { |
|||
display: block; |
|||
} |
|||
.hint__help p { |
|||
position: relative; |
|||
font-size: 14px; |
|||
} |
|||
.hint__help img { |
|||
border-radius: 15px; |
|||
width: 100%; |
|||
} |
|||
.hint__help code { |
|||
background-color: #aaa; |
|||
border-radius: 5px; |
|||
font-family: courier, monospace; |
|||
padding: 3px 5px; |
|||
font-size: 14px; |
|||
} |
|||
|
|||
.table { |
|||
width: 80%; |
|||
border-radius: 5px; |
|||
margin-left: 10%; |
|||
margin-top: 2%; |
|||
background-color: #84878C; |
|||
color: white; |
|||
border: 1px solid #84878C; |
|||
} |
|||
.table th { |
|||
width: 1%; |
|||
} |
|||
.table td { |
|||
background-color: #e5e5e5; |
|||
border: 1px solid #84878C; |
|||
width: 1%; |
|||
min-width: 20px; |
|||
border-radius: 5px; |
|||
text-align: center; |
|||
word-break: break-all; |
|||
color: #84878C; |
|||
} |
|||
.table td img { |
|||
width: 40%; |
|||
max-width: 40px; |
|||
} |
|||
.table td .input { |
|||
border: 2px solid #ac2a8d; |
|||
border-radius: 5px; |
|||
text-align: inherit; |
|||
outline: none; |
|||
color: #84878C; |
|||
transition: 0.05s; |
|||
} |
|||
.table td .input:hover { |
|||
font-weight: bold; |
|||
} |
|||
.table td .input:focus { |
|||
font-weight: bold; |
|||
border: 4px solid #ac2a8d; |
|||
} |
|||
.table__title td { |
|||
color: #ac2a8d; |
|||
font-weight: bold; |
|||
word-break: normal; |
|||
} |
|||
.table__switch { |
|||
position: relative; |
|||
display: inline-block; |
|||
width: 60px; |
|||
height: 34px; |
|||
} |
|||
.table__switch input { |
|||
opacity: 0; |
|||
width: 0; |
|||
height: 0; |
|||
} |
|||
.table__switch input:checked + .table__switch__slider { |
|||
background-color: #2ecc71; |
|||
} |
|||
.table__switch input:focus + .table__switch__slider { |
|||
box-shadow: 0 0 1px #2ecc71; |
|||
} |
|||
.table__switch input:checked + .table__switch__slider:before { |
|||
transform: translateX(26px); |
|||
} |
|||
.table__switch__slider { |
|||
position: absolute; |
|||
cursor: pointer; |
|||
top: 0; |
|||
left: 0; |
|||
right: 0; |
|||
bottom: 0; |
|||
background-color: crimson; |
|||
border-radius: 34px; |
|||
transition: 0.4s; |
|||
} |
|||
.table__switch__slider:before { |
|||
position: absolute; |
|||
border-radius: 50%; |
|||
content: ""; |
|||
height: 26px; |
|||
width: 26px; |
|||
left: 4px; |
|||
bottom: 4px; |
|||
background-color: white; |
|||
transition: 0.4s; |
|||
} |
|||
|
|||
.container-popup { |
|||
z-index: 1; |
|||
position: fixed; |
|||
top: 0; |
|||
bottom: 0; |
|||
left: 0; |
|||
right: 0; |
|||
background: rgba(0, 0, 0, 0.7); |
|||
transition: opacity 500ms; |
|||
visibility: hidden; |
|||
opacity: 0; |
|||
} |
|||
.container-popup:target { |
|||
visibility: visible; |
|||
opacity: 1; |
|||
} |
|||
.container-popup__popup { |
|||
margin: auto; |
|||
padding: 20px; |
|||
background: #fff; |
|||
top: 0; |
|||
bottom: 0; |
|||
left: 0; |
|||
right: 0; |
|||
border-radius: 5px; |
|||
width: 30%; |
|||
height: 150px; |
|||
position: absolute; |
|||
transition: all 5s ease-in-out; |
|||
} |
|||
.container-popup__popup h2 { |
|||
margin-top: 0; |
|||
color: #333; |
|||
} |
|||
.container-popup__popup p { |
|||
max-height: 30%; |
|||
overflow: auto; |
|||
} |
|||
.container-popup__popup__close { |
|||
position: absolute; |
|||
top: 20px; |
|||
right: 30px; |
|||
transition: all 200ms; |
|||
font-size: 30px; |
|||
font-weight: bold; |
|||
text-decoration: none; |
|||
color: #333; |
|||
} |
|||
.container-popup__popup__close:hover { |
|||
color: #06D85F; |
|||
} |
|||
|
|||
.button { |
|||
border: 3px solid #ac2a8d; |
|||
background-color: #e5e5e5; |
|||
font-weight: bold; |
|||
text-decoration: none; |
|||
transition: 0.5s; |
|||
} |
|||
.button:hover { |
|||
color: #e5e5e5; |
|||
background-color: #ac2a8d; |
|||
} |
|||
.button--small { |
|||
width: 3rem; |
|||
border-width: medium; |
|||
border-radius: 5px; |
|||
margin: 5px; |
|||
color: #84878C; |
|||
} |
|||
.button--large { |
|||
color: #ac2a8d; |
|||
display: inline-block; |
|||
margin-bottom: 3%; |
|||
padding: 10px 40px; |
|||
border-radius: 20px; |
|||
} |
|||
|
|||
/*# sourceMappingURL=style.css.map */ |
@ -0,0 +1 @@ |
|||
{"version":3,"sourceRoot":"","sources":["../sass/main.scss"],"names":[],"mappings":"AAMA;EACI;EACA;;AAGJ;EACI;EACA;EACA,kBAbS;EAcT;EACA;;AACA;EACI;EACA;EACA;EACA;;AAEJ;EACI;;AAEJ;EACI;EACA;EACA;;AAEJ;EACI;EACA,OA9BE;EA+BF;EACA;;;AAOR;EACI;EACA;EACA;EACA,kBA9CQ;EA+CR;;AACA;EACI;EACA;EACA;;AACA;EACI;EACA;EACA;;AAGR;EACI;EACA;EACA;EACA;EACA;EACA;;AACA;EACI,kBAhEG;EAiEH;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;;;AAUhB;EACI;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;;;AAGJ;EACI;;AACA;EACI;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;EACA,cAlIF;EAmIE;;AAEJ;EACI;EACA;EACA;;;AASZ;EACI;EACA;EACA;;AACA;EACI;EACA;;AAEJ;EAII;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,kBAxKK;EAyKL;;AAbA;EACI;;AAaJ;EACI;EACA;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;;;AAWZ;EACI;EACA;EACA;EACA;EACA,kBAxMQ;EAyMR;EACA;;AACA;EACI;;AAEJ;EACI,kBA9MK;EAgNL;EACA;EACA;EACA;EAEA;EACA;EACA,OAxNI;;AAyNJ;EACI;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA,OAlOA;EAmOA;;AACA;EACI;;AAEJ;EACI;EACA;;AAIZ;EACI,OA3OE;EA4OF;EACA;;AAEJ;EACI;EACA;EACA;EACA;;AACA;EACI;EACA;EACA;;AACA;EACI;;AAEJ;EACI;;AAEJ;EACI;;AAGR;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAOhB;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;EACA;;AAEJ;EACI;EACA;;AAEJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EACI;;;AAOhB;EACI;EACA,kBArVS;EAsVT;EACA;EACA;;AACA;EACI,OA1VK;EA2VL,kBAzVE;;AA2VN;EACI;EACA;EACA;EACA;EACA,OAnWI;;AAqWR;EACI,OAnWE;EAoWF;EACA;EACA;EACA","file":"style.css"} |
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 87 KiB |
@ -0,0 +1,15 @@ |
|||
{ |
|||
"name": "ticket_panne", |
|||
"version": "1.0.0", |
|||
"description": "", |
|||
"main": "index.js", |
|||
"scripts": { |
|||
"sass": "sass --watch ./sass/main.scss:./css/style.css" |
|||
}, |
|||
"repository": { |
|||
"type": "git", |
|||
"url": "https://paulconstans.ddns.info/gitea/barraux.a/ticket_panne.git" |
|||
}, |
|||
"author": "", |
|||
"license": "ISC" |
|||
} |
@ -1,22 +0,0 @@ |
|||
<?php |
|||
|
|||
$bdd = new PDO('mysql:host=localhost;dbname=ticket;charset:utf8', 'root', ''); |
|||
|
|||
$req = $bdd->prepare('INSERT INTO pannes(dates, details, lieu, salle, pos, materiel, marque, model, nserie, demandeur, traitement) VALUES(:dates, :details, :lieu, :salle, :pos, :materiel, :marque, :model, :nserie, :demandeur, :traitement)'); |
|||
|
|||
$req->execute(array( |
|||
'dates' => $_POST['dates'], |
|||
'details' => $_POST['details'], |
|||
'lieu' => $_POST['lieu'], |
|||
'salle' => $_POST['salle'], |
|||
'pos' => $_POST['pos'], |
|||
'materiel' => $_POST['materiel'], |
|||
'marque' => $_POST['marque'], |
|||
'model' => $_POST['model'], |
|||
'nserie' => $_POST['nserie'], |
|||
'demandeur' => $_POST['demandeur'], |
|||
'traitement' => 0 |
|||
)); |
|||
|
|||
echo 'Votre ticket à bien été pris en compte'; |
|||
?> |
@ -0,0 +1,22 @@ |
|||
<?php |
|||
|
|||
$bdd = new SQLite3('../../database/ticket_panne.db', SQLITE3_OPEN_READWRITE); |
|||
|
|||
$stmt = $bdd->prepare('INSERT INTO pannes(dates, details, lieu, salle, pos, materiel, marque, model, nserie, demandeur, traitement) VALUES(:dates, :details, :lieu, :salle, :pos, :materiel, :marque, :model, :nserie, :demandeur, :traitement)'); |
|||
|
|||
$stmt->bindValue(':dates', $_POST['dates']); |
|||
$stmt->bindValue(':details', $_POST['details']); |
|||
$stmt->bindValue(':lieu', $_POST['lieu']); |
|||
$stmt->bindValue(':salle', $_POST['salle']); |
|||
$stmt->bindValue(':pos', $_POST['pos']); |
|||
$stmt->bindValue(':materiel', $_POST['materiel']); |
|||
$stmt->bindValue(':marque', $_POST['marque']); |
|||
$stmt->bindValue(':model', $_POST['model']); |
|||
$stmt->bindValue(':nserie', $_POST['nserie']); |
|||
$stmt->bindValue(':demandeur', $_POST['demandeur']); |
|||
$stmt->bindValue(':traitement', 0); |
|||
|
|||
$stmt->execute(); |
|||
|
|||
echo 'Votre ticket à bien été pris en compte'; |
|||
?> |
@ -1,13 +1,7 @@ |
|||
<?php |
|||
echo '<p> ',$titre,' : '; |
|||
if ($help) { |
|||
echo '<a class="int" href="#" onmouseover=displayHelp(',$sql_name,') onmouseout=hideHelp(',$sql_name,') ><img src="../img/int.png" alt="point_int" width=20px ></a>'; |
|||
} |
|||
echo '</p> |
|||
<div class="champ"> |
|||
<input class="entry" type=',$type,' name=',$sql_name,'><br> |
|||
<img class="check" src="../img/check.png" alt="check"> |
|||
<img class="excla" src="../img/excla.png" alt="exclamation"> |
|||
</div> |
|||
<small>Error: ',$error,'</small>'; |
|||
echo '<p> ',$titre,' : </p> |
|||
<img class="container-field__img container-field__img--check" src="../img/check.png" alt="check"> |
|||
<img class="container-field__img container-field__img--excla" src="../img/excla.png" alt="exclamation"> |
|||
<input class="container-field__field" type=',$type,' name=',$sql_name,'><br> |
|||
<small>',$error,'</small>'; |
|||
?> |
|||
|
@ -1,8 +1,15 @@ |
|||
<?php |
|||
<?php |
|||
$decode = json_decode($_POST['value'], TRUE); |
|||
$bdd = new PDO('mysql:host=localhost;dbname=ticket;charset:utf8', 'root', ''); |
|||
$update = $bdd->query('UPDATE `logins` SET `pwd` = "' .$decode['pwd'] .'" WHERE `login` = "' .$decode['login'] .'"'); |
|||
$bdd = new SQLite3('../../database/ticket_panne.db', SQLITE3_OPEN_READWRITE); |
|||
|
|||
$traitement = $bdd->query("SELECT * FROM `logins` WHERE `login`= '" .$decode['login'] ."'"); |
|||
print_r(json_encode($traitement->fetch())); |
|||
?> |
|||
$stmt = $bdd->prepare('UPDATE `logins` SET `pwd` = :pwd WHERE `login` = :login'); |
|||
$stmt->bindValue(':pwd', $decode['pwd']); |
|||
$stmt->bindValue(':login', $decode['login']); |
|||
|
|||
$stmt->execute(); |
|||
|
|||
$select = $bdd->prepare("SELECT * FROM `logins` WHERE `login` = :login"); |
|||
$select->bindValue(':login', $decode['login']); |
|||
$traitement = $select->execute(); |
|||
print_r(json_encode($traitement->fetchArray())); |
|||
?> |
|||
|
@ -0,0 +1,7 @@ |
|||
<?php |
|||
$bdd = new SQLite3('../../database/ticket_panne.db', SQLITE3_OPEN_READWRITE); |
|||
|
|||
$request = $bdd->prepare('DELETE FROM pannes WHERE ID=:id'); |
|||
$request->bindValue(':id', $_POST['id']); |
|||
$request->execute(); |
|||
?> |
@ -1,21 +1,25 @@ |
|||
<?php |
|||
<?php |
|||
$decode = json_decode($_POST['value'], TRUE); |
|||
$bdd = new PDO('mysql:host=localhost;dbname=ticket;charset:utf8', 'root', ''); |
|||
$request = 'UPDATE pannes SET |
|||
dates = "' .$decode["dates"] .'", |
|||
details = "' .$decode["details"] .'", |
|||
lieu = "' .$decode["lieu"] .'", |
|||
salle = "' .$decode["salle"] .'", |
|||
pos = "' .$decode["pos"] .'", |
|||
materiel = "' .$decode["materiel"] .'", |
|||
marque = "' .$decode["marque"] .'", |
|||
model = "' .$decode["model"] .'", |
|||
nserie = "' .$decode["nserie"] .'", |
|||
demandeur = "' .$decode["demandeur"] .'", |
|||
traitement = "' .$decode["traitement"] .'" |
|||
WHERE ID= "' .$decode['id'] .'"'; |
|||
$update = $bdd->query($request); |
|||
$bdd = new SQLite3('../../database/ticket_panne.db', SQLITE3_OPEN_READWRITE); |
|||
$stmt = $bdd->prepare('UPDATE pannes SET dates=:dates, details=:details, lieu=:lieu, salle=:salle, pos=:pos, materiel=:materiel, marque=:marque, model=:model, nserie=:nserie, demandeur=:demandeur, traitement=:traitement WHERE ID=:id'); |
|||
|
|||
$traitement = $bdd->query("SELECT * FROM pannes WHERE ID=" .$decode['id']); |
|||
print_r(json_encode($traitement->fetch())); |
|||
?> |
|||
$stmt->bindValue(':id', $decode['id']); |
|||
$stmt->bindValue(':dates', $decode['dates']); |
|||
$stmt->bindValue(':details', $decode['details']); |
|||
$stmt->bindValue(':lieu', $decode['lieu']); |
|||
$stmt->bindValue(':salle', $decode['salle']); |
|||
$stmt->bindValue(':pos', $decode['pos']); |
|||
$stmt->bindValue(':materiel', $decode['materiel']); |
|||
$stmt->bindValue(':marque', $decode['marque']); |
|||
$stmt->bindValue(':model', $decode['model']); |
|||
$stmt->bindValue(':nserie', $decode['nserie']); |
|||
$stmt->bindValue(':demandeur', $decode['demandeur']); |
|||
$stmt->bindValue(':traitement', $decode['traitement']); |
|||
|
|||
$stmt->execute(); |
|||
|
|||
$traitement = $bdd->prepare("SELECT * FROM pannes WHERE ID=:id"); |
|||
$traitement->bindValue(':id', $decode['id']); |
|||
$res = $traitement->execute(); |
|||
print_r(json_encode($res->fetchArray())); |
|||
?> |
|||
|
@ -1,9 +1,9 @@ |
|||
<?php |
|||
$bdd = new PDO('mysql:host=localhost;dbname=ticket;charset:utf8', 'root', ''); |
|||
$bdd = new SQLite3('../../database/ticket_panne.db', SQLITE3_OPEN_READWRITE); |
|||
|
|||
$update = $bdd->query("UPDATE pannes SET traitement = " .$_POST['is_checked'] ." WHERE ID = " .$_POST['id']); |
|||
|
|||
$traitement = $bdd->query("SELECT traitement FROM pannes WHERE ID=" .$_POST['id']); |
|||
$res = $traitement->fetch()['traitement']; |
|||
$res = $traitement->fetchArray()['traitement']; |
|||
echo $res; |
|||
?> |
|||
?> |
|||
|
@ -1,4 +1,4 @@ |
|||
<meta charset="utf-8"> |
|||
<title>Admin ticket</title> |
|||
<link href="../stylepage.css" rel="stylesheet"> |
|||
<img class="logo" src="../img/logo_PC.png" alt="logo_PC" width="200px"> |
|||
<link href="../css/style.css" rel="stylesheet"> |
|||
<a href="index.php"><img class="logo" src="../img/logo_PC.png" alt="logo_PC"></a> |
|||
|
@ -1,11 +1,11 @@ |
|||
<header> |
|||
<nav> |
|||
<nav class="nav"> |
|||
<ul> |
|||
<li class="menu"><a href="index.php">Accueil</a></li> |
|||
<li class="menu"><a href="search.php">Recherche</a></li> |
|||
<li class="menu"><a href="liste.php">Liste</a></li> |
|||
<li class="menu"><a href="admin.php">Admin</a></li> |
|||
<li class="menu"><a href="export.php">Export</a></li> |
|||
<li class="nav__link"><a href="index.php">Accueil</a></li> |
|||
<li class="nav__link"><a href="search.php">Recherche</a></li> |
|||
<li class="nav__link"><a href="liste.php">Liste</a></li> |
|||
<li class="nav__link"><a href="admin.php">Admin</a></li> |
|||
<li class="nav__link"><a href="export.php">Export</a></li> |
|||
</ul> |
|||
</nav> |
|||
</header> |
|||
|
@ -0,0 +1,8 @@ |
|||
<div id="popup" class="container-popup"> |
|||
<div class="container-popup__popup"> |
|||
<h2>Attention!</h2> |
|||
<a class="container-popup__popup__close" href="#">X</a> |
|||
<p>Voulez-vous vraiment supprimer ce ticket?</p> |
|||
<a href="#"><input class="button button--large" type="button" value="supprimer"></a> |
|||
</div> |
|||
</div> |
@ -0,0 +1,365 @@ |
|||
$dark-grey: #84878C; |
|||
$light-grey: #e5e5e5; |
|||
$dark-bordeau: #59184E; |
|||
$bordeau: #ac2a8d; |
|||
|
|||
|
|||
@font-face { |
|||
font-family: "monofonto"; |
|||
src: url('../font/raleway.ttf') format('truetype'); |
|||
} |
|||
|
|||
body { |
|||
z-index: 1; |
|||
font-family: monofonto; |
|||
background-color: $light-grey; |
|||
margin: 143px 20px; |
|||
text-align: center; |
|||
&>a { |
|||
position: absolute; |
|||
left: 20px; |
|||
top: 20px; |
|||
margin: auto; |
|||
} |
|||
.logo { |
|||
display: block; |
|||
} |
|||
h1 { |
|||
margin: 40px; |
|||
font-weight: bold; |
|||
color: #454545; |
|||
} |
|||
p { |
|||
font-weight: bold; |
|||
color: $bordeau; |
|||
font-size: 20px; |
|||
height: 20px; |
|||
} |
|||
} |
|||
|
|||
// nav |
|||
|
|||
|
|||
.nav { |
|||
width: 80%; |
|||
margin-left: 10%; |
|||
margin-bottom: 3%; |
|||
background-color: $dark-grey; |
|||
border-radius: 20px; |
|||
ul { |
|||
margin: auto; |
|||
padding: 0; |
|||
width: 60%; |
|||
&::after { |
|||
content: ""; |
|||
display: block; |
|||
clear: both; |
|||
} |
|||
} |
|||
&__link{ |
|||
width: 20%; |
|||
min-width: 100px; |
|||
float: left; |
|||
position: relative; |
|||
text-align: center; |
|||
list-style-type: none; |
|||
&:hover { |
|||
background-color: $dark-bordeau; |
|||
transition: .65s; |
|||
border-radius: 10px; |
|||
} |
|||
a { |
|||
padding-top: 10px; |
|||
padding-bottom: 10px; |
|||
color: white; |
|||
font-weight: bold; |
|||
display: inline-block; |
|||
text-decoration: none; |
|||
&:hover { |
|||
color: white; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
|
|||
// formulaire |
|||
|
|||
|
|||
form { |
|||
width: 20%; |
|||
min-width: 300px; |
|||
|
|||
background-color: white; |
|||
display: block; |
|||
|
|||
position: relative; |
|||
margin: auto; |
|||
border-radius: 30px; |
|||
padding: 20px; |
|||
} |
|||
|
|||
.container-field { |
|||
position: relative; |
|||
small { |
|||
display: none; |
|||
color: red; |
|||
} |
|||
&__img { |
|||
display: none; |
|||
position: relative; |
|||
float: right; |
|||
width: 20px; |
|||
top: 12px; |
|||
} |
|||
&__field { |
|||
background-color: inherit; |
|||
position: relative; |
|||
display: block; |
|||
text-decoration-line: none; |
|||
appearance: none; |
|||
text-align: center; |
|||
color: #454444; |
|||
resize: none; |
|||
outline: none; |
|||
margin: 10px auto; |
|||
border: 4px solid #4e4d4d; |
|||
padding: 10px 10px; |
|||
border-radius: 30px; |
|||
width: 60%; |
|||
max-width: 300px; |
|||
transition: .25s; |
|||
&:focus, &:hover { |
|||
width: 70%; |
|||
border-color: $bordeau; |
|||
background-color: white; |
|||
} |
|||
&--submit:hover { |
|||
width: 65%; |
|||
border-color: #2ecc71; |
|||
background-color: #82E6AC; |
|||
} |
|||
} |
|||
} |
|||
|
|||
|
|||
// help |
|||
|
|||
|
|||
.hint { |
|||
position: absolute; |
|||
width: 100%; |
|||
top: 0; |
|||
&__int { |
|||
position: relative; |
|||
left: 25%; |
|||
} |
|||
&__help { |
|||
&:hover { |
|||
display: block; |
|||
} |
|||
display: none; |
|||
z-index: 2; |
|||
position: relative; |
|||
width: 170px; |
|||
left: 71%; |
|||
border-radius: 30px; |
|||
box-shadow: 0 0 10px black; |
|||
padding: 15px; |
|||
margin: 0; |
|||
background-color: $light-grey; |
|||
font-size: 14px; |
|||
p { |
|||
position: relative; |
|||
font-size: 14px; |
|||
} |
|||
img { |
|||
border-radius: 15px; |
|||
width: 100%; |
|||
} |
|||
code { |
|||
background-color: #aaa; |
|||
border-radius: 5px; |
|||
font-family: courier, monospace; |
|||
padding: 3px 5px; |
|||
font-size: 14px; |
|||
} |
|||
} |
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
// table |
|||
|
|||
|
|||
.table { |
|||
width: 80%; |
|||
border-radius: 5px; |
|||
margin-left: 10%; |
|||
margin-top: 2%; |
|||
background-color: $dark-grey; |
|||
color: white; |
|||
border: 1px solid $dark-grey; |
|||
th { |
|||
width: 1%; |
|||
} |
|||
td { |
|||
background-color: $light-grey; |
|||
|
|||
border: 1px solid $dark-grey; |
|||
width: 1%; |
|||
min-width: 20px; |
|||
border-radius: 5px; |
|||
|
|||
text-align: center; |
|||
word-break: break-all; |
|||
color: $dark-grey; |
|||
img { |
|||
width: 40%; |
|||
max-width: 40px; |
|||
} |
|||
.input { |
|||
border: 2px solid $bordeau; |
|||
border-radius: 5px; |
|||
text-align: inherit; |
|||
outline: none; |
|||
color: $dark-grey; |
|||
transition: .05s; |
|||
&:hover { |
|||
font-weight: bold; |
|||
} |
|||
&:focus { |
|||
font-weight: bold; |
|||
border: 4px solid $bordeau; |
|||
} |
|||
} |
|||
} |
|||
&__title td{ |
|||
color: $bordeau; |
|||
font-weight: bold; |
|||
word-break: normal; |
|||
} |
|||
&__switch { |
|||
position: relative; |
|||
display: inline-block; |
|||
width: 60px; |
|||
height: 34px; |
|||
input { |
|||
opacity: 0; |
|||
width: 0; |
|||
height: 0; |
|||
&:checked + .table__switch__slider { |
|||
background-color: #2ecc71; |
|||
} |
|||
&:focus + .table__switch__slider { |
|||
box-shadow: 0 0 1px #2ecc71; |
|||
} |
|||
&:checked + .table__switch__slider:before { |
|||
transform: translateX(26px); |
|||
} |
|||
} |
|||
&__slider { |
|||
position: absolute; |
|||
cursor: pointer; |
|||
top: 0; |
|||
left: 0; |
|||
right: 0; |
|||
bottom: 0; |
|||
background-color: crimson; |
|||
border-radius: 34px; |
|||
transition: .4s; |
|||
&:before { |
|||
position: absolute; |
|||
border-radius: 50%; |
|||
content: ""; |
|||
height: 26px; |
|||
width: 26px; |
|||
left: 4px; |
|||
bottom: 4px; |
|||
background-color: white; |
|||
transition: .4s; |
|||
} |
|||
} |
|||
} |
|||
|
|||
} |
|||
|
|||
.container-popup { |
|||
z-index: 1; |
|||
position: fixed; |
|||
top: 0; |
|||
bottom: 0; |
|||
left: 0; |
|||
right: 0; |
|||
background: rgba(0,0,0,.7); |
|||
transition: opacity 500ms; |
|||
visibility: hidden; |
|||
opacity: 0; |
|||
&:target { |
|||
visibility: visible; |
|||
opacity: 1; |
|||
} |
|||
&__popup { |
|||
margin: auto; |
|||
padding: 20px; |
|||
background: #fff; |
|||
top: 0; |
|||
bottom: 0; |
|||
left: 0; |
|||
right: 0; |
|||
border-radius: 5px; |
|||
width: 30%; |
|||
height: 150px; |
|||
position: absolute; |
|||
transition: all 5s ease-in-out; |
|||
h2 { |
|||
margin-top: 0; |
|||
color: #333; |
|||
} |
|||
p { |
|||
max-height: 30%; |
|||
overflow: auto; |
|||
} |
|||
&__close { |
|||
position: absolute; |
|||
top: 20px; |
|||
right: 30px; |
|||
transition: all 200ms; |
|||
font-size: 30px; |
|||
font-weight: bold; |
|||
text-decoration: none; |
|||
color: #333; |
|||
&:hover { |
|||
color: #06D85F; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
|
|||
.button { |
|||
border: 3px solid $bordeau; |
|||
background-color: $light-grey; |
|||
font-weight: bold; |
|||
text-decoration: none; |
|||
transition: .5s; |
|||
&:hover { |
|||
color: $light-grey; |
|||
background-color: $bordeau; |
|||
} |
|||
&--small { |
|||
width: 3rem; |
|||
border-width: medium; |
|||
border-radius: 5px; |
|||
margin: 5px; |
|||
color: $dark-grey; |
|||
} |
|||
&--large { |
|||
color: $bordeau; |
|||
display: inline-block; |
|||
margin-bottom: 3%; |
|||
padding: 10px 40px; |
|||
border-radius: 20px; |
|||
} |
|||
} |
@ -1,6 +1,6 @@ |
|||
<?php |
|||
session_start(); |
|||
if (!isset($_SESSION['login']) || !isset($_SESSION['pwd'])) { |
|||
header('location: ../index.php'); |
|||
header('location: ../login/index.php'); |
|||
} |
|||
?> |
|||
?> |
@ -1,6 +1,6 @@ |
|||
<?php |
|||
session_start(); |
|||
if ( !(isset($_SESSION['login']) && isset($_SESSION['pwd'])) && !($_SESSION['login'] == 'referant')) { |
|||
header('location: ../index.php'); |
|||
header('location: ../login/index.php'); |
|||
} |
|||
?> |
|||
?> |
@ -1,298 +0,0 @@ |
|||
body{ |
|||
z-index: 1; |
|||
background-color: #e5e5e5; |
|||
margin: 20px; |
|||
text-align: center; |
|||
} |
|||
|
|||
.logo{ |
|||
display: block; |
|||
} |
|||
|
|||
h1{ |
|||
margin: 40px; |
|||
font-weight: bold; |
|||
color: #454545; |
|||
} |
|||
|
|||
p{ |
|||
font-weight: bold; |
|||
color: #454444; |
|||
font-size: 20px; |
|||
height: 20px; |
|||
} |
|||
|
|||
|
|||
/* Form */ |
|||
|
|||
|
|||
form{ |
|||
width: 400px; |
|||
position: relative; |
|||
background-color: #ffffff; |
|||
display: block; |
|||
margin: auto; |
|||
border-radius: 30px; |
|||
padding: 20px; |
|||
} |
|||
|
|||
.container-champ{ |
|||
position: relative; |
|||
} |
|||
|
|||
.container-champ small{ |
|||
display: none; |
|||
color: red; |
|||
} |
|||
|
|||
.champ{ |
|||
background-color: inherit; |
|||
position: relative; |
|||
display: block; |
|||
|
|||
text-decoration-line: none; |
|||
text-align: center; |
|||
color: #454444; |
|||
|
|||
margin: 10px auto; |
|||
border: 4px solid #4e4d4d; |
|||
padding: 10px 10px; |
|||
border-radius: 30px; |
|||
|
|||
width: 200px; |
|||
|
|||
transition: 0.25s; |
|||
} |
|||
|
|||
.champ:focus, .champ:hover{ |
|||
width: 300px; |
|||
border-color: #ac2a8d; |
|||
background-color: #dddddd; |
|||
} |
|||
|
|||
.champ img{ |
|||
display: none; |
|||
position: relative; |
|||
float: right; |
|||
width: 20px; |
|||
bottom: 20px; |
|||
right: 20px; |
|||
} |
|||
|
|||
.entry{ |
|||
border: none; |
|||
resize: none; |
|||
outline: none; |
|||
width: 100%; |
|||
text-align: inherit; |
|||
background-color: inherit; |
|||
-webkit-appearance: none; |
|||
-moz-appearance: none; |
|||
appearance: none; |
|||
} |
|||
|
|||
.submit{ |
|||
background-color: inherit; |
|||
position: relative; |
|||
display: block; |
|||
|
|||
text-align: center; |
|||
color: #454444; |
|||
|
|||
margin: 10px auto; |
|||
border: 4px solid #4e4d4d; |
|||
padding: 10px 10px; |
|||
border-radius: 30px; |
|||
|
|||
width: 200px; |
|||
|
|||
transition: 0.25s; |
|||
} |
|||
|
|||
.submit:hover{ |
|||
width: 250px; |
|||
background-color: #82E6AC; |
|||
border-color: #2ecc71; |
|||
} |
|||
|
|||
|
|||
/* Indice */ |
|||
|
|||
|
|||
.help{ |
|||
display: none; |
|||
z-index: 2; |
|||
position: absolute; |
|||
width: 170px; |
|||
right: 0; |
|||
top: 30%; |
|||
border-radius: 30px; |
|||
padding: 15px; |
|||
margin: 0; |
|||
background-color: #dddddd; |
|||
|
|||
} |
|||
|
|||
.help * { |
|||
font-size: 14px; |
|||
width: 100%; |
|||
} |
|||
|
|||
.help p{ |
|||
position: relative; |
|||
} |
|||
|
|||
code { |
|||
background-color: #aaa; |
|||
border-radius: 5px; |
|||
font-family: courier, monospace; |
|||
padding: 3px 5px; |
|||
} |
|||
|
|||
|
|||
/* Nav */ |
|||
|
|||
|
|||
nav{ |
|||
width: 80%; |
|||
margin-left: 10%; |
|||
background-color: #84878C; /*couleur nav entière*/ |
|||
border-radius: 20px; |
|||
} |
|||
|
|||
nav > ul{ |
|||
margin-left: auto; |
|||
margin-right: auto; |
|||
padding: 0px; |
|||
width: 60%; |
|||
} |
|||
|
|||
nav > ul::after{ |
|||
content: ""; |
|||
display: block; |
|||
clear: both; |
|||
} |
|||
|
|||
nav > ul > li{ |
|||
width: 20%; |
|||
float: left; |
|||
position: relative; |
|||
text-align: center; |
|||
list-style-type: none; |
|||
} |
|||
|
|||
nav> ul > li > a{ |
|||
font-size: 100%; |
|||
padding-top: 10px; |
|||
padding-bottom: 10px; |
|||
color: #eee; |
|||
display: inline-block; |
|||
text-decoration: none; |
|||
} |
|||
|
|||
.menu:hover{ |
|||
background-color: #59184E; |
|||
transition: 1s; |
|||
border-radius: 10px; |
|||
} |
|||
|
|||
.menu:hover > a{ |
|||
color: #fff; |
|||
font-weight: bold; |
|||
} |
|||
|
|||
|
|||
/* Table */ |
|||
|
|||
|
|||
#table-search{ |
|||
display: none; |
|||
} |
|||
|
|||
.table-title td{ |
|||
color: #ac2a8d; |
|||
font-weight: bold; |
|||
} |
|||
|
|||
table{ |
|||
width: 80%; |
|||
border-radius: 5px; |
|||
margin-left: 10%; |
|||
margin-top: 2%; |
|||
background-color: #84878C; |
|||
color: #fff; |
|||
border: 1px solid #84878C; |
|||
} |
|||
|
|||
td { |
|||
background-color: #e5e5e5; |
|||
|
|||
border: 1px solid #84878C; |
|||
border-radius: 5px; |
|||
|
|||
text-align: center; |
|||
color: #84878C; |
|||
|
|||
width: 7%; |
|||
} |
|||
|
|||
th{ |
|||
width: 100%; |
|||
} |
|||
|
|||
|
|||
/* SWITCH */ |
|||
|
|||
|
|||
.switch { |
|||
position: relative; |
|||
display: inline-block; |
|||
width: 60px; |
|||
height: 34px; |
|||
} |
|||
|
|||
.switch input { |
|||
opacity: 0; |
|||
width: 0; |
|||
height: 0; |
|||
} |
|||
|
|||
.slider { |
|||
position: absolute; |
|||
cursor: pointer; |
|||
top: 0; |
|||
left: 0; |
|||
right: 0; |
|||
bottom: 0; |
|||
background-color: crimson; |
|||
border-radius: 34px; |
|||
-webkit-transition: .4s; |
|||
transition: .4s; |
|||
} |
|||
|
|||
.slider:before { |
|||
position: absolute; |
|||
border-radius: 50%; |
|||
content: ""; |
|||
height: 26px; |
|||
width: 26px; |
|||
left: 4px; |
|||
bottom: 4px; |
|||
background-color: white; |
|||
-webkit-transition: .4s; |
|||
transition: .4s; |
|||
} |
|||
|
|||
input:checked + .slider { |
|||
background-color:#2ecc71; |
|||
} |
|||
|
|||
input:focus + .slider { |
|||
box-shadow: 0 0 1px #2ecc71; |
|||
} |
|||
|
|||
input:checked + .slider:before { |
|||
-webkit-transform: translateX(26px); |
|||
-ms-transform: translateX(26px); |
|||
transform: translateX(26px); |
|||
} |
@ -1,98 +0,0 @@ |
|||
-- phpMyAdmin SQL Dump |
|||
-- version 5.1.1 |
|||
-- https://www.phpmyadmin.net/ |
|||
-- |
|||
-- Host: localhost |
|||
-- Generation Time: Oct 30, 2021 at 07:45 PM |
|||
-- Server version: 10.4.21-MariaDB |
|||
-- PHP Version: 8.0.10 |
|||
|
|||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; |
|||
START TRANSACTION; |
|||
SET time_zone = "+00:00"; |
|||
|
|||
|
|||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; |
|||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; |
|||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; |
|||
/*!40101 SET NAMES utf8mb4 */; |
|||
|
|||
-- |
|||
-- Database: `ticket` |
|||
-- |
|||
|
|||
-- -------------------------------------------------------- |
|||
|
|||
-- |
|||
-- Table structure for table `logins` |
|||
-- |
|||
|
|||
CREATE TABLE `logins` ( |
|||
`login` varchar(255) NOT NULL, |
|||
`pwd` varchar(255) NOT NULL |
|||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; |
|||
|
|||
-- |
|||
-- Dumping data for table `logins` |
|||
-- |
|||
|
|||
INSERT INTO `logins` (`login`, `pwd`) VALUES |
|||
('prof', 'arthur'), |
|||
('referant', 'azerty'); |
|||
|
|||
-- -------------------------------------------------------- |
|||
|
|||
-- |
|||
-- Table structure for table `pannes` |
|||
-- |
|||
|
|||
CREATE TABLE `pannes` ( |
|||
`ID` int(11) NOT NULL, |
|||
`dates` date NOT NULL, |
|||
`details` text NOT NULL, |
|||
`lieu` text NOT NULL, |
|||
`salle` varchar(255) NOT NULL, |
|||
`pos` text NOT NULL, |
|||
`materiel` varchar(255) NOT NULL, |
|||
`marque` varchar(255) NOT NULL, |
|||
`model` varchar(255) NOT NULL, |
|||
`nserie` text NOT NULL, |
|||
`demandeur` text NOT NULL, |
|||
`traitement` tinyint(1) NOT NULL |
|||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; |
|||
|
|||
-- |
|||
-- Dumping data for table `pannes` |
|||
-- |
|||
|
|||
INSERT INTO `pannes` (`ID`, `dates`, `details`, `lieu`, `salle`, `pos`, `materiel`, `marque`, `model`, `nserie`, `demandeur`, `traitement`) VALUES |
|||
(1, '2021-10-22', 'Bonjour de Bretagne', 'Bâtiment A', '42', 'au fond a gauche', 'pc', 'alienware', 'lattitude E6410', 'sefv-45-gd1', 'barraux', 0), |
|||
(4, '2021-10-23', 'sq@', 'FE', 'ds', 'QDGFDQ', 'UC', 'QGDF', 'FQG', 'QGZet', 'qgqre', 0), |
|||
(5, '2021-10-23', 'sq@', 'FE', 'ds', 'QDGFDQ', 'UC', 'QGDF', 'FQG', 'sgf', 'sef', 0), |
|||
(6, '2021-10-25', 'manque la dernière carte graphique', 'Locquirec', 'Ma chambre', 'Sur le lit', 'UC', 'Dell', 'LATITTUDE E6410', 'chai pas', 'BARRAUX', 0), |
|||
(7, '2021-10-28', 'pas d\'inspi', 'Locquirec', 'chambre 6', 'pas bougé', 'UC', 'Dell', 'flemme', 'je sais pas', 'Le Cocotier des mers', 0); |
|||
|
|||
-- |
|||
-- Indexes for dumped tables |
|||
-- |
|||
|
|||
-- |
|||
-- Indexes for table `pannes` |
|||
-- |
|||
ALTER TABLE `pannes` |
|||
ADD PRIMARY KEY (`ID`); |
|||
|
|||
-- |
|||
-- AUTO_INCREMENT for dumped tables |
|||
-- |
|||
|
|||
-- |
|||
-- AUTO_INCREMENT for table `pannes` |
|||
-- |
|||
ALTER TABLE `pannes` |
|||
MODIFY `ID` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=9; |
|||
COMMIT; |
|||
|
|||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; |
|||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; |
|||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; |
Loading…
Reference in new issue