<?php
include("config.php3");
include($BIB."bib_generic.php3");
include($BIB."bib_drapeaux.php3");
include($BIB."bib_cs.php3");
include($BIB."bib_admin.php3");


$REDIRECT_PAGE = base64_decode($redirect_page);

/*------------ TAG HEADER ----*/
$header_title = "Kestufoot: jeu de pronostics gratuits sur le football, pronostiquer.";
$header_description = "Cette page vous permet de miser vos points sur le match sélectionné.";
$header_keywords = "Pronostics, mise, points, miser, matchs de foot, pronostic gratuit, jeu de pronostics, jeu de foot, matchs de foot, pronostics gratuits.";
/*------------ /TAG HEADER ----*/



function flag($equip)
{
	global $TEAMS,$TEAM_NAMES,$TEAM_LIST;
	
	$res = "x.gif";
	//for ($i=0;$i<$TEAMS;$i++)
	foreach($TEAM_NAMES AS $Id=>$Name)
	{
		if (strcmp($equip,$Name)==0)
		{
			$res = $TEAM_LIST[$Id];
			break;
		}
	}
	
	return $res;
}
######################
#   end functions    #
######################

//$regs_time[];
$sess = open_page($sessid);
if ($sess->memberid == -1)
	 $sess->redirect($REGISTRATION_PAGE, "");

#$member = getmember($sess->memberid);
$player = getplayer($sess->memberid);

# ici est calculé le nb de points max que le joueur peut miser sur un match
$BET_MAX = round($player[Score]*$BET_LIMIT/100);

$match =  db_fetch_array(main_db_query("SELECT m.*,c.Container FROM Matchs as m LEFT JOIN Categories as c ON c.CategoryId=m.Category WHERE MatchId='".$MatchId."'"));
$stats =  db_fetch_array(main_db_query("SELECT * FROM MatchsStats WHERE MatchId='".$MatchId."'"));

$current_european_date = date("Y-m-d H:i:s", my_local_time());

//ici on test que le prono est actuellement affiché sur le site. Pour eviter les acces par url ( avec id modifié ) à des pronos qui ne sont pas encore en ligne
$locked = 0;
if($match["ShowTime"] > $current_european_date )
{
	$locked = 1;
}


# on récupère le résultat de la rencontre de l'année précédente
$lastYear = db_fetch_array(main_db_query("SELECT * FROM OldMatchs WHERE Team1='".addslashes($match[Team1])."' AND Team2='".addslashes($match[Team2])."' AND Result!='0' ORDER BY ShowTime DESC"));

# on récupère l'Id du container du match
$query = "SELECT Categories.Container, Categories.Image, Categories.Name FROM Matchs, Categories WHERE Matchs.MatchId='".$MatchId."' AND Matchs.Category=Categories.CategoryId";

$ContainerId = db_fetch_array(main_db_query($query));
$CategoryName = $ContainerId[Name];
/*
if ($CategoryName == "Coupes")
	$CategoryName = "Coupe";
elseif ($CategoryName == "Bleus")
	$CategoryName = "L'équipe de France";
elseif ($CategoryName == "C.Europe")
	$CategoryName = "Coupe d'Europe";
elseif ($CategoryName == "Etranger")
	$CategoryName = "championnat étranger";
*/	
	
$ContainerImage = $ContainerId[Image];
if ($ContainerImage == "")
	$ContainerImage = "spacer.gif";
$ContainerId = $ContainerId[Container];

# on calcule les statistiques du match
if ($stats[Win1] + $stats[Win2] + $stats[NullGame] != 0)
{
	$victoire1 = 100. * $stats[Win1] / ($stats[Win1] + $stats[Win2] + $stats[NullGame]);
	$victoire2 = 100. * $stats[Win2] / ($stats[Win1] + $stats[Win2] + $stats[NullGame]);
	$matchNul = 100. * $stats[NullGame] / ($stats[Win1] + $stats[Win2] + $stats[NullGame]);
}
else
{
	$victoire1 = $victoire2 = $matchNul = 100./3;
}

