forked from rebillar/site-accueil-insa
233 lines
No EOL
7.7 KiB
PHP
233 lines
No EOL
7.7 KiB
PHP
<?php
|
|
include "script.php";
|
|
|
|
if($user['perm'] < 2) {
|
|
header('Location: deco.php');
|
|
}
|
|
|
|
$req = $db->query('SELECT * FROM planning_insa');
|
|
|
|
if(isset($_GET['del']) AND !empty($_GET['del']))
|
|
{
|
|
if($user['perm'] >= 2) {
|
|
$del = (int) htmlspecialchars($_GET['del']);
|
|
|
|
$req = $db->prepare('DELETE FROM planning_insa WHERE id =?');
|
|
$req->execute(array($del));
|
|
header('Location: planning.php');
|
|
}
|
|
}
|
|
|
|
if(isset($_GET['select']) AND !empty($_GET['select']))
|
|
{
|
|
$select = (int) htmlspecialchars($_GET['select']);
|
|
$req = $db->prepare('SELECT * FROM planning_insa WHERE num_planning = ?');
|
|
$req->execute(array($select));
|
|
}
|
|
|
|
$req2 = $db->query('SELECT num_planning FROM planning_insa');
|
|
$tab = [];
|
|
$length = 0;
|
|
while($h = $req2->fetch()) {
|
|
array_push($tab, $h['num_planning']);
|
|
$length++;
|
|
}
|
|
$tab = array_unique($tab); //supprimer les doublons
|
|
|
|
if(isset($_POST['send'])) {
|
|
if($user['perm'] >= 2) {
|
|
|
|
if(isset($_POST['id_base']) AND !empty($_POST['id_base'])) {
|
|
$id_base = (int) htmlspecialchars($_POST['id_base']);
|
|
|
|
if(isset($_POST['day']) AND !empty($_POST['day'])) {
|
|
$day = (int) htmlspecialchars($_POST['day']);
|
|
$req = $db->prepare("UPDATE planning_insa SET day = ? WHERE id = ?");
|
|
$req->execute(array($day, $id_base));
|
|
}
|
|
if(isset($_POST['title']) AND !empty($_POST['title'])) {
|
|
$title = htmlspecialchars($_POST['title']);
|
|
$req = $db->prepare("UPDATE planning_insa SET title = ? WHERE id = ?");
|
|
$req->execute(array($title, $id_base));
|
|
}
|
|
if(isset($_POST['description']) AND !empty($_POST['description'])) {
|
|
$description = htmlspecialchars($_POST['description']);
|
|
$req = $db->prepare("UPDATE planning_insa SET description = ? WHERE id = ?");
|
|
$req->execute(array($description, $id_base));
|
|
}
|
|
if (isset($_POST['colorhex']) AND !empty($_POST['colorhex'])) {
|
|
$color = htmlspecialchars($_POST['colorhex']);
|
|
$req = $db->prepare("UPDATE planning_insa SET color = ? WHERE id = ?");
|
|
$req->execute(array($color, $id_base));
|
|
}
|
|
if(isset($_POST['order_start']) AND !empty($_POST['order_start'])) {
|
|
$order_start = (int) htmlspecialchars($_POST['order_start']);
|
|
$req = $db->prepare("UPDATE planning_insa SET order_start = ? WHERE id = ?");
|
|
$req->execute(array($order_start, $id_base));
|
|
}
|
|
if(isset($_POST['length']) AND !empty($_POST['length'])) {
|
|
$length = (float) (4.1)*htmlspecialchars($_POST['length']);
|
|
$req = $db->prepare("UPDATE planning_insa SET length = ? WHERE id = ?");
|
|
$req->execute(array($length, $id_base));
|
|
}
|
|
if(isset($_POST['num_planning']) AND !empty($_POST['num_planning'])) {
|
|
$num_planning = (int) htmlspecialchars($_POST['num_planning']);
|
|
$req = $db->prepare("UPDATE planning_insa SET num_planning = ? WHERE id = ?");
|
|
$req->execute(array($num_planning, $id_base));
|
|
}
|
|
|
|
header('Refresh: 0');
|
|
} else {
|
|
if(isset($_POST['day']) AND !empty($_POST['day'])
|
|
AND isset($_POST['title']) AND !empty($_POST['title'])
|
|
AND isset($_POST['description']) AND !empty($_POST['description'])
|
|
AND isset($_POST['color']) AND !empty($_POST['color'])
|
|
AND isset($_POST['order_start']) AND !empty($_POST['order_start'])
|
|
AND isset($_POST['length']) AND !empty($_POST['length'])
|
|
AND isset($_POST['num_planning']) AND !empty($_POST['num_planning'])
|
|
AND isset($_POST['opacity'])) {
|
|
|
|
$day = (int) htmlspecialchars($_POST['day']);
|
|
$title = htmlspecialchars($_POST['title']);
|
|
$desc = htmlspecialchars($_POST['description']);
|
|
$color = htmlspecialchars($_POST['color']);
|
|
$opacity = (float) htmlspecialchars($_POST['opacity']);
|
|
$order_start = (int) htmlspecialchars($_POST['order_start']);
|
|
$len = (float) (4.1)*htmlspecialchars($_POST['length']);
|
|
$num_planning = (int) htmlspecialchars($_POST['num_planning']);
|
|
|
|
|
|
if (isset($_POST['colorhex']) AND !empty($_POST['colorhex'])) {
|
|
$color = htmlspecialchars($_POST['colorhex']);
|
|
} else {
|
|
|
|
if($opacity <= 100 AND $opacity >= 0) {
|
|
if($opacity == 0) {
|
|
$color = "transparent";
|
|
} else {
|
|
$color = $color.dechex($opacity*2.55);
|
|
}
|
|
} else {
|
|
$error = "l'opacité doit être en %";
|
|
}
|
|
}
|
|
|
|
$req = $db->prepare("INSERT INTO planning_insa(day, title, description, color, order_start, length, num_planning) VALUES(?, ?, ?, ?, ?, ?, ?)");
|
|
$req->execute(array($day, $title, $desc, $color, $order_start, $len, $num_planning));
|
|
header('refresh:0');
|
|
} else {
|
|
$error = "Tout les champs doivent être complétés";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
?>
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>Admin / Planning</title>
|
|
</head>
|
|
<body>
|
|
<main>
|
|
<form method="POST">
|
|
<select name="day" class="input_inline">
|
|
<option value="">-----</option>
|
|
<option value="1">Lundi</option>
|
|
<option value="2">Mardi</option>
|
|
<option value="3">Mercredi</option>
|
|
<option value="4">Jeudi</option>
|
|
<option value="5">Vendredi</option>
|
|
<option value="6">Samedi</option>
|
|
<option value="7">Dimanche</option>
|
|
</select>
|
|
<input type="text" class="input_inline" name="title" placeholder="titre">
|
|
<input type="text" class="input_inline" name="description" placeholder="description">
|
|
<input type="color" name="color">
|
|
<input type="text" name="colorhex" placeholder="couleur hexa (pas obligatoire)" class="input_inline">
|
|
<input type="float" class="input_inline" name="opacity" placeholder="Opacité (%)" value="100">
|
|
<input type="number" class="input_inline" name="order_start" placeholder="Ordre d'apparition">
|
|
<input type="number" step="0.01" class="input_inline" name="length" placeholder="Taille (en heure)">
|
|
<select name="num_planning" class="input_inline">
|
|
<option value="">-----</option>
|
|
<option value="1">Planning 1</option>
|
|
<option value="2">Planning 2</option>
|
|
<option value="3">Planning 3</option>
|
|
<option value="4">Planning 4</option>
|
|
<option value="5">Planning 5</option>
|
|
</select>
|
|
<input type="submit" value="Ajouter" name="send" class="submit_inline">
|
|
<input type="number" class="input_inline" name="id_base" placeholder="id si edit">
|
|
</form><br><br>
|
|
|
|
<?php
|
|
if(isset($error)) {
|
|
echo "<font color='red'>".$error."</font>";
|
|
}
|
|
?>
|
|
<a href="planning.php"><input type="submit" value="All" class="submit_inline"></a>
|
|
<?php
|
|
for($i=0; $i<$length; $i++) {
|
|
if(isset($tab[$i])) {
|
|
echo '<a href="?select='.$tab[$i].'"><input type="submit" value="Planning '.$tab[$i].'" class="submit_inline"></a>';
|
|
}
|
|
}
|
|
?>
|
|
<br><br>
|
|
<table class="acces">
|
|
<tr>
|
|
<th width="5%">ID (db)</th>
|
|
<th width="10%">Jour</th>
|
|
<th width="20%">Titre</th>
|
|
<th width="30%">Description</th>
|
|
<th width="5%">Couleur</th>
|
|
<th width="5%">Ordre d'apparition</th>
|
|
<th width="5%">taille</th>
|
|
<th width="10%">Planning n°</th>
|
|
<th width="10%">Action</th>
|
|
</tr>
|
|
<?php
|
|
while($r = $req->fetch()) {
|
|
?>
|
|
<tr>
|
|
<td><?= $r['id'] ?></td>
|
|
<td><?php
|
|
switch ($r['day']) {
|
|
case 1:
|
|
echo "Lundi";
|
|
break;
|
|
case 2:
|
|
echo "Mardi";
|
|
break;
|
|
case 3:
|
|
echo "Mercredi";
|
|
break;
|
|
case 4:
|
|
echo "Jeudi";
|
|
break;
|
|
case 5:
|
|
echo "Vendredi";
|
|
break;
|
|
case 6:
|
|
echo "Samedi";
|
|
break;
|
|
case 7:
|
|
echo "Dimanche";
|
|
break;
|
|
}
|
|
?></td>
|
|
<td><?= $r['title'] ?></td>
|
|
<td><?= $r['description'] ?></td>
|
|
<td style="background-color: <?= $r['color'] ?>;"><?= $r['color'] ?></td>
|
|
<td><?= $r['order_start'] ?></td>
|
|
<td><?php echo ($r['length']/4.1) ?>h</td>
|
|
<td><?= $r['num_planning'] ?></td>
|
|
<td><a href="?del=<?= $r['id'] ?>" class="cross">X</a></td>
|
|
</tr>
|
|
<?php } ?>
|
|
</table>
|
|
</main>
|
|
</body>
|
|
|
|
</html>
|