<?php
include("../config.php3");
include($BIB."bib_generic.php3");
include($BIB."bib_constants.php3");
//include($BIB."bib_calcul_points.php3");
include($BIB."bib_admin.php3");
include($BIB."bib_exploitation.php3");

####################
# Administration script defaults
####################
# pas de timeout possible qql soit l'action effectuée
set_time_limit($TIME_LIMIT);

# le script continue une fois qu'il est lancé qql soit l'état de la connection après
ignore_user_abort(true); 

$flag_exploitation = "undo.php3";

# nb de lignes à afficher
$nbRowsToShow = 50;

?>
<html>
<head></head>
<link rel="stylesheet" href="admin.css">
<body rightmargin=0>
<div align=center class=trTitle>Annuler un résultat</div>
Ce script effectue l'annulation UNIQUEMENT sur les matchs dont l'etat n'est pas à 0, ie s'il pour un pari certains sont à 0 et d'autres non, l'annulation n'est pas effectuée sur ceux dont les paris ont l'état 0, ce qui à priori est normal :)
<br><br>
<form>
N° du match dont le score est à annuler : <input size=3 type=text name=MId value="">
<br>
<input type=hidden size=3 name=PARRAIN value=0>
<br>
<input type=checkbox name=DEBUG value=1 checked>DEBUG Mode
<br><br>
<input type=submit>
</form>
<?php
if($go==1)
{
	include("calendar_generatorInExploitation.php3");
}
elseif ($MId!="")
{
	# on place un flag dans la bib_exploitation pour être sur que 2 scripts ne se lancent pas en même temps
	if (getExploitationFile($flag_exploitation) == 1)
		die("Ce script est déjà en cours");
	else
	{
		flush();

		setExploitationFile($flag_exploitation, 1);
	}	
	
	# il faut récuperer tous les paris, redonner les points ou les retirer
	# mettre Done = 0 et remettre le resultat à zero

	# recup du match
	$rowMotion = db_fetch_array(main_db_query("SELECT * FROM Matchs WHERE MatchId='".$MId."' AND Result!='0'"));

	if (!$rowMotion) die("<br><br><font color=red><b>ERREUR : Le résultat du pari n'est pas encore validé !</b></font>");
	
	
	##################################################
	# ici on récupère tous les paris dont le Done != 0 (ie dont le résultat a été mis à jour)
	$rowsBets = main_db_query("SELECT distinct(CONCAT(PlayerId,\"_\",MatchId)),PlayerId,MatchId,Bet,Date,Amount,Done FROM Paris WHERE Done != 0 AND MatchId=".$MId);
		
	$nbPoints = 0;
	$kf = 0;
	
	$rowsCountDone = main_db_query("SELECT COUNT(*) AS total, Done FROM Paris WHERE MatchId='".$MId."' GROUP BY Done");
	while($rowCountDone = db_fetch_array($rowsCountDone))
	{	
		echo "<br>Nb matchs à Done=".$rowCountDone['Done']." => ".$rowCountDone['total'];
	}

	#debut du tableau de debug
	if ($DEBUG==1)
	{
	###############################
	# pour afficher les resultats #
	###############################

	?>
		<br><br><table border="0" cellpadding="4" cellspacing="4" class="univers">
				<tr class="trTitle">
					<td>Joueur N°</td>
					<td>Gain pronostics</td>
					<td>KF</td>
				</tr>
	<?
	}
	
	$nbParisTraites = $nbPerfects = 0;
	
	# on parcourt chaque paris
	while($rowBet = db_fetch_array($rowsBets))
	{	
		$nbPerfects = 0;
		$nbPoints = calcule_gain_prono($rowMotion['Result'],$rowBet['Bet'],$rowBet['Amount'],$rowMotion['Rate1'],$rowMotion['Rate2']);
		$kf =  calcule_gain_prono($rowMotion['Result'],$rowBet['Bet'],1,$KF_PERFECT,$KF_CORRECT);
		if( $kf < 0 )
			$kf = 0;
		
		// Mise à jour du result dans la table Paris

		if ($kf == 0)
			$result = $RESULTAT_ECHEC;
		elseif ($kf == $KF_CORRECT)
			$result = $RESULTAT_CORRECT;
		elseif ($kf == $KF_PERFECT)
		{
			$nbPerfects++;
			$result = $RESULTAT_PERFECT;
		}
		else 
			$result = $RESULTAT_ATTENTE;

		if ($DEBUG==1)
		{
		###############################
		# pour afficher les resultats #
		###############################
			$color = ($r % 2 == 0)? "#FFFFFF":"#E8E8E8";
			$r++;
			?>
			<tr bgcolor="<?php echo $color ?>">
				<td><?php echo $rowBet['PlayerId'] ?></td>
				<td><?php echo $nbPoints ?></td>
				<td><?php echo $kf ?></td>
			</tr>

		<?php
		}		
		else
		{
			# mise à jour des scores et kf des joueurs
			main_db_query("UPDATE Players SET KF=KF-".$kf." , Score=Score-".$nbPoints.", Niveau=Niveau-".$nbPerfects." WHERE Id='".$rowBet['PlayerId']."'");
		
			# mise à jour des Done et result
			main_db_query("UPDATE Paris SET Result='".$RESULTAT_ATTENTE."', Done='0' WHERE MatchId='".$MId."' AND PlayerId=".$rowBet['PlayerId']);
		}
		
		$nbParisTraites++;
		
		# reinitialisation des variables		
		$nbPoints = 0;
		$kf = 0;
		$nbPerfects = 0;		
	}
	
	if ($DEBUG != 1)
	{
		# mise à jour du resultat et de l etat du match
		main_db_query("UPDATE Matchs SET Result='0',etat='".$TYPE_ETAT['NULL']."' WHERE MatchId='".$MId."'");
	}
	else
	{
		?>
		</table>
		<?php
	}
	flush();
	echo "<b>Annulation terminée, ".$nbParisTraites." paris annulés</b><br>";
	deleteExploitationFile($flag_exploitation);
	include("calendar_generatorInExploitation.php3");
}
?>
<div align=right>PCE = Nb Perfects / Corrects / Echecs</div>
<table border=0 cellpadding=2 cellspacing=2 class=univers>
	<tr class=trTitle>
		<td align=center colspan=11>Liste des matches terminés</td>
	</tr>
	<tr class=trTitle>
		<td >N°</td>
		<td >Equipe 1</td>	
		<td >Equipe 2</td>		
		<td >Res.</td>
		<td >Affichage</td>		
		<td >Fin de pari</td>
		<td >Categorie</td>
		<td >Nb paris</td>
		<td >P</td>
		<td >C</td>
		<td >E</td>
	</tr>
