<?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>