Files
resatennis_tyroltenn/www/site_inscription/baseFaitsTableau.php

1080 lines
53 KiB
PHP
Executable File

<?PHP
$id_tournoi=$_GET['tournoi'];
$date_planning=$_GET['date'];
$protection=$_GET['protection'];
/* Indique le nombre de courts ouverts pour le tournoi */
$nb_courts_ouverts=$_GET['nb_courts'];
$faits=fopen("./cer/tab/tab.fai","w");
include("conf.php");
include("mysql_compat.php");
include ("conf.php");
$db_connection=mysql_connect($db_host,$db_user,$password);
mysql_select_db($db_name,$db_connection);
///////////////////////// SELECTION DES CATEGORIES DU TOURNOI ///////////////////////////////////////////////////////////////////
$requete="SELECT id_categorie FROM categories_par_tournoi WHERE id_tournoi='$id_tournoi'";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
$cat_tournoi=array();
while($cat=mysql_fetch_object($reponse)) {
array_push($cat_tournoi, $cat->id_categorie);
}
//////////////////////// RECHERCHE DES TABLEAUX CREES AVEC LEURS TRANCHES ///////////////////////////////////////////////////////
/* Avancement pour chaque categorie */
$avancement=array();
for($i=0;$i<count($cat_tournoi);$i++) {
/* Controle si un tableau existe dans cette categorie */
$requete="SELECT id_tableau FROM tableaux WHERE id_tournoi='$id_tournoi' AND id_categorie='$cat_tournoi[$i]'";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
$existe_cat=mysql_num_rows($reponse);
if($existe_cat>0) {
/* Controle si un tableau de la catégorie a été modifié */
$requete="SELECT id_tableau FROM tableaux WHERE id_tournoi='$id_tournoi' AND id_categorie='$cat_tournoi[$i]' AND flag_modif='1'";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
$existe=mysql_num_rows($reponse);
if($existe==0) {
/*$requete="SELECT MAX(avancement) FROM tableaux WHERE id_tournoi='$id_tournoi' AND id_categorie='$cat_tournoi[$i]' AND flag_modif='0'";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
$temp=mysql_fetch_array($reponse);
$avan=$temp[0] */
$requete="SELECT id_tableau, MAX(avancement) AS avancement FROM tableaux WHERE id_tournoi='$id_tournoi' AND id_categorie='$cat_tournoi[$i]' AND flag_modif='0' GROUP BY id_tableau";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
}
$tab=mysql_fetch_object($reponse);
$id_tab=$tab->id_tableau;
}
/* s'il n'y a pas de tableaux dans la categorie */
else {
$id_tab=0;
}
/* Place le tableau en cours dans le tableau d'avancement (ce tableau suit les catégories */
array_push($avancement, $id_tab);
}
echo "Categories tournoi :";
print_r($cat_tournoi); echo "<br />";
echo "Tableau en cours : ";
print_r($avancement); echo "<br />";
//////////////////////////////////////////////////RECHERCHE DES JOUEURS DANS CETTE CATEGORIE/////////////////////////////////////
include("constantes.php");
$nb_joueurs_cat=array();
$entrants=array();
for($j=0;$j<count($cat_tournoi);$j++) {
if($cat_tournoi[$j]==27 or $cat_tournoi[$j]==28 or $cat_tournoi[$j]==29) {
if($avancement[$j]!=0) {
/* Recherche des equipes inscrites sur le site */
$nb_joueurs_site=0;
$requete="SELECT * FROM equipes_double WHERE id_tournoi='$id_tournoi' AND id_categorie='$cat_tournoi[$j]'";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
$nb_joueurs_site=mysql_num_rows($reponse);
/* Recherche des joueurs inscrits virtuellement sur le site */
$nb_joueurs_virt=0;
for($i=$debut_tab;$i>=$fin_tab;$i--) {
$requete="SELECT nombre FROM joueurs_virtuels WHERE id_tournoi='$id_tournoi' AND id_categorie='$cat_tournoi[$j]'";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
$temp=mysql_fetch_object($reponse);
$nb_joueurs_virt+=$temp->nombre;
}
/* Recherche des joueurs qualifiés pour ce tableau */
if($avancement[$j]>=1) {
$requete="SELECT entrants FROM tableaux WHERE id_tableau='$avancement[$j]'";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
$tmp=mysql_fetch_object($reponse);
$tmp2=$tmp->entrants;
}
else {
$tmp2=0;
}
array_push($entrants, $tmp2);
$nb_joueurs=$tmp2+$nb_joueurs_site+$nb_joueurs_virt;
array_push($nb_joueurs_cat, $nb_joueurs);
}
}
else {
if($avancement[$j]!=0) {
$debut_tab=array_search(recup_debut_tranche_tableau($avancement[$j], $db_connection), $tab_classement);
$fin_tab=array_search(recup_fin_tranche_tableau($avancement[$j], $db_connection), $tab_classement);
/* Recherche des joueurs inscrits sur le site */
$nb_joueurs_site=0;
for($i=$debut_tab;$i>=$fin_tab;$i--) {
if($tab_classement[$i]=="30/0") { $classement="30";}
else if($tab_classement[$i]=="15/0") { $classement="15";}
else { $classement=$tab_classement[$i];}
$requete="SELECT * FROM inscription_tournoi i, joueur j WHERE id_tournoi='$id_tournoi' AND id_categorie='$cat_tournoi[$j]' AND j.classement='$classement' AND j.id_joueur=i.id_joueur";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
$nb_joueurs_site+=mysql_num_rows($reponse);
}
/* Recherche des joueurs inscrits virtuellement sur le site */
$nb_joueurs_virt=0;
for($i=$debut_tab;$i>=$fin_tab;$i--) {
$requete="SELECT nombre FROM joueurs_virtuels WHERE id_tournoi='$id_tournoi' AND id_categorie='$cat_tournoi[$j]' AND classement='$tab_classement[$i]'";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
$temp=mysql_fetch_object($reponse);
$nb_joueurs_virt+=$temp->nombre;
}
/* Recherche des joueurs qualifiés pour ce tableau */
if($avancement[$j]>=1) {
$requete="SELECT entrants FROM tableaux WHERE id_tableau='$avancement[$j]'";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
$tmp=mysql_fetch_object($reponse);
$tmp2=$tmp->entrants;
}
else {
$tmp2=0;
}
array_push($entrants, $tmp2);
$nb_joueurs=$tmp2+$nb_joueurs_site+$nb_joueurs_virt;
array_push($nb_joueurs_cat, $nb_joueurs);
}
}
}
echo "Nombre joueurs categorie : ";
print_r($nb_joueurs_cat); echo "<br />";
/* Recupère le débbut et la fin du tournoi */
$requete="SELECT nom, debut, fin, id_club FROM tournoi WHERE id_tournoi='$id_tournoi'";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
$tournoi=mysql_fetch_object($reponse);
/************************************************/
/* Nombre de joueurs par classement */
/************************************************/
$nb_joueur_clt=array();
for($j=0;$j<count($cat_tournoi);$j++) {
/* Tableaux de doubles */
if($cat_tournoi[$j]!=27 and $cat_tournoi[$j]!=28 and $cat_tournoi[$j]!=29) {
/* Tableau de simples */
if($avancement[$j]!=0) {
$debut_tab=array_search(recup_debut_tranche_tableau($avancement[$j], $db_connection), $tab_classement);
$fin_tab=array_search(recup_fin_tranche_tableau($avancement[$j], $db_connection), $tab_classement);
for($i=$debut_tab;$i>=$fin_tab;$i--) {
if($tab_classement[$i]=="30/0") { $classement="30";}
else if($tab_classement[$i]=="15/0") { $classement="15";}
else { $classement=$tab_classement[$i];}
$requete="SELECT * FROM inscription_tournoi i, joueur j WHERE i.id_joueur=j.id_joueur AND j.classement='$classement' AND i.id_tournoi='$id_tournoi' AND i.id_categorie='$cat_tournoi[$j]'";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
$joueurs_site=mysql_num_rows($reponse);
$requete="SELECT nombre FROM joueurs_virtuels WHERE classement='$tab_classement[$i]' AND id_tournoi='$id_tournoi' AND id_categorie='$cat_tournoi[$j]'";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
$temp=mysql_fetch_object($reponse);
$virtuels=$temp->nombre;
$nombre=$joueurs_site+$virtuels;
$nb_joueur_clt[$j][$tab_classement[$i]]=$nombre;
}
}
}
}
echo "Nombre joueurs_classement : ";
print_r($nb_joueur_clt); echo "<br />";
/***************************************************/
/* calculs préliminaires au tableau */
/***************************************************/
$calculs=array();
$indice=0;
/* Récupère la méthode de calcul pour chaque tableau */
for($i=0;$i<count($cat_tournoi);$i++) {
/* Si un tableau existe */
if($avancement[$i]!=0) {
$intermediaire=array();
$debut_clt=recup_debut_tranche_tableau($avancement[$j], $db_connection);
/* Recupère le numero de la méthode */
$requete="SELECT methode, entrants, sortants FROM tableaux WHERE id_tableau='$avancement[$i]'";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
$tmp=mysql_fetch_object($reponse);
$methode=$tmp->methode;
$sortants=$tmp->sortants;
$entrants=$tmp->entrants;
$nb_joueurs=$nb_joueurs_cat[$indice];
if($cat_tournoi[$i]==27 or $cat_tournoi[$i]==27 or $cat_tournoi[$i]==27) {
$intermediaire['type']="double";
}
else {
$intermediaire['type']="simple";
}
if($methode==1) {
for($j=1;$j<10;$j++) {
if(pow(2, $j) > $nb_joueurs) {
break;
}
}
$dimension_tab=pow(2, $j);
echo "Tableau classique <br>";
$exempts=$dimension_tab-$nb_joueurs;
$ne=$nb_joueurs-$exempts;
$npne=($ne)/2;
$pre_tour=$npne;
$tete_serie=$dimension_tab/4;
/* Nombre de compressions */
if ($entrants > $sortants) {
$compression=abs($entrants-$sortants);
}
else {
$compression=0;
}
/* Nombre de couples indissociables */
if($entrants==0){
$couple=$sortants;
}
else {
$couple=$entrants;
}
$intermediaire['methode']="CLASSIQUE";
$intermediaire['nb_joueurs']=$nb_joueurs;
$intermediaire['entrants']=$entrants;
$intermediaire['sortants']=$sortants;
$intermediaire['dimension']=$dimension_tab;
$intermediaire['exempts']=$exempts;
$intermediaire['non_exempts']=$ne;
$intermediaire['npne']=$npne;
$intermediaire['pre_tour']=$pre_tour;
$intermediaire['tete_serie']=$tete_serie;
$intermediaire['compression']=$compression;
$intermediaire['couple']=$couple;
}
/* Méthode Tableau à sections */
else if($methode==2) {
for($j=1;$j<10;$j++) {
if($sortants*pow(2, $j) > $nb_joueurs) {
break;
}
}
$sections=$sortants;
$dimension_tab=$sections*pow(2, $j);
echo "Tableau classique sections <br>";
$exempts=$dimension_tab-$nb_joueurs;
$ne=$nb_joueurs-$exempts;
$npne=($ne)/2;
$pre_tour=$npne;
$tete_serie=$dimension_tab/4;
if ($entrants > $sortants) {
$compression=abs($entrants-$sortants);
}
else {
$compression=0;
}
if($entrants==0){
$couple=$sortants;
}
else {
$couple=$entrants;
}
$intermediaire['methode']="SECTIONS";
$intermediaire['nb_joueurs']=$nb_joueurs;
$intermediaire['sortants']=$sortants;
$intermediaire['entrants']=$entrants;
$intermediaire['sections']=$sections;
$intermediaire['dimension']=$dimension_tab;
$intermediaire['exempts']=$exempts;
$intermediaire['non_exempts']=$ne;
$intermediaire['npne']=$npne;
$intermediaire['pre_tour']=$pre_tour;
$intermediaire['tete_serie']=$tete_serie;
$intermediaire['compression']=$compression;
$intermediaire['couple']=$couple;
}
/* Methode Entree echelonnee */
else if($methode==3) {
echo "Tableau entrée echelonnée<br />";
for($j=1;$j<10;$j++) {
if(pow(2, $j) > $nb_joueurs) {
break;
}
}
$dimension_tab=pow(2, $j);
echo "Tableau classique <br>";
$exempts=$dimension_tab-$nb_joueurs;
$ne=$nb_joueurs-$exempts;
$npne=($ne)/2;
$pre_tour=$npne;
$tete_serie=$dimension_tab/4;
if($entrants > $sortants) {
$nb_compressions=$entrants-$sortants;
}
else {
$nb_compressions=0;
}
if($entrants==0){
$couple=$sortants;
}
else {
$couple=$entrants;
}
$intermediaire['methode']="ENTREE_ECHELONNEE";
$intermediaire['nb_joueurs']=$nb_joueurs;
$intermediaire['sortants']=$sortants;
$intermediaire['entrants']=$entrants;
$intermediaire['sections']=$sections;
$intermediaire['dimension']=$dimension_tab;
$intermediaire['exempts']=$exempts;
$intermediaire['non_exempts']=$ne;
$intermediaire['npne']=$npne;
$intermediaire['pre_tour']=$pre_tour;
$intermediaire['tete_serie']=$tete_serie;
$intermediaire['compression']=$nb_compressions;
$intermediaire['couple']=$couple;
$intermediaire['couloir']=$sortants;
}
/* Méthode Tableau Départ en ligne - Final */
else {
echo "Tableau final <br />";
}
/* Place les caluls dans le tableau */
array_push($calculs, $intermediaire);
$indice++;
}
}
echo "Calculs tableaux : ";
print_r($calculs); echo "<br />";
/*****************************************************************************************/
/* Inscription des categories du tournoi */
/*****************************************************************************************/
$num=0;
$texte="";
for($i=0;$i<count($cat_tournoi);$i++) {
if($avancement[$i]!=0) {
$num++;
$texte.="CAT".($i+1)." ' CATEGORIE \n";
$texte.="TABLEAU_".$avancement[$i]." ' TABLEAU \n";
$texte.="TABLEAU_".$avancement[$i]." NUMERO ".$num."\n";
$texte.="TABLEAU_".$avancement[$i]." TABLEAU CAT".$cat_tournoi[$i]."\n";
}
}
fwrite($faits, $texte."\n");
fwrite($faits, "TABLEAU_COURANT ' 1\n\n");
/*****************************************************************************************/
/* Inscription de la methode utilisée */
/* et de ces options */
/*****************************************************************************************/
fwrite($faits, "; Type de tabeau utilise et ses options ;\n");
$texte="";
$indice=0;
for($i=0;$i<count($cat_tournoi);$i++) {
/* Si le tableau existe */
if($avancement[$i]!=0) {
/* Controle de la methode du tableau */
$texte="TABLEAU_".$avancement[$i]." METHODE_TABLEAU ".$calculs[$indice]['methode']."\n";
$texte="TABLEAU_".$avancement[$i]." TYPE ".strtoupper($calculs[$indice]['type'])."\n";
$texte.="TABLEAU_".$avancement[$i]." NOMBRE_JOUEURS ".$calculs[$indice]['nb_joueurs']."\n";
$texte.="TABLEAU_".$avancement[$i]." DIMENSION_TABLEAU ".$calculs[$indice]['dimension']."\n";
$texte.="TABLEAU_".$avancement[$i]." QUALIFIES_ENTRANTS ".$calculs[$indice]['entrants']."\n";
$texte.="TABLEAU_".$avancement[$i]." SORTANTS ".$calculs[$indice]['sortants']."\n";
$texte.="TABLEAU_".$avancement[$i]." EXEMPTS ".$calculs[$indice]['exempts']."\n";
$texte.="TABLEAU_".$avancement[$i]." NON_EXEMPTS ".$calculs[$indice]['non_exempts']."\n";
$texte.="TABLEAU_".$avancement[$i]." NPNE ".$calculs[$indice]['npne']."\n";
$texte.="TABLEAU_".$avancement[$i]." PRE_TOUR ".$calculs[$indice]['pre_tour']."\n";
$texte.="TABLEAU_".$avancement[$i]." TETE_SERIE ".$calculs[$indice]['tete_serie']."\n";
$texte.="TABLEAU_".$avancement[$i]." COMPRESSIONS ".$calculs[$indice]['compression']."\n";
$texte.="TABLEAU_".$avancement[$i]." COUPLES ".$calculs[$indice]['couple']."\n";
/* Options poarticulière pour certains tableaux */
if($calculs[$indice]['methode']=="CLASSIQUE") {
fwrite($faits, "; Indique le tour courant ; \n");
fwrite($faits, "NB_TOURS ' 2\n");
for($i=0;$i<2;$i++) {
fwrite($faits, "TOUR_".($i+1)." ' TOUR\n");
fwrite($faits, "TOUR_".($i+1)." NUMERO ".($i+1)."\n");
}
}
else if($calculs[$indice]['methode']=="SECTIONS") {
$texte.="TABLEAU_".$avancement[$i]." SECTIONS ".$calculs[$indice]['sections']."\n";
fwrite($faits, "; Indique le tour courant ; \n");
fwrite($faits, "NB_TOURS ' 2\n");
for($i=0;$i<2;$i++) {
fwrite($faits, "TOUR_".($i+1)." ' TOUR\n");
fwrite($faits, "TOUR_".($i+1)." NUMERO ".($i+1)."\n");
}
}
else if($calculs[$indice]['methode']=="ENTREE_ECHELONNEE") {
$texte.="TABLEAU_CAT".$avancement[$i]." COULOIR ".$calculs[$indice]['couloir']."\n";
fwrite($faits, $texte."\n\n");
}
$indice++;
}
$texte="";
}
fwrite($faits, "TOUR_COURANT ' 1\n\n");
fwrite($faits, "MATCH_COURANT ' 1\n\n");
/************************************************************************/
/* Classements concernés */
/************************************************************************/
fwrite($faits, "; Classements et leurs numeros ; \n");
$texte="";
$texte_num="";
$nb_serie=4;
for($i=count($tab_classement)-1;$i>=0;$i--) {
$texte.=$tab_classement[$i]." ' CLASSEMENT\n";
$texte_num.=$tab_classement[$i]." VAUT ".$i."\n";
if($tab_classement[$i]=="30/0" or $tab_classement[$i]=="15/0" or $tab_classement[$i]=="mieux") {
$nb_serie-=1;
}
$texte_serie.=$tab_classement[$i]." SERIE_NUMERO ".$nb_serie."\n";
}
fwrite($faits, $texte."\n");
fwrite($faits, $texte_num."\n");
fwrite($faits, $texte_serie."\n\n");
/* Insertion dans les faits du nombre de joueurs par classement */
$texte="";
for($j=0;$j<count($cat_tournoi);$j++) {
if($avancement[$j]!=0) {
$debut_tab=array_search(recup_debut_tranche_tableau($avancement[$j], $db_connection), $tab_classement);
$fin_tab=array_search(recup_fin_tranche_tableau($avancement[$j], $db_connection), $tab_classement);
for($i=$debut_tab;$i>=$fin_tab;$i--) {
if($nb_joueur_clt[$j][$tab_classement[$i]]>0) {
$texte.=$tab_classement[$i]." TABLEAU_".$avancement[$j]." ".$nb_joueur_clt[$j][$tab_classement[$i]]."\n";
}
else {
$texte.=$tab_classement[$i]." TABLEAU_".$avancement[$j]." 0\n";
}
}
fwrite($faits, "TABLEAU_".$avancement[$j]." CLASSEMENT_MEILLEUR ".$fin_tab." ; INITIALISATION Au MEILLEUR CLASSMENT Du DECOUPAGE SI ON A MIEUX ON DIMINUERA ;\n");
fwrite($faits, "TABLEAU_".$avancement[$j]." CLASSEMENT_MOINS_BON ".$debut_tab." ; INITIALISATION AU MOINS BON CLASSEMENT DU DECOUPAGE SI ON A MOINS BIEN ON AUGMENTERA ;\n");
fwrite($faits, "CLASSEMENT_ACTUEL ' ".$debut_tab." ; SERT A INDIQUER LE CLASSEMENT EN COURS ;\n");
}
}
fwrite($faits, $texte."\n");
/*************************************************************************/
/* Créneaux horaires disponibles */
/*************************************************************************/
list($dbt_a, $dbt_m, $dbt_j)=explode("-", $tournoi->debut);
list($fin_a, $fin_m, $fin_j)=explode("-", $tournoi->fin);
$debut=mktime(9,0,0,$dbt_m, $dbt_j, $dbt_a);
$fin=mktime(23,0,0,$fin_m, $fin_j, $fin_a);
$nb_jours=(($fin-$debut)/86400)+1;
fwrite($faits, "; Creneaux horaires de la journée en cours ;\n");
$creneaux=array();
$nb_creneau=1;
$texte="";
list($now_j,$now_m, $now_a)=explode("-",$date_planning);
if($now_m<10) {$now_m="0".$now_m;}
if($now_j<10) {$now_j="0".$now_j;}
/* Créneaux pour la journée en cours */
if($['']<10) { $['']="0".$['']; }
for($j=0;$j<count($heure);$j++) {
list($h,$m)=explode(":",$heure[$j]);
$texte.=$now_j.$now_m."_".$h.$m." ' CRENEAU\n";
$texte_heures.=$now_j.$now_m."_".$h.$m." NUMERO_CRENEAU ".($j+1)." \n";
array_push($creneaux, $now_j.$now_m."_".$h.$m);
$nb_creneau++;
}
fwrite($faits, $texte."\n");
fwrite($faits, $texte_heures."\n");
fwrite($faits, "\n");
$now=mktime(9,0,0,$now_m, $now_j, $now_a);
/* Calcul du jour_courant */
if($now>=$debut and $now<$fin) {
$jour=(($now-$debut)/86400)+1;
fwrite($faits, "JOUR_COURANT ' ".($jour)." \n");
}
else {
fwrite($faits, "JOUR_COURANT ' 1 \n");
}
fwrite($faits, "DERNIER_JOUR ' ".(int)$nb_jours."\n\n");
//////////////////////////////// Courts disponibles pour la journée en cours /////////////////////////
fwrite($faits,"\n; Courts du Club;\n");
if($protection=='couvert') {
$requete="SELECT id_reservable FROM reservable WHERE id_club='$tournoi->id_club' AND protection LIKE 'Couvert'";
}
else if($protection=='deux') {
$requete="SELECT id_reservable FROM reservable WHERE id_club='$tournoi->id_club'";
}
else {
$requete="SELECT id_reservable FROM reservable WHERE id_club='$tournoi->id_club' AND protection <> 'Couvert'";
}
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
$nb=mysql_num_rows($reponse);
$texte="";
$courts=array();
/* Controle si le nombre choisi par le juge arbitre est bon */
if($nb_courts_ouverts>$nb) {
$nb_courts_ouverts=$nb;
}
for($i=0;$i<$nb_courts_ouverts;$i++) {
$court=mysql_fetch_object($reponse);
$texte.="COURT_".$court->id_reservable." ' COURT\n";
array_push($courts, $court->id_reservable);
}
fwrite($faits, $texte."\n\n");
///////////////////// Creneaux disponibles pour les terrains pour la journée demandée - A FAIRE /////////////////////////////
$texte="; Indique la disponibilite des terrains ;\n";
$annee=date("Y");
for($i=0;$i<count($courts);$i++) {
for($j=0;$j<count($creneaux);$j++) {
/* Controle si le terrain est libre à cette horaire */
list($date, $heure)=explode("_", $creneaux[$j]);
$jour=substr($date, 0,2);
$mois=substr($date, 2,2);
$date="$annee-$mois-$jour";
$h=substr($heure, 0,2);
$m=substr($heure,2,2);
$heure="$h:$m:00";
$requete="SELECT id_reservation FROM reservation WHERE date_resa='$date' AND heure_resa_deb='$heure' AND id_reservable='$courts[$i]'";
//echo $requete."<br />";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
$existe=mysql_num_rows($reponse);
/* Si le terrain est libre à cette heure-ci */
if($existe==0) {
$texte.="COURT_".$courts[$i]." LIBRE ".$creneaux[$j]." \n";
}
}
}
fwrite($faits, $texte."\n\n");
///////////////////////////////RECHERCHE DES JOUEURS QUALIFIES////////////////////////////
$tour_courant=1;
$nb_joueur=0;
$qualif=array();
$indice=0;
for($j=0;$j<count($cat_tournoi);$j++) {
/* Si tableaux de doubles */
if($cat_tournoi[$j]==27 or $cat_tournoi[$j]==28 or $cat_tournoi[$j]==29) {
if($avancement[$j]!=0) {
$requete="SELECT entrants, avancement FROM tableaux WHERE id_tableau='$avancement[$j]'";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
$nb_tableau=mysql_num_rows($reponse);
if($nb_tableau > 0) {
$res=mysql_fetch_object($reponse);
$avt=$res->avancement;
$entrants=$res->entrants;
}
/* si le nombre de qualifiés est > 0, on récupère les qualifiés du tableau precedent */
if($entrants > 0 /*and $avt > 1 */){
//$requete="SELECT r.id_vainqueur, j.classement FROM tableau_tournoi t, reservation r, joueur j WHERE t.id_categorie = '$categorie' AND t.id_tournoi='$id_tournoi' AND t.avancement='$avt' AND t.id_reservation=r.id_reservation AND j.id_joueur=r.id_vainqueur";
//$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
//while ($reptab=mysql_fetch_array($reponse)){
for($i=0;$i<$entrants;$i++) {
$id_joueur=$[''];
$requete="SELECT id_equipe,id_joueur1, id_joueur2 FROM equipes_double WHERE (id_joueur1='$id_joueur' OR id_joueur2='$id_joueur') AND id_categorie='$cat_tournoi[$j]' AND id_tournoi='$id_tournoi'";
$repons=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
$equipe=mysql_fetch_object($repons);
$ligne="";
$ligne.="EQUIPE_Q".$i." ' QUALIFIE\n";
$ligne.="EQUIPE_Q".î." COMPOSEE_DE JOUEUR_".$equipe->id_joueur1."\n";
$ligne.="EQUIPE_Q".î." COMPOSEE_DE JOUEUR_".$equipe->id_joueur2."\n";
array_push($qualif, $i/*$equipe->id_equipe*/);
fwrite($faits, $ligne."\n");
}
}
}
$indice++;
}
/* Sinon tableaux de simple */
else {
if($avancement[$j]!=0) {
$requete="SELECT entrants, avancement FROM tableaux WHERE id_tableau='$avancement[$j]'";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
$nb_tableau=mysql_num_rows($reponse);
if($nb_tableau > 0) {
$res=mysql_fetch_object($reponse);
$avt=$res->avancement;
$entrants=$res->entrants;
}
/* si le nombre de qualifiés est > 0, on récupère les qualifiés du tableau precedent */
if($entrants > 0 /*and $avt > 1 */){
//$requete="SELECT r.id_vainqueur, j.classement FROM tableau_tournoi t, reservation r, joueur j WHERE t.id_categorie = '$categorie' AND t.id_tournoi='$id_tournoi' AND t.avancement='$avt' AND t.id_reservation=r.id_reservation AND j.id_joueur=r.id_vainqueur";
//$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
//while ($reptab=mysql_fetch_array($reponse)){
for($i=0;$i<$entrants;$i++) {
$ligne="";
$ligne.="JOUEUR_Q".$i." ' QUALIFIE\n";
$ligne.="JOUEUR_Q".$i/*reptab[id_vainqueur]*/." JOUE_TABLEAU TABLEAU_".$avancement[$j]."\n";
if($['']=="30") { $ligne.="JOUEUR_".$['']." EST_CLASSE 30/0\n"; }
else if($['']=="15") { $ligne.="JOUEUR_".$['']." EST_CLASSE 15/0\n"; }
else {
$ligne.="JOUEUR_Q".$i/*reptab[id_vainqueur]*/." EST_CLASSE "./*$['']*/NC."\n";
}
$ligne.="JOUEUR_Q".$i/*reptab[id_vainqueur]*/." LICENCE_CLUB ".$i."\n";
array_push($qualif, $i/*$['']*/);
fwrite($faits, $ligne."\n");
}
}
fwrite($faits,"TABLEAU_".$avancement[$j]." NB_QUALIFIES_ENTRANTS ".$entrants."\n\n");
}
$indice++;
}
}
echo "qualif : ";print_r($qualif);echo "\n";
/***************************************************************************************/
/* RECHERCHE DES JOUEURS QUI VONT ENTRER DANS LE TOURNOI site et virtuels) */
/***************************************************************************************/
fwrite($faits, "; Noms des joueurs, classement ;\n");
$indice=0;
$joueurs=array();
$equipes=array();
$num_virt=0;
for($j=0;$j<count($cat_tournoi);$j++) {
/* Tableaux de doubles */
if($cat_tournoi[$j]==27 or $cat_tournoi[$j]==28 or $cat_tournoi[$j]==29) {
if($avancement[$j]!=0) {
$pre_tour=$calculs[$indice]['pre_tour'];
$nb_joueurs_tour=$pre_tour*2;
if($calculs[$indice]['entrants'] > 0) {
$nb_joueur_tour1=$pre_tour;
}
else {
$nb_joueur_tour1=0;
}
/* joueurs virtuels */
$requete="SELECT * FROM joueurs_virtuels WHERE id_tournoi='$id_tournoi' AND id_categorie='$cat_tournoi[$j]' AND classement='$tab_classement[$i]'";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
while($virtuel=mysql_fetch_object($reponse)) {
$nb=$virtuel->nombre;
for($cpt=0;$cpt<$nb;$cpt++) {
$ligne="";
$ligne.="EQUIPE_V".$num_virt." ' EQUIPE\n";
$ligne.="EQUIPE_V".$num_virt." JOUE_TABLEAU TABLEAU_".$avancement[$j]."\n";
$ligne.="EQUIPE_V".$num_virt." EST_CLASSE ".$tab_classement[$i]."\n";
$ligne.="EQUIPE_V".$num_virt." LICENCE_CLUB ".$num_virt."\n";
array_push($equipes, "V".$num_virt);
$num_virt+=1;
fwrite($faits, $ligne."\n");
}
}
/* Joueurs inscrits au site */
$requete="SELECT e.id_equipe, e.id_joueur1, e.id_joueur2, j.classement FROM equipes_double e, joueur j WHERE i.id_categorie='$cat_tournoi[$j]' AND i.id_tournoi='$id_tournoi' AND i.id_joueur=j.id_joueur";
$repons=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
while($ids_equipes=mysql_fetch_array($repons)) {
$ligne="";
$requete="SELECT classement FROM joueur WHERE id_joueur='$['']'";
$rep=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
$joueur2=mysql_fetch_array($rep);
$ligne.="EQUIPE_".$['']." ' EQUIPE\n";
$ligne.="EQUIPE_".$['']." JOUE_TABLEAU TABLEAU_".$avancement[$j]."\n";
$ligne.="EQUIPE_".$['']." COMPOSEE_DE JOUEUR_".$['']."\n";
$ligne.="EQUIPE_".$['']." COMPOSEE_DE JOUEUR_".$['']."\n";
if($['']=="30") {$['']="30/0"; }
if($['']=="15") {$['']="15/0"; }
if($['']=="30") {$['']="30/0"; }
if($['']=="15") {$['']="15/0"; }
/* Recherche des nombres de points par classement */
$pt1=array_search($[''], $tab_classement);
$pt1=array_search($[''], $tab_classement);
$points=$pt1+$pt2;
$ligne.="EQUIPE_".$['']." NOMBRE_POINTS ".$points."\n";
array_push($equipes, $['']);
fwrite($faits, $ligne."\n");
}
}
$indice++;
}
/* Tableaux de simples */
else {
if($avancement[$j]!=0) {
$pre_tour=$calculs[$indice]['pre_tour'];
$nb_joueurs_tour=$pre_tour*2;
if($calculs[$indice]['entrants'] > 0) {
$nb_joueur_tour1=$pre_tour;
}
else {
$nb_joueur_tour1=0;
}
$debut_tab=array_search(recup_debut_tranche_tableau($avancement[$j], $db_connection), $tab_classement);
$fin_tab=array_search(recup_fin_tranche_tableau($avancement[$j], $db_connection), $tab_classement);
for($i=$debut_tab;$i>=$fin_tab;$i--) {
/* joueurs virtuels */
$requete="SELECT * FROM joueurs_virtuels WHERE id_tournoi='$id_tournoi' AND id_categorie='$cat_tournoi[$j]' AND classement='$tab_classement[$i]'";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
while($virtuel=mysql_fetch_object($reponse)) {
$nb=$virtuel->nombre;
for($cpt=0;$cpt<$nb;$cpt++) {
$ligne="";
$ligne.="JOUEUR_V".$num_virt." ' JOUEUR\n";
$ligne.="JOUEUR_V".$num_virt." JOUE_TABLEAU TABLEAU_".$avancement[$j]."\n";
$ligne.="JOUEUR_V".$num_virt." EST_CLASSE ".$tab_classement[$i]."\n";
$ligne.="JOUEUR_V".$num_virt." LICENCE_CLUB ".$num_virt."\n";
array_push($joueurs, "V".$num_virt);
$num_virt+=1;
fwrite($faits, $ligne."\n");
}
}
/* Joueurs inscrits au site */
if($tab_classement[$i]=="30/0") { $classement="30";}
else if($tab_classement[$i]=="15/0") { $classement="15";}
else { $classement=$tab_classement[$i];}
$requete="SELECT i.id_joueur, j.classement FROM inscription_tournoi i, joueur j WHERE i.id_categorie='$cat_tournoi[$j]' AND i.id_tournoi='$id_tournoi' AND i.id_joueur=j.id_joueur AND j.classement='$classement'";
$repons=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
while($ids_joueurs=mysql_fetch_array($repons)) {
$ligne="";
$ligne.="JOUEUR_".$['']." ' JOUEUR\n";
$ligne.="JOUEUR_".$['']." JOUE_TABLEAU TABLEAU_".$avancement[$j]."\n";
if($['']=="30") {$['']="30/0"; }
if($['']=="15") {$['']="15/0"; }
$ligne.="JOUEUR_".$['']." EST_CLASSE ".$['']."\n";
/* Dértermine le club du joueur */
$temp=utf8_decode("MembreLicencié");
$requete="SELECT id_club FROM compte WHERE statut='$temp' AND id_joueur='$['']'";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
$id_club=mysql_fetch_object($reponse);
$ligne.="JOUEUR_".$['']." LICENCE_CLUB ".$id_club->id_club."\n";
array_push($joueurs, $['']);
fwrite($faits, $ligne."\n");
}
}
$indice++;
}
}
}
print_r($joueurs);
$indice=0;
for($j=0;$j<count($cat_tournoi);$j++) {
if($avancement[$j]!=0) {
$methode=$calculs[$indice]['methode'];
$entrants=$calculs[$indice]['entrants'];
$pre_tour=$calculs[$indice]['pre_tour'];
$couple=$calculs[$indice]['couple'];
$tete_serie=$calculs[$indice]['tete_serie'];
if($methode=="CLASSIQUE" or $methode="SECTIONS") {
if($entrants > 0)
fwrite($faits, "TABLEAU_".$avancement[$j]." NB_JOUEUR_TOUR_1 ".($entrants*2)."\n\n");
else
fwrite($faits, "TABLEAU_".$avancement[$j]." NB_JOUEUR_TOUR_1 ".($couple*2)."\n\n");
if($entrants==0)
fwrite($faits, "TABLEAU_".$avancement[$j]." NB_JOUEUR_TOUR_2 ".(count($joueurs)-($couple*2))."\n\n");
else
fwrite($faits, "TABLEAU_".$avancement[$j]." NB_JOUEUR_TOUR_2 ".(count($joueurs)-$entrants)."\n\n");
}
$indice++;
}
}
/****************************************/
/* Affectation des tetes de série */
/****************************************/
$indice=0;
$ts=1;
$comp=0;
fwrite($faits, "; Placement des tetes de serie ;\n");
for($j=0;$j<count($cat_tournoi);$j++) {
$texte="";
/* Si un tableau valide est présent pour cette catégorie */
if($avancement[$j]!=0) {
/* Recup du nombre de tetes de série et du nombre de compressions */
$fin_tab=array_search(recup_fin_tranche_tableau($avancement[$j], $db_connection), $tab_classement);
$debut_tab=array_search(recup_debut_tranche_tableau($avancement[$j], $db_connection), $tab_classement);
$tete_serie=$calculs[$indice]['tete_serie'];
$nb_compression=$calculs[$indice]['compression'];
$id_joueur=count($joueurs)-1;
for($ts=1;$ts<=$tete_serie;$ts++) {
if($comp<$nb_compression) {
$texte.="TABLEAU_".$avancement[$j]." TETE_SERIE VAINQUEUR_1_".($comp+1)." ' ".$ts."\n";
$comp++;
}
else {
$texte.="TABLEAU_".$avancement[$j]." TETE_SERIE JOUEUR_".$joueurs[$id_joueur]." ' ".$ts."\n";
$id_joueur--;
}
}
$indice++;
$comp=0;
}
fwrite($faits, $texte."\n");
}
/***********************************************************************************/
/* Calculs pour les vainqueurs pour chaque tour pour tableaux Classique et sections*/
/***********************************************************************************/
$indice=0;
for($j=0;$j<count($cat_tournoi);$j++) {
if($avancement[$j]!=0) {
$methode=$calculs[$indice]['methode'];
if($methode=="CLASSIQUE" or $methode=="SECTIONS") {
$pre_tour=$calculs[$indice]['pre_tour'];
for($i=0;$i<$pre_tour;$i++) {
$texte="";
$texte.="VAINQUEUR_1_".($i+1)." ' VAINQUEUR\n";
$texte.="VAINQUEUR_1_".($i+1)." JOUE_TABLEAU TABLEAU_".$avancement[$j]."\n";
$texte.="VAINQUEUR_1_".($i+1)." ENTRE TOUR_2\n";
fwrite($faits, $texte."\n");
}
}
$indice++;
}
}
/*******************************************************************/
/* Création des qualifiées sortants du tableau */
/*******************************************************************/
$texte="";
$indice=0;
fwrite($faits, "\n\n; Création des qualifiées sortants du tableau ;\n");
for($j=0;$j<count($cat_tournoi);$j++) {
if($avancement[$j]!=0) {
$tete_serie=$calculs[$indice]['tete_serie'];
for($i=0;$i<$tete_serie;$i++) {
$texte="";
$texte.="VAINQUEUR_2_".($i+1)." ' QUALIFIE_SORTANT\n";
$texte.="VAINQUEUR_2_".($i+1)." JOUE_TABLEAU TABLEAU_".$avancement[$j]."\n";
fwrite($faits, $texte."\n");
}
}
$indice++;
}
/****************************************************************/
/* CRENEAUX OU LES JOUEURS SONT DISPONIBLES */
/****************************************************************/
fwrite($faits, "; Disponibilités des joueurs durant le tournoi;\n");
$heures_dispos_joueur="";
for($cpt=0;$cpt<count($joueurs);$cpt++) {
$requete="SELECT i.id_inscription, i.travaille FROM inscription_tournoi i, joueur j WHERE i.id_tournoi='$id_tournoi' AND i.id_joueur=j.id_joueur AND i.id_joueur='$joueurs[$cpt]' LIMIT 0,1";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
while($ids_joueurs=mysql_fetch_object($reponse)) {
/* Recup des jours et des heures */
echo $joueurs[$cpt]."<br />";
$travaille=strtoupper($ids_joueurs->travaille);
$heures_dispos_joueur.="JOUEUR_".$joueurs[$cpt]." TRAVAILLE ".$travaille." \n";
list($jour,$mois,$annee)=explode("-",$date_planning);
$date="$annee-$mois-$jour";
$requete="SELECT jour, heure FROM contraintes WHERE id_inscription='$ids_joueurs->id_inscription' AND jour='$date' AND type='simple' ORDER BY jour, heure ASC";
$reponse1=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
/* Place les creneaux horaires où le joueur est dispo dans le fichier */
while($dispo=mysql_fetch_object($reponse1)) {
list($a, $m, $j)=explode("-",$dispo->jour);
list($h, $min, $sec)=explode(":",$dispo->heure);
$texte=$j.$m."_".$h.$min;
$heures_dispos_joueur.="JOUEUR_".$joueurs[$cpt]." DISPONIBLE_CRENEAU ".$texte." \n";
}
}
}
fwrite($faits, $heures_dispos_joueur."\n");
/***********************************************************/
/* Disponibilités des équipes */
/***********************************************************/
fwrite($faits, "; Disponibilités des équipes durant le tournoi;\n");
$heures_dispos_joueur="";
for($cpt=0;$cpt<count($equipes);$cpt++) {
$requete="SELECT e.id_equipe, e.id_joueur1, e.id_joueur2, e.travaille_1, e.travaille_2 FROM equipes_double e, joueur j WHERE i.id_tournoi='$id_tournoi'";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
while($ids_joueurs=mysql_fetch_object($reponse)) {
/* Recup des jours et des heures */
$travaille_1=strtoupper($ids_joueurs->travaille_1);
$travaille_1=strtoupper($ids_joueurs->travaille_2);
$heures_dispos_joueur.="JOUEUR_".$ids_joueurs->id_joueur1." TRAVAILLE ".$travaille_1." \n";
$heures_dispos_joueur.="JOUEUR_".$ids_joueurs->id_joueur2." TRAVAILLE ".$travaille_2." \n";
list($jour,$mois,$annee)=explode("-",$date_planning);
$date="$annee-$mois-$jour";
$requete="SELECT jour, heure FROM contraintes WHERE id_inscription='$ids_joueurs->id_equipe' AND jour='$date' AND type='double' ORDER BY jour, heure ASC";
$reponse1=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
/* Place les creneaux horaires où le joueur est dispo dans le fichier */
while($dispo=mysql_fetch_object($reponse1)) {
list($a, $m, $j)=explode("-",$dispo->jour);
list($h, $min, $sec)=explode(":",$dispo->heure);
$texte=$j.$m."_".$h.$min;
$heures_dispos_joueur.="EQUIPE_".$joueurs[$cpt]." DISPONIBLE_CRENEAU ".$texte." \n";
}
}
}
fwrite($faits, $heures_dispos_joueur."\n");
/**********************************************************/
/* Matchs non programmés */
/**********************************************************/
for($j=0;$j<count($cat_tournoi);$j++) {
$texte="";
/* Si un tableau valide est présent pour cette catégorie */
if($avancement[$j]!=0) {
/* Controle si des matchs non programmés (pas de résa) sont présents pour ce tableau */
$requete="SELECT * FROM Matchs_tableaux WHERE id_tableau='$avancement[$j]' AND id_reservation='0'";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
while($match=mysql_fetch_object($reponse)) {
/* Joueur 1 */
/* Controle du type de joueur */
if($match->type_joueur=='site') {
$joueur1="JOUEUR_";
}
else if($match->type_joueur=='vainqueur') {
$joueur1="VAINQUEUR_".($match->nb_tour-1)."_";
}
else if($match->type_joueur=='virtuel') {
$joueur1="JOUEUR_V";
}
$joueur1.=$id_joueur;
/* Joueur 1 */
/* Controle du type de joueur */
if($match->type_adverse=='site') {
$joueur2="JOUEUR_";
}
else if($match->type_adverse=='vainqueur') {
$joueur2="VAINQUEUR_".($match->nb_tour-1)."_";
}
else if($match->type_adverse=='virtuel') {
$joueur2="JOUEUR_V";
}
$joueur2.=$id_adverse;
$texte.="TABLEAU_".$avancement[$j]." ".$joueur1." JOUE ".$joueur2." VAINQUEUR_".($match->nb_tour)."_".($match->num_couloir)."\n";
}
fwrite($faits, $texte."\n");
}
}
/**********************************************************/
/* Disponibilités des joueurs durant le tournoi */
/**********************************************************/
for($cpt=0;$cpt<count($qualif);$cpt++) {
$heures_dispo_joueur="";
for($i=0;$i<count($creneaux);$i++) {
$heures_dispo_joueur.="JOUEUR_Q".$qualif[$cpt]." DISPONIBLE_CRENEAU ".$creneaux[$i]." \n";
}
fwrite($faits, $heures_dispo_joueur."\n");
}
/* Disponibilités des joueurs vituels - Disponible tout le temps */
for($cpt=0;$cpt<$num_virt;$cpt++) {
$heures_dispo_joueur="";
for($i=0;$i<count($creneaux);$i++) {
$heures_dispo_joueur.="JOUEUR_V".$cpt." DISPONIBLE_CRENEAU ".$creneaux[$i]." \n";
}
fwrite($faits, $heures_dispo_joueur."\n");
}
for($cpt=0;$cpt<$pre_tour;$cpt++) {
$heures_dispo_joueur="";
for($i=0;$i<count($creneaux);$i++) {
$heures_dispo_joueur.="VAINQUEUR_1_".($cpt+1)." DISPONIBLE_CRENEAU ".$creneaux[$i]." \n";
}
fwrite($faits, $heures_dispo_joueur."\n");
}
for($cpt=0;$cpt<$tete_serie;$cpt++) {
$heures_dispo_joueur="";
for($i=0;$i<count($creneaux);$i++) {
$heures_dispo_joueur.="VAINQUEUR_2_".($cpt+1)." DISPONIBLE_CRENEAU ".$creneaux[$i]." \n";
}
fwrite($faits, $heures_dispo_joueur."\n");
}
fclose($faits);
echo "base faits ecrite.<br>";
echo "lancement des moteurs systeme expert pour cr&eacute;ation des tableaux et plannings.<br>";
$file="tab";
$dir="cer/tab/";
echo exec("./cer/compil -rf 1 bcc=".$dir.$file.".bcc reg=".$dir.$file.".reg fts=".$dir.$file.".fai err=".$dir.$file.".err1 m=n");
//echo exec("./cer/moteur bcc=".$dir.$file.".bcc fts=".$dir.$file.".fai res=".$dir.$file.".res err=".$dir.$file.".err2 t=4 s=c m=n");
echo "<br><br><br>";
$env=fopen("./cer/tab/test.env","r");
/* Type des faits générés par le système expert : */
/* TABLEAU_ID JOUEUR/EQUIPE_ID JOUE JOUEUR/EQUIPE_ID VAINQUEUR VQ_TOUR_NUM COURT COURT_ID CRENEAU JJMM_HHMM (match programme) */
/* TABLEAU_ID JOUEUR/EQUIPE_ID JOUE JOUEUR/EQUIPE_ID VAINQUEUR VQ_TOUR_NUM COURT (match non programmee - plus de creneaux dispo) */
$matches=array();
while(!feof($env)){
/* Lecture de 2 lignes dans le fichier */
$ligne=fgets($env);
$ligne2=fgets($env);
if($ligne != "") {
/* Création d'un nouveau match */
$match=array();
/* Recupère les données du match */
list($tableau,$joueur1,$attribut1,$joueur2,$attribut2,$vainqueur,$attribut3, $court)=explode(" ",$ligne);
list($rien, $attribut4, $creneau)=explode(" ",$ligne2);
echo "$tableau, $joueur1,$joueur2,$vainqueur, $court,$creneau<br>";
/* Réupère le tableau */
list($rien, $id_tableau)=explode("_", $tableau);
$['']=(int)$id_tableau;
/* Recupère le type et l'id du joueur 1 */
list($joueur,$type_joueur1,$num_couloir)=explode("_",$joueur1);
//echo $type_joueur1."<br />";
//echo strpos($type_joueur1,"V")."<br />";
if($joueur=="VQ") {
$['']="vainqueur";
$['']=$num_couloir;
}
else if(strpos($type_joueur1,"Q")===0) {
$['']="site";
$['']=intval(substr($type_joueur1,1));
}
else if(strpos($type_joueur1,"V")===0) {
$['']="virtuel";
$['']=intval(substr($type_joueur1,1));
}
else {
$['']="site";
$['']=intval($type_joueur1);
}
/* Recupère le type et l'id du joueur 2 */
list($joueur,$type_joueur2,$num_couloir)=explode("_",$joueur2);
if($joueur=="VQ") {
$['']="vainqueur";
$['']=$num_couloir;
}
else if(strpos($type_joueur2,'Q')===0) {
$['']="site";
$['']=intval(substr($type_joueur2,1));
}
else if(strpos($type_joueur2,'V')===0) {
$['']="virtuel";
$['']=intval(substr($type_joueur2,1));
}
else {
$['']="site";
$['']=intval($type_joueur2);
}
/* Recupere le vainqueur */
list($rien,$num_tour,$num_couloir)=explode("_",$vainqueur);
$['']=intval($num_tour);
$['']=intval($num_couloir);
/* Recupère le numero du court et le créneau où le match a lieu s'il est programmé*/
if($court!=" ") {
list($rien, $id_court)=explode("_",$court);
list($date, $heure)=explode("_",$creneau);
$jour=substr($date,0,2);
$mois=substr($date,2,2);
$h=substr($heure,0,2);
$m=substr($heure,2,2);
$annee=date("Y");
$['']=intval($id_court);
$['']="$jour/$mois/$annee";
$['']="$h:$m";
}
array_push($matches, $match);
}
}
//print_r($matches);
/* Enregistrement des matchs en base */
include ("enregistrementMatch.php");
function recup_debut_tranche_tableau($id_tableau, $db_connection) {
$requete="SELECT debut_tranche FROM tableaux WHERE id_tableau='$id_tableau'";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
$res=mysql_fetch_object($reponse);
return $res->debut_tranche;
}
function recup_fin_tranche_tableau($id_tableau, $db_connection) {
$requete="SELECT fin_tranche FROM tableaux WHERE id_tableau='$id_tableau'";
$reponse=mysql_query($requete,$db_connection) or die ("Erreur no".mysql_errno()." : ".mysql_error()."<br>");
$res=mysql_fetch_object($reponse);
return $res->fin_tranche;
}
?>