Location: PHPKode > projects > ZKup > zKup_v2.06/include/classe_tournoi.php
<?php
# ***** AVERTISSEMENT SUR LA LICENSE *****
# Copyright COSSE Karl, 2006-2007
# 
# Adresse mail : hide@address.com
# 
# Ce logiciel est un programme informatique servant à la gestion
# de tournoi de jeux facilement via l'interface du site.
# 
# Ce logiciel est régi par la licence CeCILL soumise au droit français et
# respectant les principes de diffusion des logiciels libres. Vous pouvez
# utiliser, modifier et/ou redistribuer ce programme sous les conditions
# de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA 
# sur le site "http://www.cecill.info".
# 
# En contrepartie de l'accessibilité au code source et des droits de copie,
# de modification et de redistribution accordés par cette licence, il n'est
# offert aux utilisateurs qu'une garantie limitée.  Pour les mêmes raisons,
# seule une responsabilité restreinte pèse sur l'auteur du programme,  le
# titulaire des droits patrimoniaux et les concédants successifs.
# 
# A cet égard  l'attention de l'utilisateur est attirée sur les risques
# associés au chargement,  à l'utilisation,  à la modification et/ou au
# développement et à la reproduction du logiciel par l'utilisateur étant 
# donné sa spécificité de logiciel libre, qui peut le rendre complexe à 
# manipuler et qui le réserve donc à des développeurs et des professionnels
# avertis possédant  des  connaissances  informatiques approfondies.  Les
# utilisateurs sont donc invités à charger  et  tester  l'adéquation  du
# logiciel à leurs besoins dans des conditions permettant d'assurer la
# sécurité de leurs systèmes et ou de leurs données et, plus généralement, 
# à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. 
# 
# Le fait que vous puissiez accéder à cet en-tête signifie que vous avez 
# pris connaissance de la licence CeCILL, et que vous en avez accepté les
# termes.
# ***** AVERTISSEMENT SUR LA LICENSE *****

