<?php

	session_start();

	include('database.php');
	DB_connexion(); 
	

	if(!isset($_SESSION['logged']) )
	{		
		header ('Location: interdiction.php');
	}

	if($_SESSION['logged']== "no")
	{
		header ('Location: interdiction.php');
	}
	
	if(!empty($_POST) )
	{
		$_SESSION['sauvegarde_formulaire'] = $_POST ;
		$page_actuelle = $_SERVER['PHP_SELF'] ;

		if(!empty($_SERVER['QUERY_STRING']))
		{
			$page_actuelle .= '?' . $_SERVER['QUERY_STRING'] ;
		}

		header('Location: ' . $page_actuelle);
		exit;
	}

	if(isset($_SESSION['sauvegarde_formulaire']))
	{
		$_POST = $_SESSION['sauvegarde_formulaire'] ;
		unset($_SESSION['sauvegarde_formulaire']);		
	}	
	
	if( isset($_POST['valide_form']) && $_POST['valide_form'] == "ok" )
	{
			//echo $_POST['selection_score'];
			$flag_validation = false;

			switch ($_POST['selection_score'])
			{
				case	"Blanc gagne":
						$score_blanc = "1";
						$score_noir = "0";
						$flag_validation = true;
						break;

				case 	"Blanc perd":
						$score_blanc = "0";
						$score_noir = "1";
						$flag_validation = true;
						break;

				case 	"Noir gagne":
						$score_blanc = "0";
						$score_noir = "1";
						$flag_validation = true;
						break;

				case 	"Noir perd":
						$score_blanc = "1";
						$score_noir = "0";
						$flag_validation = true;
						break;

				case	 "Match nul":
						$score_blanc = "0.5";
						$score_noir = "0.5";
						$flag_validation = true;
						break;
			}

			if($flag_validation == true)
			{
					$jour = $_POST['jour'];
					$mois = $_POST['mois'];
					$annee = $_POST['annee'];

					$tab_associatif = array(); 
					$tab_associatif ['Janvier']='1';
					$tab_associatif ['Février']='2';
					$tab_associatif ['Mars']='3';
					$tab_associatif ['Avril']='4';
					$tab_associatif ['Mai']='5';
					$tab_associatif ['Juin']='6';
					$tab_associatif ['Juillet']='7';
					$tab_associatif ['Aôut']='8';
					$tab_associatif ['Septembre']='9';
					$tab_associatif ['Octobre']='10';
					$tab_associatif ['Novembre']='11';
					$tab_associatif ['Décembre']='12';
					$mois = $tab_associatif[$mois];

					if(strlen($jour) == 1);
					{
						$jour = '0' .$jour;
					}

					if(strlen($mois) == 1);
					{
						$mois = '0' .$mois;
					}

					$date_format = $jour ."-" .$mois ."-" .$annee; 

					if(check_date($date_format) == "Erreur") 
					{
						$message = '<div id="message_traitement" style="display:block">Date non valide.</div>';
					}

					else
					{
						$timestamp = mktime (0, 0, 0, $mois, $jour, $annee);
						echo $_POST['date_reference'];
						echo $_POST['option_date'];

						if($_POST['option_date'] == "avant")
						{
							echo $timestamp ." **** " .$_POST['date_reference'];

							if($timestamp <= $_POST['date_reference'])
							{
								$plage_date = "Ok";
							}	
							else
							{
								$plage_date = "Erreur_avant";
							}
						}	

						if($_POST['option_date'] == "apres")
						{
							echo $timestamp ." **** " .$_POST['date_reference'];

							if($timestamp >= $_POST['date_reference'])
							{
								$plage_date = "Ok";
							}	

							else
							{
								$plage_date = "Erreur_apres";
							}
						}	
						
						echo "Plage Date " .$plage_date;

						if($plage_date == "Ok")
						{
							$donnees = array();
							$donnees[0] = $jour ."/" .$mois ."/" .$annee; 
							$donnees[1] = $_POST['J1'];
							$donnees[2] = $_POST['J2'];
							$donnees[3] = $score_blanc;
							$donnees[4] = $score_noir;
							// print_r($donnees);

							$sql = "SELECT * FROM parties ORDER by date asc"; 
							$results = mysql_query($sql);
							$nb_parties = mysql_num_rows($results);

							while($row = mysql_fetch_assoc($results))
							{
								$blanc = $row['w_name'];
								$noir = $row['b_name'];
								$date = $row['date'];
								$resultat = $row['result'];
								$date_partie = date('d/m/Y', $date);

								if($resultat == 1)
								{
									$_score_blanc = 1;
									$_score_noir = 0;
								}

								if($resultat == 2)
								{
									$_score_blanc = 0;
									$_score_noir = 1;
								}

								if($resultat == 3)
								{
									$_score_blanc = 0.5;
									$_score_noir = 0.5;
								}

								$table_csv[0] = $date_partie;
								$table_csv[1] = $blanc;
								$table_csv[2] = $noir;
								$table_csv[3] = $_score_blanc;
								$table_csv[4] = $_score_noir;
								$table_fichier[] = $table_csv;
							}

							$nom_fichier = "sauvegarde_insertion.txt";
							$fp = fopen($nom_fichier, 'w'); 
							for ($i=0; $i < $nb_parties; $i++)
							{
								$str_comma_separated = implode(";", $table_fichier[$i]);
								fputs ($fp, $str_comma_separated);
								if($i != $nb_parties - 1)
								fputs($fp, "\n");
							}

							fclose($fp);

							// creation du fichier modifie
							$nom_fichier = "new_insertion.txt";
							if($_POST['option_date'] == "avant")
							{
								$id_position = $_POST['id_partie'] -1;
							}	

							if($_POST['option_date'] == "apres")
							{
								$id_position = $_POST['id_partie'] ;
							}	

							$tab1 = array();
							$tab2 = array();

							$fp = fopen($nom_fichier, 'w'); 
							for ($i=0; $i <= $id_position - 1; $i++)
							{
								$tab1[] = $table_fichier[$i];
							}

							$table[] = $donnees;
							for ($i=$id_position ; $i < $nb_parties; $i++)
							{
								$tab2[] = $table_fichier[$i];
							}

							$tab_global = array_merge($tab1,$table,$tab2);
							$fp = fopen($nom_fichier, 'w'); 
							for ($i=0; $i < count($tab_global); $i++)
							{
									$str_comma_separated = implode(";", $tab_global[$i]);
									fputs ($fp, $str_comma_separated);
									if($i != count($tab_global) - 1)
									{
										fputs($fp, "\n");
									}
							}

							fclose($fp);

							// joueur
							$joueur = array();
							$sql = "SELECT * FROM classement ORDER by joueur asc"; 
							$results = mysql_query($sql);

							while($row = mysql_fetch_assoc($results))
							{
								$joueur[] = $row['joueur'];
							}
							
							// regenerer le classement
							mysql_query('TRUNCATE TABLE classement;');
							mysql_query('TRUNCATE TABLE evolution;');
							mysql_query('TRUNCATE TABLE parties;');
	
							stockage_joueurs_DB($joueur);
	
							$file = fopen ("new_insertion.txt","r");
		
							$indice =  1;	
							while(! feof($file))
							{
								$tmp = fgets($file);
								$tmp = strtolower($tmp);
								//echo $tmp ."<BR>";
								//$tmp = str_to_noaccent($tmp);
								$pieces = explode(";", $tmp);
								$donnees[0] = $pieces[0];
								list($jour, $mois, $annee) = explode('/', $donnees[0]);
								$timestamp = mktime (0, 0, 0, $mois, $jour, $annee);
								$donnees[0] = $timestamp; 
								$donnees[1] = $pieces[1];
								$donnees[2] = $pieces[2];
								$donnees[3] = $pieces[3];
								$donnees[4] = $pieces[4];
								algo_elo($donnees, "nostatistique", "sql", $indice );
								$indice = $indice + 1;
							}
				
							echo "<br><br><br>";
							echo "Base modifiée: " .$_POST['J1'] ." ".$_POST['J2'] ." " .$score_blanc ." - " .$score_noir;
							$message = '<div id="message_traitement" style="display:block">Partie insérée dans la database.</div>';			
						}

						else
						{
							$message = '<div id="message_traitement" style="display:block">Date non valide dans la plage définie !.</div>';			
						}
					}	

			}

			else
			{
				$message = '<div id="message_traitement" style="display:block">Erreur dans le traitement.</div>';
			}
		}

