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;
?>