/*
Classe Tournoi
*/
if (!defined('COMMON') ) { include('common.php'); }
if (!defined('SELECTION') ) { include('classe_selection.php'); }
if (!defined('EQUIPES') ) { include('classe_equipes.php'); }
if (!defined('TOURNOI') ) {
	define("TOURNOI",true);
	error_reporting(9);

	class Tournoi {
		var $tab = array();
		var $bracket = array("winner"=>array(),"loser"=>array());
		var $fTournoi;
		var $fEquipe;
		var $dossier;

		function Tournoi($fichier='')
		{
			if ( $fichier != '' )
			{
				$this->dossier = completerChemin(dirname($fichier));
				$this->fTournoi = $this->dossier.'/'.Nom_Fichier_Tournoi;
				$this->fEquipe = $this->dossier.'/'.Nom_Fichier_Equipes;
				$this -> tab = $this -> FaireTab();
			}
		}

		//-- Modifié zKup v2.06
		function FaireTab()
		{
			if ( !file_exists($this->fTournoi) )
			die("fichier <strong>".$this->fTournoi."</strong> inexistant");
			$tabXML = parseXML($this->fTournoi);
			$type_bracket = '';
			foreach ( $tabXML as $v )
			{
				if ( $v['tag'] == "config" )
				{
					$tab['cfg']['etat'] = $v['attributes']['etat'];
					$tab['cfg']['nb_e'] = $v['attributes']['nb_e'];
					$tab['cfg']['nb_j'] = $v['attributes']['nb_j'];
					$tab['cfg']['bracket'] = $v['attributes']['bracket'];
					$tab['cfg']['tn_name'] = $v['attributes']['tn_name']; // Nom du tournoi
					$tab['cfg']['pseudo_admin'] = $v['attributes']['pseudo_admin']; // Pseudo admin du tournoi
				} else
				if ( $v['tag'] == "maps" )
				{
					$tab['maps'][$v['attributes']['tour']] = $v['attributes']['map'];
				}

				if ( $v['tag'] == 'winner' || $v['tag'] == 'loser' )
				{
					$type_bracket = $v['tag'];
				}

				if ( $v['tag'] == "rencontre" )
				{
					$this->bracket[$type_bracket][$v['attributes']['tour']][$v['attributes']['poule']] = array (
					'eq1' => array (
					'nom'=>$v['attributes']['eq1'],
					'score'=>$v['attributes']['s1']
					),
					'eq2' => array (
					'nom'=>$v['attributes']['eq2'],
					'score'=>$v['attributes']['s2']
					)
					);
				}
			}
			return $tab;
		}
		//--

		//-- Modifié zKup v2.06
		function ajouterTournoi($nb_e,$nb_j,$bracket,$tn_name,$pseudo_admin)
		{
			$oSelection = new Selection();
			$dossier = ($oSelection -> preparerDossier());
			
			$f_tournoi = completer(true,$dossier,Nom_Fichier_Tournoi);
			$f_equipe = completer(true,$dossier,Nom_Fichier_Equipes);
			$bracket = ($bracket=='oui'||$bracket=='non')?$bracket:'non';

			$this->tab['cfg'] = array('etat' => 0,
									  'nb_e' => $nb_e,
									  'nb_j' => $nb_j,
									  'bracket' => $bracket,
									  'tn_name' => $tn_name, // Nom du tournoi
									  'pseudo_admin' => $pseudo_admin // Pseudo de l'admin du tournoi
									  );

			if ( !file_exists($f_tournoi) && !file_exists($f_equipe) )
			{
				$oSelection -> ajouter($dossier,0,$nb_j,$nb_e,$bracket,$tn_name,$pseudo_admin);
				return ( $this->enregistrer($f_tournoi) && creerXML($f_equipe) );
			} 
			else die("Tournoi d&eacute;j&agrave; existant !");
		}
		//--
		function etat()
		{
			return (isset($this->tab['cfg']['etat']))?$this->tab['cfg']['etat']:false;
		}
		function nombreEquipe()
		{
			return (isset($this->tab['cfg']['nb_e']))?$this->tab['cfg']['nb_e']:false;
		}
		function nombreJoueur()
		{
			return (isset($this->tab['cfg']['nb_j']))?$this->tab['cfg']['nb_j']:false;
		}
		function bracket()
		{
			return (isset($this->tab['cfg']['bracket']))?$this->tab['cfg']['bracket']:'non';
		}
		function bracketBool()
		{
			return ($this->bracket()=='oui');
		}
		function nombreTourMax()
		{
			$tTour = array(4=>3,8=>4,16=>5,32=>6,64=>7,128=>8,256=>9,512=>10,1024=>11);
			if ( $this->bracketBool() )
			return $tTour[$this->nombreEquipe()]+1;
			return $tTour[$this->nombreEquipe()];
		}
		//-- Modifié zKup v2.06
		function tn_name()
		{
			return (isset($this->tab['cfg']['tn_name']))?$this->tab['cfg']['tn_name']:false;
		}
		function pseudo_admin()
		{
			return (isset($this->tab['cfg']['pseudo_admin']))?$this->tab['cfg']['pseudo_admin']:false;
		}
		//--
		function modifierBracket($bracket)
		{
			$num_dossier = split("/",$this->dossier);
			return $this->modifierTournoi($this->etat(),$this->nombreEquipe(),$this->nombreJoueur(),$num_dossier[sizeof($num_dossier)-1],$bracket);
		}
		function modifierEtat($etat)
		{
			$num_dossier = split("/",$this->dossier);
			return $this->modifierTournoi($etat,$this->nombreEquipe(), $this->nombreJoueur(), $num_dossier[sizeof($num_dossier)-1], $this->bracket(), $this->tn_name(), $this->pseudo_admin());
		}
		function modifierNbEquipes($nb_e)
		{
			$num_dossier = split("/",$this->dossier);
			return $this->modifierTournoi($this->etat(),$nb_e,$this->nombreJoueur(),$num_dossier[sizeof($num_dossier)-1]);
		}
		function modifierNbJoueurs($nb_j)
		{
			$num_dossier = split("/",$this->dossier);
			return $this->modifierTournoi($this->etat(),$this->nombreEquipe(),$nb_j,$num_dossier[sizeof($num_dossier)-1]);
		}
		function modifierNomEquipe($ancien,$nouveau)
		{
			foreach ($this->bracket['winner'] as $tour=>$tTour)
			{
				if ( is_numeric($tour) ) {
					foreach ($tTour as $poule=>$tInfos)
					{
						if ( $tInfos['eq1']['nom'] == $ancien )
						{ $this->bracket['winner'][$tour][$poule]['eq1']['nom'] = $nouveau; break; }
						if ( $tInfos['eq2']['nom'] == $ancien )
						{ $this->bracket['winner'][$tour][$poule]['eq2']['nom'] = $nouveau; break; }
					}
				}
			}
			return $this->enregistrer();
		}
		//-- Modifié zKup v2.06
		function modifierTournoi($etat,$nb_e,$nb_j,$dossier=false,$bracket='non',$tn_name,$pseudo_admin)
		{
			$this -> tab['cfg']['etat'] = intval($etat);
			$this -> tab['cfg']['nb_e'] = intval($nb_e);
			$this -> tab['cfg']['nb_j'] = intval($nb_j);
			$this -> tab['cfg']['tn_name'] = $tn_name;            // Nom du tournoi
			$this -> tab['cfg']['pseudo_admin'] = $pseudo_admin;  // Pseudo Admin du tournoi

			$chg_bracket = $this->bracket() == $bracket;
			$this -> tab['cfg']['bracket'] = ($bracket=='non'||$bracket=='oui')?$bracket:'non';

			$oSelection = new Selection();
			$oEquipe = new Equipe($this->fEquipe);
			$nb_e_now = $oEquipe->nombre();

			if ( $chg_bracket && $bracket=='non' && sizeof($this->bracket['loser'])>0)
			{
				unset($this->bracket['loser']);
			}

			if ( $nb_e_now > $this -> nombreEquipe() )
			{
				?><h4>Equipe(s) supprim&eacute;e(s) : [ <?php
				for ( $j = $nb_e_now-1 ; $j >= $nb_e; $j--)
				{
					echo '<font class="rouge">'.$oEquipe->nomEquipe($j).'</font> / ';
					$oEquipe->supprimer($oEquipe->nomEquipe($j));
				}
				?> ]</h4><?php
			}

			foreach ($oEquipe->t_aide as $nomEquipe => $id_eq )
			{
				$nb_j_now = $oEquipe->nombreJoueur($id_eq);
				if ( $nb_j_now > $this->nombreJoueur() )
				{
					?><h4>Dans l'&eacute;quipe <font class="rouge"><?php echo $nomEquipe; ?></font> suppression de : [ <?php
					for ( $i = $nb_j_now-1 ; $i >= $nb_j; $i--)
					{
						echo '<font class="rouge">'.$oEquipe->nomJoueur($nomEquipe,$i).'</font> / ';
						$oEquipe->supprimerJoueur($nomEquipe,$i);
					}
					?> ]</h4><?php
				}
			}
			
			$ret_sel 	= ($dossier) ? $oSelection 	-> modifier($dossier,$etat,$nb_j,$nb_e,$bracket,$tn_name,$pseudo_admin):true;
			$ret_this 	= $this		-> enregistrer();
			$ret_eq 	= $oEquipe	-> enregistrer($this->fEquipe);
			return ( $ret_eq && $ret_sel && $ret_this );
		}
		//--
		function supprimer()//A VERIFIER
		{
			unset($this->tab);
			return ( unlink($this->fTournoi) && unlink($this->fEquipe) && file_exists($this->dossier.'/cache') && unlink($this->dossier.'/cache'));
		}
		function enregistrer($fichier='')
		{
			$fichier = ($fichier=='')?$this->fTournoi:completerChemin($fichier);
			$xml = Header_XML."\n\t".'<config etat="'.$this->etat().'" nb_e="'.$this->nombreEquipe().'" nb_j="'.$this->nombreJoueur().'" bracket="'.$this->bracket().'" tn_name="'.$this->tn_name().'" pseudo_admin="'.$this->pseudo_admin().'" />';
			if ( isset($this->tab['maps']) && sizeof($this->tab['maps']) > 0 ) {
				foreach ( $this->tab['maps'] as $tour => $map )
				{
					$xml .= "\n\t".'<maps tour="'.$tour.'" map="'.smallConvert($map).'" />';
				} }
				$type_bracket = array();
				if ( sizeof($this->bracket['winner'])>0 ){ $type_bracket[] = 'winner'; }
				if ( sizeof($this->bracket['loser'])>0 ){ $type_bracket[] = 'loser'; }
				foreach ($type_bracket as $type)
				{
					$xml .= "\n\t<".$type.">";
					foreach ( $this->bracket[$type] as $tour=> $tab_tour)
					{
						foreach ( $tab_tour as $poule => $tInfos )
						{
							$xml .= "\n\t\t".'<rencontre tour="'.$tour.'" ';
							$xml .= 'poule="'.$poule.'" ';
							$xml .= 'eq1="'.smallConvert($tInfos['eq1']['nom']).'" ';
							$xml .= 'eq2="'.smallConvert($tInfos['eq2']['nom']).'" ';
							$xml .= 's1="'.$tInfos['eq1']['score'].'" ';
							$xml .= 's2="'.$tInfos['eq2']['score'].'" />';
						}
					}
					$xml .= "\n\t</".$type.">";
				}
				$xml .= "\n".Footer_XML;
				return ecrireFichier($fichier, convertStr($xml));
		}

		function equipeRandom($oEquipes)
		{
			$tOn = array(); $tOff = array(); $tPlaces = array();
			foreach ($oEquipes->tab as $id=>$tInfos)
			{
				if ( $tInfos['serveur'] == 'ON' )
				$tOn[] = $id;
				else
				$tOff[] = $id;
			}

			$nb_on = sizeof($tOn); $nb_off = sizeof($tOff);

			if ( $nb_off>0)
			shuffle($tOff);
			if ( $nb_on>0)
			shuffle($tOn);

			$nb_equipes = $nb_on+$nb_off;
			while ($nb_equipes>0)
			{
				if ( $nb_on>0 && $nb_off>0 )
				{
					$tPlaces[] = array_shift($tOn);
					$tPlaces[] = array_shift($tOff);
					$nb_equipes = --$nb_off+--$nb_on;
				}
				else if ($nb_on>0 && $nb_off==0)
				{
					$tPlaces[] = array_shift($tOn);
					$nb_equipes = --$nb_on;
				}
				else if ($nb_on==0 && $nb_off>0 )
				{
					$tPlaces[] = array_shift($tOff);
					$nb_equipes = --$nb_off;
				}
			}

			$nb_equipes = $oEquipes->nombre();
			for($i=0;$i<$nb_equipes;)
			{
				$this->bracket['winner'][0][floor(($i+1)/2)] = array(
				'eq1'=>array('nom'=>$oEquipes->nomEquipe($tPlaces[$i++]),'score'=>0),
				'eq2'=>array('nom'=>$oEquipes->nomEquipe($tPlaces[$i++]),'score'=>0)
				);
			}

			return $this->enregistrer();
		}

		function rencontreNom($tour,$poule,$eq1=true,$bracket='winner')
		{
			$eq = ($eq1)?'eq1':'eq2';
			if ( $bracket != 'winner' && $bracket != 'loser' ){die("Mauvais parametre de bracket !");}
			return isset($this->bracket[$bracket][$tour][$poule][$eq]['nom'])?$this->bracket[$bracket][$tour][$poule][$eq]['nom']:false;
		}

		function nombrePoules($tour)
		{
			return (isset($this->bracket['winner'][$tour]))?sizeof($this->bracket['winner'][$tour]):0;
		}

		function nombreTour()
		{
			return (sizeof($this->bracket['winner']));
		}

		function rencontreScore($tour,$poule,$eq1=true,$bracket='winner')
		{
			$eq = ($eq1)?'eq1':'eq2';
			if ( $bracket != 'winner' && $bracket != 'loser' ){die("Mauvais parametre de bracket !");}
			return (isset($this->bracket[$bracket][$tour][$poule][$eq]['score']))?$this->bracket[$bracket][$tour][$poule][$eq]['score']:0;
		}

		function rencontreEchange($eq1,$eq2) // On ne peut echanger une rencontre que pendant la phase de random
		{
			$nbP = $this->nombrePoules(0);
			for($i=0;$i<$nbP;$i++)
			{
				if ( $this->bracket['winner'][0][$i]['eq1']['nom'] == $eq1 ) { $this->bracket['winner'][0][$i]['eq1']['nom'] = $eq2; }
				else if ( $this->bracket['winner'][0][$i]['eq1']['nom'] == $eq2 ) { $this->bracket['winner'][0][$i]['eq1']['nom'] = $eq1; }

				if ( $this->bracket['winner'][0][$i]['eq2']['nom'] == $eq1 ) { $this->bracket['winner'][0][$i]['eq2']['nom'] = $eq2; }
				else if ( $this->bracket['winner'][0][$i]['eq2']['nom'] == $eq2 ) { $this->bracket['winner'][0][$i]['eq2']['nom'] = $eq1; }
			}
			return $this->enregistrer();
		}

		function mapModifier($nom_map,$tour)
		{
			if ( $nom_map == '') { unset($this->tab['maps'][$tour]); }
			else { $this->tab['maps'][$tour] = $nom_map; }
			return $this -> enregistrer();
		}
		function mapRet($tour,$admin=false)
		{
			$dossier_images = './images/maps/';
			$largeur = '160';
			$hauteur = '120';
			if ( $admin )
			{
				$ret = '<a href="#" onClick="rentrerMap('.$tour.');return false;" title="rentrer une map">';
				if ( isset($this->tab['maps'][$tour]) )
				{
					$ret .= '<img src="'.$dossier_images.$this->tab['maps'][$tour].'.jpg" width="'.$largeur.'" height="'.$hauteur.'" alt="'.$this->tab['maps'][$tour].'.jpg : Cette map n\'est pas pr&eacute;sente dans le dossier \'images/maps\' de votre site !!" />';
				} 
				else 
				{
					$ret .= '<img src="./admin/themes/clear_blue/images/icons/pencil.png" alt="Editer le lieu de la rencontre" /> lieu</a>';
				}
			}
			else
			{
				$ret = '';
				if ( isset($this->tab['maps'][$tour]) )
				{
					$ret .= (file_exists($dossier_images.$this->tab['maps'][$tour].'.jpg'))?'<img src="'.$dossier_images.$this->tab['maps'][$tour].'.jpg" width="'.$largeur.'" height="'.$hauteur.'" alt="'.$this->tab['maps'][$tour].'" de votre site !" />':$this->tab['maps'][$tour];
				} 
			}
			return $ret;
		}

		function rencontreRentrerScore($tour,$poule,$s1,$s2,$bracket='winner')
		{
			$annuler = ( $s1 == 0 && $s1 == $s2 );
			if ( !$annuler && ($s1 == $s2 || $s1 < 0 || $s2 < 0) ) { die("Erreur de score"); }
			$eq = ( $s1 > $s2 )?'eq1':'eq2';
			$eq_perd = ( $s1 > $s2 )?'eq2':'eq1';
			$gagnant = $this->bracket[$bracket][$tour][$poule][$eq]['nom'];
			$perdant = $this->bracket[$bracket][$tour][$poule][$eq_perd]['nom'];
			$poule_paire = ($poule %2) == 0;
			$bracket_l = "loser"; $ajout_w = false; $ajout_l = false;
			
			if ( $bracket == "winner" )
			{
				$ajout_w = true; $tour_w = $tour+1; $poule_w = floor($poule/2); $eq_w = ($poule_paire)?'eq1':'eq2';
				if ( $this -> bracketBool() )
				{
					$ajout_l = true;
					//echo 'tour : '.$tour.' tour max : '.$this -> nombreTourMax();
					if ( $tour == 0 ){ $poule_l = $poule_w; $tour_l = 0; $eq_l = $eq_w; }
					else if ( $tour == ($this -> nombreTourMax() - 2) ) { $ajout_l = false; }
					else {
						$poule_l = $poule; $eq_l = $eq_w; $tour_l = 1;
						if ( $tour != 1 )
						$tour_l += 2 * ( $tour - 1);//a verifier
						if ( ($this -> nombreEquipe() == 4 && $tour == 1) ||
						( $this -> nombreEquipe() == 8 && $tour == 2) ||
						( $this -> nombreEquipe() == 16 && $tour == 3) ||
						( $this -> nombreEquipe() == 32 && $tour == 4))
						{ $eq_l = 'eq2'; }
					}
				}
			}
			else
			if ( $this -> bracketBool() && $bracket == "loser" )
			{
				$ajout_l = true; $tour_l = $tour +1; $poule_l = ($poule_paire)?$poule:floor($poule/2);
				if ( ($tour%2)==0 ) { $eq_l = ($poule_paire)?"eq2":"eq1"; $poule_l=$poule;//$poule_l=($poule_paire)?$poule:$poule_l+1;
				}
				else { $eq_l = ($poule_paire)?"eq1":"eq2"; $poule_l=floor($poule/2);}
				
				echo 'tour : '.$tour.' tour max : '.$this -> nombreTourMax();
				
				if ( ($this -> nombreEquipe() == 4 && $tour == 1 ) ||
				( $this -> nombreEquipe() == 8 && $tour == 3) ||
				( $this -> nombreEquipe() == 16 && $tour == 5) ||
				( $this -> nombreEquipe() == 32 && $tour == 7))
				{ 
					switch ($tour){
						case 1:
							$tour_l = 2;
							break;
						case 3:
							$tour_l = 3;
							break;
						case 5:
							$tour_l = 4;
							break;
						case 7:
							$tour_l = 5;
							break;	
					}
				$bracket_l = "winner"; $poule_l = 0; $eq_l = "eq2"; }
				if ( ($this -> nombreEquipe() == 4 && $tour == 0 ) ||
				($this -> nombreEquipe() == 8 && $tour == 2 ) ||
				 ($this -> nombreEquipe() == 16 && $tour == 4) ||
				 ($this -> nombreEquipe() == 32 && $tour == 6) ) 
				{ $eq_l = 'eq1';}
			}

			$this -> bracket[$bracket][$tour][$poule]['eq1']['score'] = $annuler?0:$s1;
			$this -> bracket[$bracket][$tour][$poule]['eq2']['score'] = $annuler?0:$s2;
			
			if ( $ajout_w )
			{
				$eq_w_adv = ($eq_w=="eq1")?"eq2":"eq1";
				$gagnant = $annuler?"":$gagnant;
				$this->bracket["winner"][$tour_w][$poule_w][$eq_w] = array('nom'=>$gagnant,'score'=>0);
				if ( !isset($this->bracket["winner"][$tour_w][$poule_w][$eq_w_adv]) )
				{
					$this->bracket["winner"][$tour_w][$poule_w][$eq_w_adv] = array('nom'=>'','score'=>0);
				}
			}

			if ( $ajout_l )
			{
				$eq_l_adv = ($eq_l=="eq1")?"eq2":"eq1";
				$nomEquipe = $annuler?"":$bracket=="winner"?$perdant:$gagnant;
				$this->bracket[$bracket_l][$tour_l][$poule_l][$eq_l] = array('nom'=>$nomEquipe,'score'=>0);
				if ( !isset($this->bracket[$bracket_l][$tour_l][$poule_l][$eq_l_adv]) )
				{
					$this->bracket[$bracket_l][$tour_l][$poule_l][$eq_l_adv] = array('nom'=>'','score'=>0);
				}
			}

			
			return $this -> enregistrer();
		}

		function FaireArbre($admin=false,$mise_a_jour=false)
		{
			if ( $this -> etat() < 2 )
			{
				echo 'Arbre en pr&eacute;paration';
				return;
			}

			$winnerB = !$this->bracketBool();
			if ( $admin && !$mise_a_jour )
			{
		?>
		<script type="text/javascript" language="javascript" charset="utf-8">
		// <![CDATA[
		new Draggable($('divScore'),{scroll:window,handle:'barreGrip',revert:0});
		rentrerScore = function(tour,poule,bracket) {
			monUpdate($('ContenuScore'), './admin/tournoi/administrer_score.php','action=afficher&tour='+tour+'&poule='+poule+'&bracket='+bracket );
			
		}
		rentrerMap = function(tour) {
			monUpdate($('ContenuScore'), './admin/tournoi/administrer_score.php','action=map&tour='+tour );
		}
		// ]]>
  		</script>
		<div id="divScore" style="z-index:1000;"><span id="barreGrip">Vous pouvez me d&eacute;placer</span>
			<div id="ContenuScore">
			<?php include(CHEMIN.'/admin/tournoi/administrer_score.php');?>
			</div>
		</div>
		<div id="arbre">
		<?php 
			}

			$dossier = 'include/arbres/';
			$dossier .= $winnerB?'WB':'LB';
			$dossier .= '/arbre_'.$this->tab['cfg']['nb_e'].'.php';
			$dossier = CHEMIN.'/'.$dossier;
			include_once($dossier);
			?></div><?php
		}
		/* Ajout de cette fonction le 31/10/2007 */
		function retScore($tour,$poule,$eq,$type_bracket){
			if ( isset($this->bracket[$type_bracket][$tour][$poule][$eq]['score']) 
				&& $this->bracket[$type_bracket][$tour][$poule][$eq]['nom'] != ''){
			return $this->bracket[$type_bracket][$tour][$poule][$eq]['score'];
			}
		}
		/* ----------------------------------------- */
		
		function afficherEquipe($tour,$poule,$eq,$admin,$bracket='winner')
		{
			$nom_equipe = (isset($this->bracket[$bracket][$tour][$poule][$eq]['nom']))?$this->bracket[$bracket][$tour][$poule][$eq]['nom']:'';
			if ( $admin ) {
			$nom_equipe = '<a href="#" onClick="rentrerScore('.$tour.','.$poule.',\''.$bracket.'\');return false;" title="rentrer le score">'.$nom_equipe.'</a>'; }
			$score = $this->retScore($tour,$poule,$eq,$bracket);
			$eq_adv = $eq=='eq1'?'eq2':'eq1';
			$score_adv = $this->retScore($tour,$poule,$eq_adv,$bracket);
			$class_css = $score_adv==0&&$score==0?'':($score_adv>$score?'score_lose':'score_win');
			$score = $score==''?'':'<p class="score '.$class_css.'">'.$score.'</p>';
			echo $score.$nom_equipe;
		}
		function afficherEquipes($affNum=false,$affServ=true,$affNom=true,$affJoueurs=true,$limiteEq=-1,$limiteJ=-1)
		{
			$oEquipe = new Equipe($this->fEquipe);
			if ( $oEquipe -> nombre() == 0 ){ die("<h3 align='center'>Aucune &eacute;quipe inscrite !</h3>"); }
			$oEquipe -> afficherEquipes($affNum,$affServ,$affNom,$affJoueurs,$limiteEq,$limiteJ);
		}
	}
}
?>
Return current item: ZKup