function check_date($data) 
{
    if (date('d-m-Y', strtotime($data)) == $data) 
	{
        return "OK";
    } 
	else 
	{
        return "Erreur";
    }
}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="Description" content="Site perso,cours,ouvrages" />
<meta name="Keywords" content="WEBSITE perso " />
<meta name="Distribution" content="Global" />
<meta name="Robots" content="" />
<meta http-equiv="Content-Language" content="fr" />
<meta name="rating" content="general" />
<meta name="author" content="Patrice DELPY" />
<meta name="copyright" content="Copyright 2013" />
<meta name="generator" content="Patoche" />
<title>Patoche WEBSITE - 2013 - Template du site - en cours de développemment ...</title>
<META http-equiv="Cache-Control" content="no-cache"> 

<!--
en php
header("Cache-Control: no-cache, must-revalidate"); 
-->

<!---------------------------------------------------------->	
<?php
		include('include_css_template_commun.php');
		include('include_css.php');
		include('css_tools_skill.php');
		include('include_javascript.php');
?> 

<link href="http://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel="stylesheet">
<script src="http://code.jquery.com/jquery-1.10.2.js"></script>
<script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>

<style type="text/css">

#bloc_table_forum { float: left;
					width: 831px; 
					padding: 50px 50px 25px 50px;
					}	

