You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
2.2 KiB
68 lines
2.2 KiB
<?php
|
|
class UserModel
|
|
{
|
|
|
|
private EnigmeGateway $enigme_gateway;
|
|
private PartieGateway $partie_gateway;
|
|
private UtilisateurGateway $utilisateur_gateway;
|
|
private Nettoyage $nettoyage;
|
|
private Validation $validation;
|
|
|
|
function __construct()
|
|
{
|
|
try {
|
|
global $error, $view, $rep;
|
|
$this->enigme_gateway = new EnigmeGateway();
|
|
$this->partie_gateway = new PartieGateway();
|
|
$this->utilisateur_gateway = new UtilisateurGateway();
|
|
$this->nettoyage = new Nettoyage();
|
|
$this->validation = new Validation();
|
|
} catch (Exception $e) {
|
|
$error = $e->getMessage();
|
|
require($rep . $view['erreur']);
|
|
}
|
|
}
|
|
public function addToQueue()
|
|
{
|
|
echo '1';
|
|
if ($this->utilisateur_gateway->isAlreadyInqueue($_SESSION['utilisateur'])) {
|
|
return;
|
|
}
|
|
echo '2';
|
|
if (!$this->partie_gateway->partieInQueueExists()) {
|
|
echo '3';
|
|
$tabEnigme = $this->enigme_gateway->findMultiEnigma();
|
|
$idNewPartie = $this->partie_gateway->findPartieMaxId();
|
|
$partie = $this->partie_gateway->creerPartieMulti($idNewPartie, $tabEnigme);
|
|
} else {
|
|
echo '4';
|
|
$idPartieInQueue = $this->partie_gateway->findPartieInQueue();
|
|
echo '5';
|
|
$tabEnigme = $this->enigme_gateway->findEnigmaFromPartie($idPartieInQueue);
|
|
echo '6';
|
|
$partie = $this->partie_gateway->rejoindrePartieMulti($idPartieInQueue, $tabEnigme);
|
|
echo '7';
|
|
}
|
|
echo '8';
|
|
$this->utilisateur_gateway->addToQueue($_SESSION['utilisateur'], $partie);
|
|
$userGroup = $this->utilisateur_gateway->findUsersInQueue();
|
|
//trigger_event('add_to_queue',$userGroup);
|
|
}
|
|
|
|
public function AddUserToQueueEvent()
|
|
{
|
|
$userGroup = $this->utilisateur_gateway->findUsersInQueue();
|
|
if ($userGroup . count() >= 4) {
|
|
$this->utilisateur_gateway->launchGame();
|
|
}
|
|
}
|
|
|
|
public function logout()
|
|
{
|
|
session_unset();
|
|
session_destroy();
|
|
$_SESSION = array();
|
|
$_SESSION['role'] = 'visitor';
|
|
header('Location: index.php');
|
|
}
|
|
} |