site-accueil-insa/admin/planning.php
2023-04-16 15:22:50 +02:00

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>