# si c'est une modification du pari, on récupère les infos du pari
$once = db_fetch_array(main_db_query("SELECT * FROM Paris WHERE MatchId='".$match['MatchId']."' AND PlayerId='".$player[Id]."'"));

$row_consumed_points = db_fetch_array(main_db_query("SELECT SUM(Amount) AS tot FROM Paris WHERE PlayerId='".$player[Id]."' AND Done='0'"));
$consumed_points = $row_consumed_points['tot'];
$remaining_points = $player[Score] - $consumed_points;



# vérif si on peut encore jouer
$betIsClosed = checkBetIsClosed($current_european_date , $match["Date"], $once);
$matchIsClosed = checkMatchIsClosed($current_european_date , $match["Date"], $once);
# si le pari existe deja, on est soit en reload (cas ou validate n'est pas vide)
# soit en revue du pari (cas validate vide)
# dans les deux cas un update sera effectué, on peut donc remettre les points à l'état précédent
if (($once[MatchId]==$MatchId)&&($once[PlayerId]==$player[Id]))
{
	$consumed_points = $consumed_points - $once[Amount];
	$remaining_points = $remaining_points + $once[Amount];
}

$error = "";
if (!empty($validate) )
{

	# on vérifie si le joueur a assez d'argent
	$intAmount = abs(round($amount));
	$Team1 = abs(round($Team1));
	$Team2 = abs(round($Team2));
	
	if($remaining_points < $intAmount)
		$error = $error.C_PASASSEZDEPOINTS." !<br>";
	
	if($locked==1)
	{
		$error = $error."Ce pronostique n'est pas encore en ligne, nous ne pouvons donc pas vous le valider !<br>";
	}
	
	# on vérifie que le match n'a pas encore commencé
	if ($betIsClosed)
		$error = $error."Il est trop tard pour parier sur : ".$match[Team1]." vs ".$match[Team2]." !<br>";
	#	    $date = date("Y-m-d H:i:s", time()+$DECALAGE_HORAIRE_HEBERGEUR);
	
	# on vérifie que la mise n'est pas supérieur à $BET_MAX
	if ($BET_MAX<$intAmount)
		$error = $error."Vous ne pouvez pas miser plus de ".$BET_MAX." points sur ce match !<br>";
		
	if ($error=="")
	{
		# si le joueur avait déjà effectué un pari sur ce match, on met son pari à jour
		# $Team1 et $Team2 sont les pronostics des scores des équipes 1 et 2
		$the_bet =  $Team1."-".$Team2;
		
		if (($once['MatchId']==$MatchId) && ($once['PlayerId']==$player['Id']))
		{
			# on calcule quel était le type de son ancien pari, et celui
			# de son nouveau pari pour mettre à jour les statistiques du match
			$newBet = cmp_score($Team1,$Team2);
			$oldBet = explode("-",$once[Bet]);
			$oldBet = cmp_score($oldBet[0],$oldBet[1]);
			
			if ($oldBet != $newBet)
			{
				switch ($oldBet)
				{
					case 0:
						main_db_query ("UPDATE MatchsStats SET NullGame='".(--$stats[NullGame])."' WHERE MatchId='$MatchId'");
						break;
					case 1:
						main_db_query ("UPDATE MatchsStats SET Win1='".(--$stats[Win1])."' WHERE MatchId='$MatchId'");
						break;
					case 2:
						main_db_query ("UPDATE MatchsStats SET Win2='".(--$stats[Win2])."' WHERE MatchId='$MatchId'");
						break;
				}
				
				switch ($newBet)
				{
					case 0:
						main_db_query ("UPDATE MatchsStats SET NullGame='".(++$stats[NullGame])."' WHERE MatchId='$MatchId'");
						break;
					case 1:
						main_db_query ("UPDATE MatchsStats SET Win1='".(++$stats[Win1])."' WHERE MatchId='$MatchId'");
						break;
					case 2:
						main_db_query ("UPDATE MatchsStats SET Win2='".(++$stats[Win2])."' WHERE MatchId='$MatchId'");
						break;
				}
			}
			
			$row=main_db_query("UPDATE Paris SET Bet='".$the_bet."',Date='".$current_european_date."',Amount='".$intAmount."', Public='".$public."' WHERE MatchId='".$MatchId."' AND PlayerId='".$player[Id]."'");
		}
		else
		{
			# on calcule le type de son nouveau pari pour mettre à jour les statistiques du match
			$newBet = cmp_score($Team1,$Team2);
			switch ($newBet)
			{
				case 0:
					main_db_query ("UPDATE MatchsStats SET NullGame='".(++$stats[NullGame])."' WHERE MatchId='$MatchId'");
					break;
				case 1:
					main_db_query ("UPDATE MatchsStats SET Win1='".(++$stats[Win1])."' WHERE MatchId='$MatchId'");
					break;
				case 2:
					main_db_query ("UPDATE MatchsStats SET Win2='".(++$stats[Win2])."' WHERE MatchId='$MatchId'");
					break;
			}
		    $row = main_db_query("INSERT INTO Paris (PlayerId,MatchId,Bet,Date,Amount,Done,TempsPari) VALUES ('".$player['Id']."','".$MatchId."','".$the_bet."','".$current_european_date."','".$intAmount."','0',".$TEMPS_PARI.")");
		    //if (!$row) echo "no"; else echo "yes";
		    //echo "INSERT INTO Paris (PlayerId,MatchId,Bet,Date,Amount,Done,TempsPari) VALUES ('".$player['Id']."','".$MatchId."','".$the_bet."','".$current_european_date."','".$intAmount."','0',".$TEMPS_PARI.")";
		}
		
		# si le joueur demande à laisser un commentaire sur le match
		# on l'inscrit dans la base de données
		
		// par sécurité, on retire les balises php et html éventuelles du commentaire rentré par 
		// le joueur
		$commentaire = strip_tags($commentaire);
		
		// on supprime les éventuels espaces initiaux et finaux
		$commentaire = trim($commentaire);
		
		// on tronque les commentaires trop longs
		$commentaire = substr($commentaire,0,250);
		
		// si le commentaire contient un mot de plus de 11 caractères,
		// on ne garde que les 10 premiers caractères du mot suivis d'un point
		$tab = explode(" ",$commentaire);
		$imax=sizeof($tab);
		for ($i=0;$i<$imax;$i++)
		{
			if (strlen($tab[$i])>11)
				$tab[$i] = substr($tab[$i],0,10).".";
		}
		$commentaire = implode (" ", $tab);
		
		// si le commentaire contient le mot script, on ne le mets pas dans la base
		/*
		if (!eregi("script", $commentaire))
			main_db_query ("UPDATE Paris SET Comment='".$commentaire."', Public='".$public."' WHERE MatchId='".$MatchId."' AND PlayerId='".$player[Id]."'");
		*/
		# on revient ensuite aux paris
		//$sess->redirect($CHOOSE_BET_PAGE, "ValidateBet=1&ContainerId=".$ContainerId);
		$sess->redirect($CHOOSE_BET_PAGE, "ValidateBet=1&ContainerId=".$ContainerId."&urlselected=".$urlselected."&playerId=".$player['Id']."&mtaidselected=".$mtaidselected);
	}
}
else
{
	/* 
	dans le cas du joker CS2, on a initialisé le pari avant qu'il est parié
	Il y a donc un enregistrement dans pari mais sans pari effectif !
	*/
	if ($once[Bet] != "0")
	{
		# si il refait son pari	
		$amount = $once[Amount];
		$extract_bet = explode("-",$once[Bet]);
		$Team1=$extract_bet[0];
		$Team2=$extract_bet[1];
	}
	
	$commentaire = $once[Comment];
}



if (empty($validate) || ($error != ""))
{
	$title = "";
    $form_action = $sess->action($BET_PAGE);
    $form_name = "bet";
	$title_image = "Titres/Titre-FootVosJeux.gif";
$page_courante="pronostics";
$sub_header='subh_connecte.inc';

	include("header.inc");
    include("bet_form_header.inc");
	include("pronostiquer.inc");
    include("form_footer.inc");
	include("footer.inc");
}
close_page($sess);
?>