#navigation_tournoi{
					float: left;
					width: 910px; // 870
					padding: 10px 0px 0px 10px;
		}

.marge {
    margin: auto;
    width: 60%;
    padding: 10px ;
	}

label
{
	display:block;
	float:left;
	width:100px;
}

</style>

<script type="text/javascript">

function call_update()
{
			//ajax_routine(); 
			scruter();
			setTimeout("call_update()", 1000); //appelle la fonction 1 fois par  seconde
}


function scruter()
{
				var xhr = getXhr()
				// On défini ce qu'on va faire quand on aura la réponse
				xhr.onreadystatechange = function()
				{
					// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
					if(xhr.readyState == 4 && xhr.status == 200)
					{
						//alert(xhr.responseText);
						retour = xhr.responseText
						
						if(retour == 0)
						{  	
		
							$(function()
							{
									$( "#message_expiration" ).dialog({
									modal: true,
									title: "Infos",
									buttons: {
												Ok: function()
												{
													$( this ).dialog( "close" );
													 document.location.href = "logout_expire.php";
												}
											 }
										});
							});
							
							
						}
	
						
						
					}
				}
					
				xhr.open("GET","session_timeout.php",true);
				xhr.send(null);
}

function active()
{
			document.getElementById("score").style.visibility='visible';
			document.getElementById('valide_form').value="ok";
}

function active_sauver()
{
			document.getElementById('send').disabled = false;
}

function check_date()
{
			document.getElementById("joueur1").style.visibility='visible';
}

function getXhr()
{
            var xhr = null; 

			if(window.XMLHttpRequest) // Firefox et autres
			xhr = new XMLHttpRequest(); 

			else if(window.ActiveXObject)
			{ // Internet Explorer 

				try {
		                xhr = new ActiveXObject("Msxml2.XMLHTTP");
		            } 
				catch (e) 
					{
		                xhr = new ActiveXObject("Microsoft.XMLHTTP");
		            }
			}

			else 
			{ // XMLHttpRequest non supporté par le navigateur 
				alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
				xhr = false; 
			} 

            return xhr;
}

