Calcul et affichage du temps restant
continuous-integration/drone/push Build is passing Details

ServeurDeTest
Noé GARNIER 2 years ago
parent 0cbe1edddc
commit fb503a7c1d

@ -319,7 +319,16 @@ class PartieGateway
$results = $this->con->getResults(); $results = $this->con->getResults();
$row = $results[0]; $row = $results[0];
return $row['enigme']; return $row['enigme'];
}
public function getDateDebut($idPartie) : DateTime{
$query = "SELECT dateDebut FROM Partie WHERE id = :idPartie";
$this->con->executeQuery($query, array(
"idPartie" => array($idPartie, SQLITE3_INTEGER)
)
);
$results = $this->con->getResults();
$date = new DateTime ($results[0]['dateDebut']);
return $date;
} }
public function showAll(): void public function showAll(): void
{ {

@ -243,6 +243,7 @@ class UserController
$index = $_GET['index']; $index = $_GET['index'];
$lastIndex = $model->getLastIndex($idPartie); $lastIndex = $model->getLastIndex($idPartie);
if($lastIndex != 0 && $index == $lastIndex + 1){ if($lastIndex != 0 && $index == $lastIndex + 1){
$dateDebut = $model->getDateDebut($idPartie);
require($rep . $vues['gameEnd']); require($rep . $vues['gameEnd']);
} }
else{ else{

@ -147,4 +147,8 @@ class UserModel
public function getLastOrdre() :int { public function getLastOrdre() :int {
return $this->enigme_gateway->getLastOrdre(); return $this->enigme_gateway->getLastOrdre();
} }
public function getDateDebut($idPartie) : DateTime{
return $this->partie_gateway->getDateDebut($idPartie);
}
} }

@ -19,11 +19,39 @@
<div class="row"> <div class="row">
<div class="col-12"> <div class="col-12">
<p>Vous avez terminer toute les énimges.</p> <p>Vous avez terminer toute les énimges.</p>
<p>Temps restant avant la fin de la partie :</p><br> <p>Temps restant avant la fin de la partie :</p>
<p><?php echo $_SESSION['tpsMaxPartie']?></p> <?php
$end_time = $dateDebut->modify('+'. $_SESSION['tpsMaxPartie'] .'minutes');
$now = new DateTime();
$interval = $now->diff($end_time);
$remaining_seconds = $interval->days * 24 * 60 * 60 + $interval->h * 60 * 60 + $interval->i * 60 + $interval->s;
?>
<div id="countdown"></div>
</div> </div>
</div> </div>
</div> </div>
<script>
var seconds = <?php echo $remaining_seconds; ?>;
function countdown() {
var days = Math.floor(seconds/24/60/60);
var hoursLeft = Math.floor((seconds) - (days*86400));
var hours = Math.floor(hoursLeft/3600);
var minutesLeft = Math.floor((hoursLeft) - (hours*3600));
var minutes = Math.floor(minutesLeft/60);
var remainingSeconds = seconds % 60;
if (remainingSeconds < 10) {
remainingSeconds = "0" + remainingSeconds;
}
document.getElementById('countdown').innerHTML = days + " jours " + hours + " heures " + minutes + " minutes " + remainingSeconds + " secondes";
if (seconds == 0) {
clearInterval(countdown);
document.getElementById('countdown').innerHTML = "Expired";
} else {
seconds--;
}
}
var countdownTimer = setInterval('countdown()', 1000);
</script>
<!-- Bootstrap JavaScript Libraries --> <!-- Bootstrap JavaScript Libraries -->
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.6/dist/umd/popper.min.js" <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.6/dist/umd/popper.min.js"
integrity="sha384-oBqDVmMz9ATKxIep9tiCxS/Z9fNfEXiDAYTujMAeBAsjFuCZSmKbSSUnQlmh/jp3" crossorigin="anonymous"> integrity="sha384-oBqDVmMz9ATKxIep9tiCxS/Z9fNfEXiDAYTujMAeBAsjFuCZSmKbSSUnQlmh/jp3" crossorigin="anonymous">

Loading…
Cancel
Save