<?php
# on affiche les matchs dont les résultats on été rentrés pour tel category
if (!isset($rankStart))
	$rankStart = 0;
	
$rows=main_db_query("SELECT *,Matchs.ShowTime as MatchShowTime FROM Matchs LEFT JOIN Categories ON Categories.CategoryId=Matchs.Category WHERE Matchs.Result!='0' AND Matchs.etat!=".$TYPE_ETAT['WAIT']." ORDER BY Date DESC LIMIT ".$rankStart.", ".$nbRowsToShow);
while($row=db_fetch_array($rows))
{
	# nb de perfects, corrects, échecs
	$nbRows = main_db_query("SELECT COUNT(Result) AS total FROM Paris WHERE MatchId='".$row[MatchId]."' GROUP BY Result ORDER BY Result ASC");
	$nbEchecs = db_fetch_array($nbRows);
	$nbCorrects = db_fetch_array($nbRows);
	$nbPerfects = db_fetch_array($nbRows);
	$nbBets = $nbEchecs[total] + $nbCorrects[total] + $nbPerfects[total];
	
	$color = ($r % 2 == 0)? "#FFFFFF":"#E8E8E8";
	$r++;
	echo "<tr bgcolor=".$color.">";
	echo "<td>$row[MatchId]</td>";
	echo "<td>$row[Team1]</td>";
	echo "<td>$row[Team2]</td>";
	echo "<td>$row[Result]</td>";
	echo "<td>".$row[MatchShowTime]."</td>";
	echo "<td>$row[Date]</td>";
	//echo "<td>$row[Rate1]</td>";
	//echo "<td>$row[Rate2]</td>";
	echo "<td>$row[Name]</td>";
	echo "<td align=right>".$nbBets."</td>";
	echo "<td align=right><a class=under target=_blank href='".$SERVER_URL."stats/parieurs.php3?bet=".$row[Result]."&match=".$row[MatchId]."'>".$nbPerfects[total]."</a></td>";
	echo "<td align=right>".$nbCorrects[total]."</td>";
	echo "<td align=right>".$nbEchecs[total]."</td>";
	echo "</tr>";
	flush();
}
?>
</tr></table>
<table cellpadding=0 cellspacing=0 border=0 width=100%>
	<tr>
		<td>
		<a class=under href="<?php echo $PHP_SELF."?rankStart=".($rankStart - $nbRowsToShow); ?>">&laquo; Les <?php echo $nbRowsToShow ?> précédents</a>
		</td>
		<td>
		<a class=under href="<?php echo $PHP_SELF."?rankStart=0"; ?>">top</a>
		</td>
		<td align=right>
		<a class=under href="<?php echo $PHP_SELF."?rankStart=".($rankStart + $nbRowsToShow); ?>">Les <?php echo $nbRowsToShow ?> suivants &raquo;</a>
		</td>
	</tr>
</table>
<div><font color=red><b><?php echo $error ?></b></font></div>


</body>
</html>