function go()
{
			var xhr = getXhr();
			// On défini ce qu'on va faire quand on aura la réponse
			document.getElementById("souscategorie").style.visibility='visible';

			xhr.onreadystatechange = function()
			{
				// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
				if(xhr.readyState == 4 && xhr.status == 200)
				{
					leselect = xhr.responseText;
					// On se sert de innerHTML pour rajouter les options a la liste
					document.getElementById('souscategorie').innerHTML = leselect;
				}
			}

			// Ici on va voir comment faire du post
			xhr.open("POST","ajax_joueur.php",true);
			// ne pas oublier ça pour le post
			xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			// ne pas oublier de poster les arguments
			// ici, l'id de Catégorie
			sel = document.getElementById('J1');
			idcategorie = sel.options[sel.selectedIndex].value;
			xhr.send("idcategorie="+idcategorie);
}

function bascule(val)
{
		document.getElementById('option_date').value = val;
		//alert(val)
}

function start()
{
			document.getElementById("message_patience").style.display='block';
	
			var xhr = getXhr();
				
			xhr.onreadystatechange = function()
			{
				// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
				if(xhr.readyState == 4 && xhr.status == 200)
				{
					retour = xhr.responseText;
					document.getElementById("message_patience").style.display='none';			
					document.getElementById('message').innerHTML = retour;
			
					//affiche = "La nouvelle partie a été enregistrée dans la base.";
					/*$(function()
					{
								$( "#message_ajout" ).dialog({
								modal: true,
								title: "Infos",
								buttons: {
											Ok: function()
											{
												$( this ).dialog( "close" );
												window.location.reload();
											}
										 }
									});
					});*/
		
				}
			}

			xhr.open("POST","traitement_inserer_partie.php",true);
			// ne pas oublier ça pour le post
			xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	
			jour = document.getElementById('jour').value;
			mois = document.getElementById('mois').value;
			annee = document.getElementById('annee').value;
	
			sel = document.getElementById('J1');
			J1 = sel.options[sel.selectedIndex].value;
			sel = document.getElementById('J2');
			J2 = sel.options[sel.selectedIndex].value;
	
			sel = document.getElementById('selection_score');
			selection_score = sel.options[sel.selectedIndex].value;
			option_date = document.getElementById('option_date').value
			id_partie = document.getElementById('id_partie').value
			date_reference = document.getElementById('date_reference').value
			//alert(jour+mois+annee+J1+J2+selection_score+etat_checkbox+id_partie+date_reference);
			
			//alert(date_reference);
			
			//11 fevrier 2015			
			//1423612800
			//1423695600	
			
			// partie 345  1 mai 2015
			
					
			//xhr.send("J1="+J1+"&J2="+J2+"&jour="+jour+"&mois="+mois+"&annee="+annee+"&selection_date="+selection_date+"&selection_score="+selection_score);
			xhr.send("J1="+J1+"&J2="+J2+"&jour="+jour+"&mois="+mois+"&annee="+annee+"&selection_score="+selection_score+"&option_date="+option_date+"&id_partie="+id_partie+"&date_reference="+date_reference);
	
}			

function starting()
{
			var xhr = getXhr();
			// On défini ce qu'on va faire quand on aura la réponse
			document.getElementById("probabilite").style.visibility='visible';

			xhr.onreadystatechange = function()
			{
				// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
				if(xhr.readyState == 4 && xhr.status == 200)
				{
					leselect = xhr.responseText;
					// On se sert de innerHTML pour rajouter les options a la liste
					document.getElementById('probabilite').innerHTML = leselect;
				}
			}

			// Ici on va voir comment faire du post
			//xhr.open("POST","ajax_probabilite.php",true);
			xhr.open("POST","echec03.php",true);
			// ne pas oublier ça pour le post
			xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			// ne pas oublier de poster les arguments
			// ici, l'id de Catégorie
			sel = document.getElementById('J1');
			J1 = sel.options[sel.selectedIndex].value;
			sel = document.getElementById('J2');
			J2 = sel.options[sel.selectedIndex].value;
			xhr.send("J1="+J1+"&J2="+J2);
}

