ChasseTresorPange/article.php

114 lines
4.0 KiB
PHP

<?php
require_once "require/base.php";
$article = array();
$solved = false;
$team_id = -1;
$art_id = -1;
$database = new Database();
$max_art = $database->getArticleNb();
if (isset($_GET["id"]) && isset($_GET["team"])) {
$art_id = htmlspecialchars($_GET["id"]);
$team_id = htmlspecialchars($_GET["team"]);
// Recherche de l'énigme indiquée dans la base :
$stmt = $database->pdo_article->prepare("SELECT * FROM puzzles WHERE id == :id");
$stmt->bindValue(":id", $art_id);
$stmt->execute();
$article = $stmt->fetch();
// Vérification de l'existence du groupe et de l'énigme :
if (empty($article) || !$database->checkTeamExists($team_id)) {
header("Location: index.php");
die();
}
else {
// On vérifie si l'énigme bonus n'est pas débloquée :
if (!$database->checkTeamBonus($team_id)) {
// Si c'est celle qui est sélectionnée, on retourne à la liste des énigmes :
if ($art_id == $max_art) {
header("Location: puzzles.php?team=" . $team_id);
die();
}
// On retire l'énigme bonus du total :
$max_art--;
}
// On indique si l'énigme est résolue :
$stmt = $database->pdo_teams->prepare("SELECT * FROM solved WHERE (team_id == :team_id AND puzzle_id == :puzzle_id)");
$stmt->bindValue(":team_id", $team_id);
$stmt->bindValue(":puzzle_id", $art_id);
$stmt->execute();
$solved = !empty($stmt->fetch());
}
}
else {
header("Location: index.php");
die();
}
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<?php
require_once $rq_path . "head.php";
?>
<title><?= $tr["tab_title"]["article"] ?></title>
<script type="module" src="<?= $rq_path ?>js/qrscan.js"></script>
</head>
<body>
<header>
<?php
require_once $rq_path . "nav.php";
?>
</header>
<main>
<header>
<h1><?= $tr["page_title"]["article"] . $art_id . " : " . $article["title"] ?></h1>
<h2><?= $article["text"] ?></h2>
<section>
<a href="puzzles.php?team=<?= $team_id ?>">
<button><?= $tr["article"]["back_but"] ?></button>
</a>
<!-- <a href="article.php?team=<?= $team_id ?>&id=<?= ($art_id % $max_art) + 1 ?>">
<button><?= $tr["article"]["next_but"] ?></button>
</a> -->
</section>
<?php if ($solved) : ?>
<p><?= $tr["article"]["success"] ?></p>
<?php else : ?>
<p><?= $tr["article"]["message"] ?></p>
<?php endif; ?>
</header>
<article>
<?php if ($solved) : ?>
<p><?= $article["answer"] ?></p>
<img src="images/map/puzzles/<?= $article["id"] ?>.png"/>
<?php else : ?>
<button><?= $tr["article"]["qr_but"] ?></button>
<p></p> <!-- Emplacement du message d'erreur JS concernant la caméra. !-->
<video></video>
<p><?= $tr["article"]["cam_sel"] ?></p>
<select>
<option value="rear" selected><?= $tr["article"]["r_cam"] ?></option>
<option value="front"><?= $tr["article"]["f_cam"] ?></option>
</select>
<!-- <p>Scanner depuis un fichier</p>
<input type="file" id="file-selector"> -->
<?php endif; ?>
</article>
</main>
<footer>
<?php
require_once $rq_path . "footer.php";
?>
</footer>
</body>
</html>