File "traitement_inserer_partie.php"

Full Path: /home/analogde/www/temp_work/traitement_inserer_partie.php
File size: 7.07 KB
MIME-type: text/x-php
Charset: utf-8

<?php

	include('correlation.php');
	include('echec_fonctions_communes.php');
	include('chessmaster.php');

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

			$flag_validation = false;

			$jour = $_POST['jour'];
			$mois = $_POST['mois'];
			$annee = $_POST['annee'];
			$J1 = $_POST['J1'];
			$J2 = $_POST['J2'];
			$selection_score = $_POST['selection_score'];
			$date_reference = $_POST['date_reference'];
			$option_date = $_POST['option_date'];
			$id_partie = $_POST['id_partie'];

			switch($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)
			{
					$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];

					$num_jour = intval($jour);
					$num_mois = intval($mois);
					
					if($num_jour < 10)
					{
						$jour = '0' .$jour;
					}
					
					if($num_mois < 10)
					{
						$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>';
						header ('Location: interdiction.php');

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

						if($option_date == "avant")
						{
							//echo $timestamp ." **** " .$_POST['date_reference'];
							if($timestamp <= $date_reference)
							{
								$plage_date = "Ok";
							}	
							else
							{
								$plage_date = "Erreur_avant";
							}
						}	


						if($option_date == "apres")
						{
							//echo $timestamp ." **** " .$_POST['date_reference'];
							if($timestamp >= $date_reference)
							{
								$plage_date = "Ok";
							}	
							else
							{
								$plage_date = "Erreur_apres";
							}
						}	
												

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

							$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($option_date == "avant")
							{
								$id_position = $id_partie -1;
							}	

							if($option_date == "apres")
							{
								$id_position = $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;
								chess_master($donnees,$indice);
							}
				
							//partie insérée dans la database
							echo 1;
						}

						else
						{
							//Date non valide dans la plage définie 
							echo 2 ." " .$timestamp ." " .$date_reference ." " .$option_date;
							//25 juillet 1437775200
							//27 juillet 1437948000	
							
						}

					}	
			}

			else
			{
				//Erreur dans le traitement
				echo 3;
			}


	//$str = $jour ." " .$mois ." " .$annee ." " .$J1 ." " .$J2 ." " .$selection_score ." " .$date_reference ." " .$option_date ." " .$id_partie;
	
	//echo $str;
		

?>