</script>
<!---------------------------------------------------------->	
</head>
<body>
<!---------------------------------------------------------->	
	<div class="main"> <!-- main -->
<!---------------------------------------------------------->	
          <div class="header">
                <div class="balise_titre">Patoche</div>
                <div class="balise_citation">
                &quot;Etre conscient que l'on est ignorant est un grand pas vers le savoir&quot;
                </div>
          </div> 

          <div class="banniere"></div>  
<!---------------------------------------------------------->

<?php
/*	include("include_barre_login.php");
	echo '<div id="box_icon">';
	include("debug_connexion_membre.php");
	echo '</div>';
	include("include_menu.php");*/

			echo '<div id="box_infos">';
			include("include_menu.php");
			echo '<div id="box_icon2">';
			include("connexion_membre.php");
			echo	'</div>';
			echo '<div id="box_icon3">';
			include("include_barre_login.php");
			echo	'</div>';
			echo	'</div>';

	$_SESSION['page_active'] = basename (__FILE__ );
?>

<!---------------------------------------------------------->	
            <div class="contenu"> <!-- contenu -->
<!---------------------------------------------------------->	

			<div class="barre_vide"></div>
			<div id="navigation_tournoi">
				<ul id="menu_horiz">
				<li class="tournoi_joueur_tag"><a href="ajouter_joueur.php" title="aller à la section">Nouveau</a></li>
				<li class="tournoi_partie_tag_selected"><a href="partie.php" title="aller à la section">Partie</a></li>
				<li class="tournoi_classement_tag"><a href="classement.php" title="aller à la section">classement</a></li>
				<li class="tournoi_liste_joueurs_tag"><a href="liste_joueurs.php" title="aller à la section">Joueurs</a></li>
				<li class="tournoi_stats_tag"><a href="historique.php" title="aller à la section">Historique</a></li>
				<li class="tournoi_securite_tag"><a href="admin.php" title="aller à la section">Admin</a></li>
				</ul>
			</div>
<?php			
			$id_partie = $_GET["id"] + 1;
			$J1 = $_GET["J1"] ;
			$J2 = $_GET["J2"] ;
			$score = $_GET["score"] ;
			$date_partie = $_GET["date"] ;
			list($jour, $mois, $annee) = explode('/', $date_partie);
			$date_reference = mktime (0, 0, 0, $mois, $jour, $annee);
?>						

			<div id="bloc_table_forum">
	<!--	<form method="post" id="form_selection_joueurs" action="inserer_partie.php" > <!-- onsubmit="return valider_inscription(this)" -->
			<input type="hidden" name="valide_form" id="valide_form" value="" />
			<input type="hidden" name="id_partie" id="id_partie" value="<?php echo $id_partie ?>" />
			<input type="hidden" name="date_reference" id="date_reference" value="<?php echo $date_reference ?>" />
			<input type="hidden" name="option_date" id="option_date" value="avant" />
			
			<fieldset style="width: 600px">
			<legend>Insérer une partie </legend>

			<p>				
<?php
			echo "Référence  : " .$J1 ." contre " .$J2 ." " .$score  ." le  " .$date_partie;  
?>
			</p>				
				
			<p>
			<input type="radio" name="option_date" id="option_date" value="avant" onclick="bascule('avant')" checked> Avant
			<input type="radio" name="option_date" id="option_date" value="apres" onclick="bascule('apres')"> Aprés
			</p>			

			<p>			
			<div class="center">

			<label>Date: </label>
			<select name="jour" id="jour">

<?php
			for ($i = 1; $i <= 31; $i++)
			{
				echo "<option>$i</option>\n";
			}
