$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); } } } }
} $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); } }