public function getListConcurrent($id_tournoi)
 {
     $q = $this->_db->query('SELECT id_concurrent, id_tournoi, nom_concurrent, nb_concurrent FROM concurrent WHERE id_tournoi = ' . $id_tournoi . ' ORDER BY id_concurrent');
     while ($donnees = $q->fetch(PDO::FETCH_ASSOC)) {
         $concurrent = new Concurrent();
         $concurrent->hydrate($donnees);
         $tab_concurrent[] = $concurrent;
     }
     return $tab_concurrent;
 }
Ejemplo n.º 2
0
     unset($_SESSION['random']);
 }
 /*************Tournoi******************
  ***********************************/
 $tournoi = new Tournoi();
 $tournoi->setIdOrganisateur($_SESSION["id_supporter"]);
 $tournoi->setNomTournoi($_SESSION["nom_tournoi"]);
 $tournoi->setSport($_SESSION["type_sport"]);
 $tournoi->setNbEquipe($_SESSION["nb_concurrent"]);
 $tournoi->setTypeTournoi($_SESSION["type_tournoi"]);
 //ajout du tournoi
 $manager_tournoi->addTournoi($tournoi);
 /*************Concurrent******************
  ***********************************/
 $id_tournoi = $manager_tournoi->getLastId();
 $concurrent = new Concurrent();
 for ($i = 1; $i <= $tournoi->getNbEquipe(); $i++) {
     $nom_concurrent = isset($crea_tournoi_tab_concurrent['nom_concurrent_' . $i]) && $crea_tournoi_tab_concurrent['nom_concurrent_' . $i] != '' ? $crea_tournoi_tab_concurrent['nom_concurrent_' . $i] : null;
     $concurrent->setIdTournoi($id_tournoi);
     $concurrent->setNomConcurrent($nom_concurrent);
     $concurrent->setNbConcurrent(1);
     //ajout des concurrents
     $manager_concurrent->addConcurrent($concurrent);
 }
 /******************************************
  *****************************************/
 if ($_SESSION['type_tournoi'] == "elimination_directe") {
     //Si besoin d'un ou plusieurs fantomes :
     if ($tournoi->getNbEquipe() != 2 || $tournoi->getNbEquipe() != 4 || $tournoi->getNbEquipe() != 8 || $tournoi->getNbEquipe() != 16) {
         if ($tournoi->getNbEquipe() <= 2) {
             $nb_fantome = 2 - $tournoi->getNbEquipe();
function creaChampionnatFantome($id_tournoi, $tab_c, Tournoi $tournoi, Concurrent $concurrent)
{
    $manager_concurrent = connect('Concurrent');
    //gestion des fantomes
    if ($tournoi->getNbEquipe() != 4 || $tournoi->getNbEquipe() != 6 || $tournoi->getNbEquipe() != 8 || $tournoi->getNbEquipe() != 12 || $tournoi->getNbEquipe() != 16 || $tournoi->getNbEquipe() != 24 || $tournoi->getNbEquipe() != 32) {
        if ($tournoi->getNbEquipe() <= 4) {
            $nb_fantome = 4 - $tournoi->getNbEquipe();
        } else {
            if ($tournoi->getNbEquipe() <= 6) {
                $nb_fantome = 6 - $tournoi->getNbEquipe();
            } else {
                if ($tournoi->getNbEquipe() <= 8) {
                    $nb_fantome = 8 - $tournoi->getNbEquipe();
                } else {
                    if ($tournoi->getNbEquipe() <= 12) {
                        $nb_fantome = 12 - $tournoi->getNbEquipe();
                    } else {
                        if ($tournoi->getNbEquipe() <= 16) {
                            $nb_fantome = 16 - $tournoi->getNbEquipe();
                        } else {
                            if ($tournoi->getNbEquipe() <= 24) {
                                $nb_fantome = 24 - $tournoi->getNbEquipe();
                            } else {
                                if ($tournoi->getNbEquipe() <= 32) {
                                    $nb_fantome = 32 - $tournoi->getNbEquipe();
                                }
                            }
                        }
                    }
                }
            }
        }
        for ($i = 1; $i <= $nb_fantome; $i++) {
            $concurrent->setIdTournoi($id_tournoi);
            $concurrent->setNomConcurrent("~~free win~~");
            $concurrent->setNbConcurrent(1);
            $tab_fantome[] = $concurrent->getNomConcurrent();
            $manager_concurrent->addConcurrent($concurrent);
        }
        $nb_equipe_total = $tournoi->getNbEquipe() + $nb_fantome;
        //fusion des 2 tableaux fantome et real concurrent
        $tab_co = array_reverse($tab_c);
        $x = 0;
        $espace_fantome = 0;
        foreach ($tab_co as $value_concurrent) {
            if ($x < $nb_fantome) {
                if ($espace_fantome % 3 == 0 && ($nb_equipe_total == 6 || $nb_equipe_total == 12 || $nb_equipe_total == 24)) {
                    $tab_con[] = $tab_fantome[$x];
                    $x++;
                } else {
                    if ($espace_fantome % 3 == 0 && ($nb_equipe_total == 4 || $nb_equipe_total == 8 || $nb_equipe_total == 16 || $nb_equipe_total == 32)) {
                        $tab_con[] = $tab_fantome[$x];
                        $x++;
                    }
                }
            }
            $tab_con[] = $value_concurrent;
            $espace_fantome++;
        }
        $tab_concurrent = array_reverse($tab_con);
    }
    $tab_fantome_championnat = array('nb_fantome' => $nb_fantome, 'tab_concurrent' => $tab_concurrent);
    return $tab_fantome_championnat;
}