?>
			</select>
 
			<select name="mois" id="mois">
<?php
			echo "<option>Janvier</option>";
			echo "<option>Février</option>";	
			echo "<option>Mars</option>";
			echo "<option>Avril</option>";
			echo "<option>Mai</option>";
			echo "<option>Juin</option>";	
			echo "<option>Juillet</option>";
			echo "<option>Aôut</option>";
			echo "<option>Septembre</option>";
			echo "<option>Octobre</option>";	
			echo "<option>Novembre</option>";
			echo "<option>Décembre</option>";
?>
			</select>

			<select name="annee" id="annee" onchange='check_date()'>
<?php
			for ($i = 2015; $i <= 2020; $i++)
			{
				echo "<option>$i</option>";
			}
?>
			</select>
			</div>		
			</p>							

			<div id='message'></div>

			<div id='joueur1' style="visibility: hidden;"  > 
			<div class="center">
			<label>Blanc: </label>
			<select style="width:200px" name='J1' id='J1' onchange='go()'>
			<option value="vide">- - - Choisissez le Joueur 1 - - -</option>
<?php
			$sql = "SELECT * FROM classement";
			$res = mysql_query($sql);
			while($val = mysql_fetch_array($res)) 
			{
				echo "<option>".$val["joueur"]."</option>\n";
			}
?>

			</select>
			</div>	
			</div>		

			<p>			
			<div id='souscategorie' style="visibility: hidden;"  >  <!-- style='display:inline' -->

			<div class="center">					
			</br>
			<label>Noir: </label>
			<select style="width:200px" name='J2' id='J2'  ">  <!--   -->
			</select>
			</div>					
			</div> 
			</p>

			<p>				
			<div id="score" style="visibility: hidden; ">
			<label>Résultat :</label>
			<select style="width:200px" name="selection_score" id="selection_score" size="1" style='display:inline' onchange='active_sauver()' >
			<option value="vide">- - - Resultat de la partie - - -</option>
<?php
			$J1_nom = $_SESSION['$J1_nom'];
			$J2_nom = $_SESSION['$J2_nom'];
			echo '<option>Blanc gagne</option>';
			echo '<option>Blanc perd</option>';
			echo '<option>Noir gagne</option>';
			echo '<option>Noir perd</option>';
			echo '<option>Match nul</option>';
?>
			</select>
			</div>
			</p>				

			<br/>

			<div>
			<input id="send" name="send" type="submit" disabled value="Enregistrer" onclick="start()" />
			</div>

			<br>
			<br>

			
			<div id='message_patience' style="display: none">
			<img src="loader.gif" name = "image" id="image"> Traitement en cours ...
			</div> 	

				
			<div id="message_ajout" style="display: none">
			<p>
			<span class="ui-icon ui-icon-circle-check" style="float:left; margin:0 7px 50px 0;"></span>
			La partie a été ajouté à la base.
			</p>
			</div>
			
			<div id="message_expiration" style="display: none">
			<p>
			<span class="ui-icon ui-icon-circle-check" style="float:left; margin:0 7px 50px 0;"></span>
			La session a expiré. veuillez vous reconnecter.
			</p>
			</div>
			
			<div id="message"></div>

<?php
			if($_SESSION['message'] == "ok")
			{	//echo '<div id="message_traitement" style="display:block">Partie sauvée dans la database.</div>';
				echo $message;
				$_SESSION['message'] = "none";
			}
?>	

			</fieldset>

<!--		</form> -->

			</div>

			<br/>
			<br/>
			<br/>
			<br/>
			<br/>
<!---------------------------------------------------------->	
<?php			
			include('include_pied_page.php');
			include('include_publicite.php');
?>
<!---------------------------------------------------------->	
			</div>  <!-- contenu -->
<!---------------------------------------------------------->	
			</div>   <!-- main -->
<!---------------------------------------------------------->	
<script type="text/javascript">
		call_update();
</script>

			</body>
			</html>