Une erreur est survenue de notre côté
Sélectionner une révision Git
-
Jonathan CROUZET a rédigéJonathan CROUZET a rédigé
PartieController.php 11,14 Kio
<?php
/**
* Created by PhpStorm.
* User: phoenix
* Date: 25/04/16
* Time: 15:27
*/
class PartieController extends Controller
{
public function displayStep0(){
$this->view->liste = Jeu::getList();
$this->view->display();
}
public function displayStep1(){
session_start();
if(!isset($_SESSION['jeu_select']))
header("Location:../add_partie");
$this->view->jeuactuel = $_SESSION['jeu_select'];
$this->view->listej = Profil::getList();
$this->view->display();
}
public function displayStep2(){
session_start();
if(!isset($_SESSION['jeu_select']))
header("Location:../add_partie");
if(!isset($_SESSION['joueurs_select']))
header("Location:../add_partie/step1");
$this->view->jeuactuel = $_SESSION['jeu_select'];
$this->view->listejactuel = $_SESSION['joueurs_select'];
$this->view->display();
}
public function displayStepe1(){
session_start();
if(!isset($_SESSION['jeu_select']) || !isset($_SESSION['equipes']))
header("Location:../add_partie");
$this->view->jeuactuel = $_SESSION['jeu_select'];
$this->view->listej = Profil::getList();
$this->view->equipes = $_SESSION['equipes'];
$this->view->display();
}
public function displayStepe2(){
session_start();
if(!isset($_SESSION['jeu_select']))
header("Location:../add_partie");
if(!isset($_SESSION['equipes']))
header("Location:../add_partie/stepe1");
$this->view->jeuactuel = $_SESSION['jeu_select'];
$this->view->equipes = $_SESSION['equipes'];
$this->view->display();
}
public function displayValid(){
$this->view->display();
}
public static function verifyStep0(){
if(!isset($_POST['jeu'])) {
//appeler une fonction d'erreur
echo "<h1>Erreur : variables absentes</h1>";
die();
}
$jeu = $_POST['jeu'];
if(!Jeu::checkExistsNom($jeu)) {
echo "<h1>Erreur : le jeu entré est introuvable dans la BD.</h1>";
die();
}
$jeu = Jeu::getFromNom($jeu);
session_start();
$_SESSION['jeu_select'] = $jeu;
if($jeu->type == 'equipes'){
$_SESSION['equipes'] = array(array());
header('Location:stepe1');
}
else
header('Location:step1');
}
public static function addjoueurs1(){
session_start();
if(!isset($_SESSION['jeu_select']))
header("Location:../add_partie");
if(!isset($_POST["joueur"])){
echo "<h1>Erreur : pas de joueur entré.</h1>";
die();
}
$jeu = $_SESSION['jeu_select'];
$joueur = $_POST["joueur"];
if(Profil::checkExists($joueur)){
$joueur_objet = Profil::getFromSlug($joueur);
}
else{
echo "<h1>Erreur : le joueur est introuvable dans la base de données.</h1>";
die();
}
if($jeu->type == 'equipes'){
$ke = $_POST['equipejadd'];
foreach ($_SESSION['equipes'] as $equipe){
if(in_array($joueur_objet, $equipe)){
echo "<h1>Erreur : le joueur a déjà été inscrit pour cette partie.</h1>";
die();
}
}
array_push($_SESSION['equipes'][$ke], $joueur_objet);
header("Location:stepe1");
}
else{
if (!isset($_SESSION['joueurs_select'])){
$_SESSION['joueurs_select'] = array($joueur_objet);
echo "<h1>L'ajout s'est bien passé.</h1>";
header("Location:step1");
}
if(!in_array($joueur_objet, $_SESSION['joueurs_select']))
array_push($_SESSION['joueurs_select'], $joueur_objet);
else{
echo "<h1>Erreur : le joueur a déjà été inscrit pour cette partie.</h1>";
die();
}
echo "<h1>L'ajout s'est bien passé.</h1>";
header("Location:step1");
}
}
public static function deljoueurs1(){
session_start();
if(!isset($_SESSION['jeu_select']))
header("Location:../add_partie");
if($_SESSION['jeu_select']->type == 'duels') {
if (!isset($_SESSION['joueurs_select']))
header("Location:step1");
}
if($_SESSION['jeu_select']->type == 'equipes') {
if (!isset($_SESSION['equipes']))
header("Location:stepe1");
}
if(!isset($_POST['joueurdel']))
{
echo "<h1>Erreur : variables manquantes.</h1>";
die();
}
if($_SESSION['jeu_select']->type == 'equipes'){
unset($_SESSION['equipes'][$_POST['equipejdel']][$_POST['joueurdel']]);
$equipe_tmp = array();
foreach ($_SESSION['equipes'][$_POST['equipejdel']] as $j)
array_push($equipe_tmp, $j);
$_SESSION['equipes'][$_POST['equipejdel']] = $equipe_tmp;
header("Location:stepe1");
}
else{
unset($_SESSION['joueurs_select'][$_POST['joueurdel']]);
$joueurs_tmp = array();
foreach ($_SESSION['joueurs_select'] as $j)
array_push($joueurs_tmp, $j);
$_SESSION['joueurs_select'] = $joueurs_tmp;
header("Location:step1");
}
}
public static function delequipe(){
session_start();
if (!isset($_SESSION['jeu_select']))
header("Location:../add_partie");
if (!isset($_SESSION['equipes']))
header("Location:stepe1");
if (count($_SESSION['equipes']) <= 1){
echo "<h1>Erreur : vous ne pouvez pas supprimer la seule équipe restante.</h1>";
die();
}
if(!isset($_POST['equipe'])){
echo "<h1>Erreur : variables manquantes.</h1>";
die();
}
unset($_SESSION['equipes'][$_POST['equipe']]);
$equipe_tmp = array();
foreach ($_SESSION['equipes'] as $e)
array_push($equipe_tmp, $e);
$_SESSION['equipes'] = $equipe_tmp;
header("Location:stepe1");
}
public static function addequipe(){
session_start();
if (!isset($_SESSION['jeu_select']))
header("Location:../add_partie");
if (count($_SESSION['equipes']) == $_SESSION['jeu_select']->max_equipes){
echo "<h1>Erreur : vous ne pouvez pas créer d'équipe supplémentaire.</h1>";
die();
}
array_push($_SESSION['equipes'], array());
header("Location:stepe1");
}
public static function verifyStep1(){
session_start();
if(!isset($_SESSION['jeu_select']))
header("Location:../add_partie");
$jeu_actuel = $_SESSION['jeu_select'];
if ($jeu_actuel->type == 'equipes'){
if(!isset($_SESSION['equipes']))
header("Location:stepe1");
$equipes = $_SESSION['equipes'];
if (count($equipes) < $jeu_actuel->min_equipes){
echo "<h1>Erreur : il n'y a pas assez d'équipes.</h1>";
die();
}
if (count($equipes) > $jeu_actuel->max_equipes){
echo "<h1>Erreur : il y a trop d'équipes.</h1>";
die();
}
foreach ($equipes as $ke => $e){
if (count($e) < $jeu_actuel->min_joueurs){
$ke = $ke+1;
echo "<h1>Erreur : il n'y a pas assez de joueurs dans l'équipe $ke.</h1>";
die();
}
if (!is_null($jeu_actuel->max_joueurs)){
if (count($e) > $jeu_actuel->max_joueurs){
$ke = $ke+1;
echo "<h1>Erreur : il y a trop de joueurs dans l'équipe $ke.</h1>";
die();
}
}
}
header("Location:stepe2");
}
else{
if(!isset($_SESSION['joueurs_select']))
header("Location:step1");
$joueurs = $_SESSION['joueurs_select'];
if (count($joueurs) < $jeu_actuel->min_joueurs){
echo "<h1>Erreur : il n'y a pas assez de joueurs.</h1>";
die();
}
if (count($joueurs) > $jeu_actuel->max_joueurs){
echo "<h1>Erreur : il y a trop de joueurs.</h1>";
die();
}
header('Location:step2');
}
}
public function verifyStep2(){
session_start();
if(!isset($_SESSION['jeu_select']))
header("Location:../add_partie");
$jeu = $_SESSION['jeu_select'];
if ($jeu->type == 'equipes') {
if (!isset($_SESSION['equipes']))
header("Location:stepe1");
}
else{
if(!isset($_SESSION['joueurs_select']))
header("Location:../add_partie/step1");
}
if(!isset($_POST['scores'])) {
//appeler une fonction d'erreur
echo "<h1>Erreur : variables absentes</h1>";
die();
}
$scores = $_POST["scores"];
foreach ($scores as $s){
if(!is_numeric($s)) {
echo "<h1>Erreur : les scores doivent être des nombres.</h1>";
die();
}
}
if ($jeu->type == 'equipes') {
$equipes = $_SESSION['equipes'];
$ns = count($scores);
$nj = count($equipes);
if ($ns != $nj){
//appeler une fonction d'erreur
echo "<h1>Erreur : scores et joueurs incohérents</h1>";
die();
}
$pb = Partie::addPartie($equipes, $scores, $jeu);
if(!$pb) {
unset($_SESSION['equipes']);
unset($_SESSION['jeu_select']);
header('Location:valid'); // Redirection vers la page OK
}
switch ($pb) {
case 2:
echo "<h1>Erreur de connexion à la BD.</h1>";
die();
break;
default:
echo "<h1>Erreur non gérée.</h1>";
die();
break;
}
}
else{
$joueurs = $_SESSION['joueurs_select'];
$ns = count($scores);
$nj = count($joueurs);
if ($ns != $nj){
//appeler une fonction d'erreur
print_r($scores);
echo "<h1>Erreur : scores et joueurs incohérents</h1>";
die();
}
$pb = Partie::addPartie($joueurs, $scores, $jeu);
if(!$pb) {
unset($_SESSION['jeu_select']);
unset($_SESSION['joueurs_select']);
header('Location:valid'); // Redirection vers la page OK
}
switch ($pb) {
case 2:
echo "<h1>Erreur de connexion à la BD.</h1>";
die();
break;
default:
echo "<h1>Erreur non gérée.</h1>";
die();
break;
}
}
}
}