$new_rencontre->setIdTournoi($_SESSION['id_tournoi']);
             $new_rencontre->setPlaceRencontre($tab_position['new_position']);
             if ($tab_position['pos_box'] == "A") {
                 $new_rencontre->setIdConcurrentA($av_concurrentA['id_concurrent']);
             } else {
                 if ($tab_position['pos_box'] == "B") {
                     $new_rencontre->setIdConcurrentB($av_concurrentA['id_concurrent']);
                 }
             }
             $manager_rencontre->updateNewRencontre($new_rencontre);
         } else {
             if ($av_rencontre['vainqueur_rencontre'] == $av_concurrentB['nom_concurrent']) {
                 $tab_position = new_place($av_rencontre, $manager_tournoi);
                 //recherche l'id de la prochaine rencontre
                 $tab_id_rencontre = $manager_rencontre->getByIdTournoiAndPlaceRencontre($_SESSION['id_tournoi'], $tab_position['new_position']);
                 $new_rencontre = new Rencontre();
                 $new_rencontre->setIdRencontre($tab_id_rencontre['id_rencontre']);
                 $new_rencontre->setIdTournoi($_SESSION['id_tournoi']);
                 $new_rencontre->setPlaceRencontre($tab_position['new_position']);
                 if ($tab_position['pos_box'] == "A") {
                     $new_rencontre->setIdConcurrentA($av_concurrentB['id_concurrent']);
                 } else {
                     if ($tab_position['pos_box'] == "B") {
                         $new_rencontre->setIdConcurrentB($av_concurrentB['id_concurrent']);
                     }
                 }
                 $manager_rencontre->updateNewRencontre($new_rencontre);
             }
         }
     }
 }
