File "aaa.php"

Full Path: /home/analogde/www/Bookmarks/CHESS_ON/aaa.php
File size: 11.99 KB
MIME-type: text/x-php
Charset: utf-8

<?php

	session_start();
	//include('correlation.php');
	//include('chessmaster.php');
	//include('generation_chessmaster.php');

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

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

	
	
	$_SESSION['chessmaster'] = "clone_chessmaster_new";	
		$_SESSION['classement'] = "clone_classement_new";
		$_SESSION['parties'] = "clone_parties_new";
		$_SESSION['evolution'] = "clone_evolution_new";

		$_SESSION['membres'] = "membres";
		$_SESSION['elo_affectation'] = "clone_elo_affectation";
	
	header( 'content-type: text/html; charset=utf-8' );

/***********************************************************************/
function check_date($data) 
{
    if (date('d-m-Y', strtotime($data)) == $data) 
	{
        return "OK";
    } 
	else 
	{
        return "Erreur";
    }
}
/***********************************************************************/
function DB_to_file($filename)
{
				chdir("insertion");
	
				$sql = "SELECT * FROM " .$_SESSION['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 = $filename;
				//chdir("backup");
				
				echo "Sauvegarde de la db .... " .getcwd();
				echo "<br><br>";	
				
											
				$fp = fopen($filename, '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);
				
				chdir("..");
		
}
/***********************************************************************/
function lire_csv($nom_fichier )
{
    $donnee = array();   
	$joueur = array();
	$table_csv = array();
	
	$file = fopen ($nom_fichier,"r");
		
	while(! feof($file))
	{
			$tmp = fgets($file);
			// on désactive le mode minuscule
			//$tmp = strtolower($tmp);
			//echo $tmp ."<BR>";
			$tmp = str_to_noaccent($tmp);
			$pieces = explode(";", $tmp);
			if($pieces[1] != "")
			{
				$table_csv[] = $pieces;
				$joueur[] = $pieces[1];
				$joueur[] = $pieces[2];
			}
	}
	
	fclose($file);
	
	$nb_ligne = count($table_csv);
	
	for ($i=0; $i < $nb_ligne; $i++)
	{
			$val = $table_csv[$i][4];
			$position = strpos($val, "5");
			if($position !== false)
			{ 
				//echo " Match nul";
				//echo "<br>";
				$table_csv[$i][3] = "0.5";
				$table_csv[$i][4] = "0.5";
			}
	
			$date_partie = $table_csv[$i][0];
			if($date_partie != "")
			{	$date = mise_en_forme_date($date_partie);
				$sauve = $date;
				$table_csv[$i][0] = $date;
			}
			else
			{	$table_csv[$i][0] = $sauve; 
			}
			
	}	
	
	
	$sans_doublon = array_unique($joueur);
	$sans_doublon = array_values($sans_doublon);
	// ordonner par ordre alphabetique
	usort($sans_doublon, "strcasecmp");
	$merge = array($table_csv, $sans_doublon );
	//echo "<pre>";
	//print_r($merge);
	
	return $merge;
}	
/***********************************************************************/
function str_to_noaccent($str)
{
    $tmp = $str;
    $tmp = preg_replace('#Ç#', 'C', $tmp);
    $tmp = preg_replace('#ç#', 'c', $tmp);
    $tmp = preg_replace('#è|é|ê|ë#', 'e', $tmp);
    $tmp = preg_replace('#È|É|Ê|Ë#', 'E', $tmp);
    $tmp = preg_replace('#à|á|â|ã|ä|å#', 'a', $tmp);
    $tmp = preg_replace('#@|À|Á|Â|Ã|Ä|Å#', 'A', $tmp);
    $tmp = preg_replace('#ì|í|î|ï#', 'i', $tmp);
    $tmp = preg_replace('#Ì|Í|Î|Ï#', 'I', $tmp);
    $tmp = preg_replace('#ð|ò|ó|ô|õ|ö#', 'o', $tmp);
    $tmp = preg_replace('#Ò|Ó|Ô|Õ|Ö#', 'O', $tmp);
    $tmp = preg_replace('#ù|ú|û|ü#', 'u', $tmp);
    $tmp = preg_replace('#Ù|Ú|Û|Ü#', 'U', $tmp);
    $tmp = preg_replace('#ý|ÿ#', 'y', $tmp);
    $tmp = preg_replace('#Ý#', 'Y', $tmp);
     
    return ($tmp);
}
/***********************************************************************/
function mise_en_forme_date($date)
{
		list($jour, $mois, $annee) = explode('/', $date);
		$timestamp = mktime (0, 0, 0, $mois, $jour, $annee);
		return($timestamp);
}
/***********************************************************************/


			echo " Debug insere partie ....";
			echo "<br>";

			$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'];

	
			$id_partie = 2;
			$jour = 15;
			$mois = "Juin";
			$annee = 2022;
			$J1_insert = "RemyS";
			$J2_insert = "StephaneR";
			$selection_score = "Blanc gagne";
			$date_reference = 1655244000; 
			$option_date = "avant";
			
	
			/********/
			
			$day = date('d-m-Y');
			$heure = date("H_i_s");
			$infos = $day.'-'.$heure;
			$fichier_current_DB = "current_db-" .$infos .".txt"; 
			
			DB_to_file($fichier_current_DB);
			
			$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;

			echo "Format " .$date_format;

			echo "<br>";
			echo "<br>";
			
			switch($selection_score)
			{
				case "Blanc gagne":
						$score_blanc = "1";
						$score_noir = "0";
						break;

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

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

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

				case "Match nul":
						$score_blanc = "0.5";
						$score_noir = "0.5";
						break;
			}
			
			/********/
			
			$new_partie =  $jour ."/" .$mois ."/" .$annee .";" .$J1_insert .";" .$J2_insert .";" .$score_blanc .";" .$score_noir;

			echo " >>>>>> " .$new_partie ;
	
			echo "<br><br>";
	
			chdir("insertion");	
			
			echo "Chemin :" .getcwd();
			
			echo "<br><br>";
			
			$parties_data = array();
			
			//$file = "backup_auto-23-07-2022-00_12_02.txt";	
			$nblines = count(file($fichier_current_DB));	
			echo " Nb de parties avant l'insertion " .$nblines;
			echo "<br><br>";
			
			if ($file = fopen($fichier_current_DB, "r"))
			{
				$indice = 0;
				
				while(!feof($file))
				{
					$line = fgets($file);
					
					$line = str_replace(array("\n", "\r"), '', $line);
					
					if( $indice == $id_partie)
					{
						if($option_date == "avant")
						{
								$date_partie[] = $new_partie;
								$date_partie[] = $line;
						}	

						if($option_date == "apres")
						{
							$date_partie[] = $line;
							$date_partie[] = $new_partie;
						}	
					}
					
					else
					{
						$date_partie[] = $line;
					} 
					
					$indice++;
				}
				fclose($file);
			}
			
			$nblines = count($date_partie);
			echo " Nb de parties aprés l'insertion " .$nblines;
			
			echo "<pre>";
			print_r($date_partie);
			echo "</pre>";
			
			
			/****/
			
			$fichier_insertion = "sauvegarde_insertion.txt";

			$fp = fopen($fichier_insertion, 'w'); 

			for ($i=0; $i < count($date_partie); $i++)
			{
				fputs ($fp, $date_partie[$i]);
				fputs($fp, "\n");
			}

			fclose($fp);
			
			/***/
			
			$str1 = "TRUNCATE TABLE " .$_SESSION['classement'];
			$str2 = "TRUNCATE TABLE " .$_SESSION['evolution'];
			$str3 = "TRUNCATE TABLE " .$_SESSION['parties'];
			$str4 = "TRUNCATE TABLE " .$_SESSION['chessmaster'];
				
			mysql_query($str1);
			mysql_query($str2);
			mysql_query($str3);
			mysql_query($str4);

			echo "Initialisation de la table classement ....";
			echo "<br>";
	
			$sql = "INSERT INTO `clone_classement_new` (`id`, `joueur`, `elo`, `initial`, `parties`, `prior`, `bonus`, `oldrating`, `gcount`, `wins`, `losses`, `draws`, `active`) VALUES
			(1, 'AlvaroM', 1400, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 1),
			(2, 'DamienB', 1400, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 1),
			(3, 'EmileM', 1400, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 1),
			(4, 'FranckV', 1400, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 1),
			(5, 'HenriqueF', 1400, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 1),
			(6, 'PatrickA', 1400, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 1),
			(7, 'PhilippeA', 1400, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 1),
			(8, 'RemyS', 1400, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 1),
			(9, 'StephaneR', 1400, 1400, 0, 0, 0, 0, 0, 0, 0, 0, 1); ";
			$result = mysql_query($sql);
	
			$sql = "ALTER TABLE clone_chessmaster_new AUTO_INCREMENT = 1";
			$result = mysql_query($sql);
			
			
			
			echo "+++++ " .getcwd();
			
			
			if (file_exists($fichier_insertion)) 
			{
				echo "Le fichier " .$fichier_insertion ." existe.";
			} 
			else 
			{
				echo "Le fichier n'existe pas.";
			}
			
			
			$donnees = lire_csv($fichier_insertion);
			
			$liste_parties = array();
			$liste_joueurs = array();
			$liste_parties = $donnees[0];
			$liste_joueurs = $donnees[1]; 
	
			// affichage
			echo " ------------------------------" ."<br>";
			echo "<pre>";
			print_r($liste_parties);
			echo "<br>";
			echo " ------------------------------" ."<br>";
			echo "<pre>";
			print_r($liste_joueurs);
			
			$nb_parties = count($liste_parties);
	
			echo "Nombre de parties extraites: " .$nb_parties;
	
			for ($item=0; $item < $nb_parties ; $item++)
			{
				$donnees[0] = $liste_parties[$item][0];
				$donnees[1] = $liste_parties[$item][1];
				$donnees[2] = $liste_parties[$item][2];
				$donnees[3] = $liste_parties[$item][3];
				$donnees[4] = $liste_parties[$item][4];
			
				$indice = $item + 1;
				algo_elo($donnees, "statistique", "sql", $indice );
				
			}

		//generer_chessmaster();
			
			/*$file = fopen($fichier_insertion,"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];
					
					//echo "<pre>";
					//print_r($donnees);
					//echo "</pre>";
					algo_elo($donnees, "nostatistique", "sql", $indice );
					$indice = $indice + 1;
					
				}*/
			
				
			echo "<br>";
					
				generer_chessmaster();
				
				unlink($fichier_current_DB);
				unlink($fichier_insertion);

				echo "Script executé avec succés";	
				echo "<br>";
				
				echo 1;
	
?>