Пример #2
0
             }
             $tab_con[] = $value_concurrent;
         }
         $tab_concurrent = array_reverse($tab_con);
     }
     //$tab_concurrent contient que les nom des concurrents
 } else {
     if ($_SESSION['type_tournoi'] == "championnat") {
         $tab_fantome_championnat = creaChampionnatFantome($id_tournoi, $tab_c, $tournoi, $concurrent);
         $nb_fantome = $tab_fantome_championnat['nb_fantome'];
         $tab_concurrent = $tab_fantome_championnat['tab_concurrent'];
     }
 }
 /*************Rencontre******************
  ***********************************/
 $rencontre = new Rencontre();
 if (isset($nb_fantome)) {
     $nb_equipe = $nb_fantome + $tournoi->getNbEquipe();
 } else {
     $nb_equipe = $tournoi->getNbEquipe();
 }
 //calcul du nombre de rencontre total
 if ($_SESSION['type_tournoi'] == "elimination_directe") {
     if ($nb_equipe == 2) {
         $nb_rencontre = $nb_equipe / 2;
     } else {
         if ($nb_equipe == 4) {
             $nb_rencontre = $nb_equipe / 2 + $nb_equipe / 4;
         } else {
             if ($nb_equipe == 8) {
                 $nb_rencontre = $nb_equipe / 2 + $nb_equipe / 4 + $nb_equipe / 8;
 public function updateNewRencontre(Rencontre $rencontre)
 {
     $id_concurrent_A = "";
     $id_concurrent_B = "";
     if ($rencontre->getIdConcurrentA() != "") {
         $id_concurrent_A = 'id_concurrent_A = :id_concurrent_A';
     } else {
         if ($rencontre->getIdConcurrentB() != "") {
             $id_concurrent_B = 'id_concurrent_B = :id_concurrent_B';
         }
     }
     $q = $this->_db->prepare('UPDATE rencontre SET' . ' place_rencontre = :place_rencontre, ' . $id_concurrent_A . $id_concurrent_B . ' WHERE id_rencontre = :id_rencontre');
     $q->bindValue(':place_rencontre', $rencontre->getPlaceRencontre(), PDO::PARAM_INT);
     if ($rencontre->getIdConcurrentA() != "") {
         $q->bindValue(':id_concurrent_A', $rencontre->getIdConcurrentA(), PDO::PARAM_INT);
     } else {
         if ($rencontre->getIdConcurrentB() != "") {
             $q->bindValue(':id_concurrent_B', $rencontre->getIdConcurrentB(), PDO::PARAM_INT);
         }
     }
     $q->bindValue(':id_rencontre', $rencontre->getIdRencontre(), PDO::PARAM_INT);
     $q->execute();
 }
function Beep($id_tournoi)
{
    $manager_concurrent = connect('Concurrent');
    $manager_rencontre = connect('Rencontre');
    $tab_r = $manager_rencontre->getListRencontre($id_tournoi);
    $tab_rencontre = array_reverse($tab_r);
    //on renverse le tableau pour commencer par les 1ere rencontre et non pas par la final
    foreach ($tab_rencontre as $key => $value) {
        $av_rencontre = $manager_rencontre->getByIdRencontre($value->getIdRencontre());
        $av_concurrentA = $manager_concurrent->getByIdConcurrent($av_rencontre['id_concurrent_A']);
        $av_concurrentB = $manager_concurrent->getByIdConcurrent($av_rencontre['id_concurrent_B']);
        //mise à jour de la rencontre défini le vainqueur
        $rencontre_up = new Rencontre();
        $rencontre_up->setIdRencontre($value->getIdRencontre());
        if ($av_concurrentA['nom_concurrent'] == "~~free win~~" || $av_concurrentB['nom_concurrent'] == "~~free win~~") {
            echo "il y a un fantome<br>";
            if ($av_concurrentA['nom_concurrent'] == "~~free win~~") {
                $rencontre_up->setVainqueurRencontre($av_concurrentB['nom_concurrent']);
                $av_rencontre['vainqueur_rencontre'] = $av_concurrentB['nom_concurrent'];
            } else {
                if ($av_concurrentB['nom_concurrent'] == "~~free win~~") {
                    $rencontre_up->setVainqueurRencontre($av_concurrentA['nom_concurrent']);
                    $av_rencontre['vainqueur_rencontre'] = $av_concurrentA['nom_concurrent'];
                }
            }
            echo "Vainqueur :" . $rencontre_up->getVainqueurRencontre() . "<br><br>";
            //ajoute le vainqueur de la rencontre si il y a un fantome
            $manager_rencontre->updateVainqueurRencontre($rencontre_up);
            //met a jour la prochaine rencontre
            if ($av_rencontre['vainqueur_rencontre'] == $av_concurrentA['nom_concurrent']) {
                $tab_position = new_place($av_rencontre);
                //recherche l'id de la prochaine rencontre
                $tab_id_rencontre = $manager_rencontre->getByIdTournoiAndPlaceRencontre($id_tournoi, $tab_position['new_position']);
                $new_rencontre = new Rencontre();
                $new_rencontre->setIdRencontre($tab_id_rencontre['id_rencontre']);
                $new_rencontre->setPlaceRencontre($tab_position['new_position']);
                if ($tab_position['pos_box'] == "A") {
                    $new_rencontre->setIdConcurrentA($av_concurrentA['id_concurrent']);
                } else {
                    if ($tab_position['pos_box'] == "B") {
                        $new_rencontre->setIdConcurrentB($av_concurrentA['id_concurrent']);
                    }
                }
                echo 'id_new_rencontre : ' . $new_rencontre->getIdRencontre() . "<br>";
                echo 'place_new_rencontre : ' . $new_rencontre->getPlaceRencontre() . "<br>";
                echo 'id_concurrent : ' . $new_rencontre->getIdConcurrentA() . $new_rencontre->getIdConcurrentB() . "<br><br>";
                $manager_rencontre->updateNewRencontre($new_rencontre);
            } else {
                if ($av_rencontre['vainqueur_rencontre'] == $av_concurrentB['nom_concurrent']) {
                    $tab_position = new_place($av_rencontre);
                    var_dump($tab_position);
                    //recherche l'id de la prochaine rencontre
                    $tab_id_rencontre = $manager_rencontre->getByIdTournoiAndPlaceRencontre($id_tournoi, $tab_position['new_position']);
                    $new_rencontre = new Rencontre();
                    $new_rencontre->setIdRencontre($tab_id_rencontre['id_rencontre']);
                    $new_rencontre->setPlaceRencontre($tab_position['new_position']);
                    if ($tab_position['pos_box'] == "A") {
                        $new_rencontre->setIdConcurrentA($av_concurrentB['id_concurrent']);
                    } else {
                        if ($tab_position['pos_box'] == "B") {
                            $new_rencontre->setIdConcurrentB($av_concurrentB['id_concurrent']);
                        }
                    }
                    echo 'id_new_rencontre : ' . $new_rencontre->getIdRencontre() . "<br>";
                    echo 'place_new_rencontre : ' . $new_rencontre->getPlaceRencontre() . "<br>";
                    echo 'id_concurrent : ' . $new_rencontre->getIdConcurrentB() . $new_rencontre->getIdConcurrentB() . "<br><br>";
                    $manager_rencontre->updateNewRencontre($new_rencontre);
                }
            }
        }
    }
}
function creaChampionnatBracket($id_tournoi, $nb_equipe, Rencontre $rencontre)
{
    $manager_rencontre = connect('Rencontre');
    //calcul le nombre de rencontre dans le bracket
    if ($nb_equipe == 4 || $nb_equipe == 6 || $nb_equipe == 8) {
        $nb_rencontre_bracket = 3;
    } else {
        if ($nb_equipe == 12 || $nb_equipe == 16) {
            $nb_rencontre_bracket = 7;
        } else {
            if ($nb_equipe == 24 || $nb_equipe == 32) {
                $nb_rencontre_bracket = 15;
            }
        }
    }
    $phase = "F";
    // finale
    $id_place = 1;
    // numéro de la rencontre D2 H8 F1
    //création des rencontres
    for ($i = 1; $i <= $nb_rencontre_bracket; $i++) {
        $place_rencontre = $phase . $id_place;
        $rencontre->setIdTournoi($id_tournoi);
        $rencontre->setPlaceRencontre($place_rencontre);
        $rencontre->setIdConcurrentA(null);
        $rencontre->setIdConcurrentB(null);
        //change la phase de la rencontre
        if ($i == 1) {
            $phase = "D";
            $id_place = 0;
        } else {
            if ($i == 3) {
                $phase = "Q";
                $id_place = 0;
            } else {
                if ($i == 7) {
                    $phase = "H";
                    $id_place = 0;
                }
            }
        }
        $id_place++;
        //ajout d'une rencontre
        $manager_rencontre->addRencontre($rencontre);
    }
}