Retour';
echo 'Retour...';
echo '
';
echo "
";
echo "Import du fichier ...";
echo "
";
error_reporting(0);
header( 'content-type: text/html; charset=utf-8' );
/******************************************/
function lire_csv($nom_fichier )
{
$donnee = array();
$joueur = array();
$table_csv = array();
$file = fopen ($nom_fichier,"r");
while(! feof($file))
{
$tmp = fgets($file);
//$tmp = strtolower($tmp); pas actif
//echo $tmp ."
";
$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 "
";
$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 "
";
//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);
}
/******************************************/
function stockage_joueurs_DB($donnees)
{
$elo = 1000;
$i = 0;
$nb_ligne = count($donnees);
for ($i=0; $i < $nb_ligne; $i++)
{
$prenom = $donnees[$i];
$partie = 0;
$prior = 0;
// verifier que le joueur n'existe pas dans la database
//$sql = "select joueur from classement where joueur = '$prenom' ";
$sql = "select joueur from " .$_SESSION['classement'] ." where joueur = '$prenom' ";
$result = mysql_query($sql);
if(mysql_num_rows($result)>=1)
{
echo "Ce joueur existe déjà :" .$prenom;
echo "
";
}
else
{
$sql = "SELECT elo FROM elo_affectation WHERE joueur ='".$prenom."'";
//$sql = "SELECT elo FROM " .$_SESSION['classement'] ." WHERE joueur ='".$prenom."'";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
$elo = $row['elo'];
//$sql = " INSERT INTO classement ";
$sql = " INSERT INTO " .$_SESSION['classement'];
$sql = $sql . " (joueur, elo, parties, prior, initial) VALUES ";
$sql = $sql . " ('$prenom', '$elo','$partie','$prior', '$elo') ";
echo $sql;
echo "
";
$result = mysql_query($sql);
if (!$result)
{
echo("ERROR: " . mysql_error() . "\n$SQL\n");
}
}
}
}
/******************************************/
function import_donnees($fichier)
{
$donnees = lire_csv($fichier);
// fragmentation
$liste_parties = array();
$liste_joueurs = array();
$liste_parties = $donnees[0];
$liste_joueurs = $donnees[1];
// affichage
echo " ------------------------------" ."
";
echo "";
print_r($liste_parties);
echo "
";
echo " ------------------------------" ."
";
echo "";
print_r($liste_joueurs);
$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 "
";
$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 "
";
//echo " ------------------------------" ."
";
// enregistrer
// stockage_joueurs_DB($liste_joueurs);
//echo "
";
//echo " ------------------------------" ."
";
// calculer du classement
$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 );
//chess_master($donnees,$item);
}
echo "
";
echo " ------------------------------" ."
";
echo "Script executé avec succés";
echo "
";
generer_chessmaster();
}
/******************************************/
if( isset($_POST['envoyer']) ) // si formulaire soumis
{
$tmp_file = $_FILES['fichier']['tmp_name'];
//$_SESSION['algorithme'] = $_POST['algorithme'];
echo "********************************************************";
echo "
";
echo " LOG de l'import et du traitement ... ";
echo "
";
echo "********************************************************";
echo "
";
echo "
";
$type = $_POST['selection_algo'];
switch ($_POST['selection_algo'])
{
case "Type 1":
$val ="un";
break;
case "Type 2":
$val ="deux";
break;
case "Type 3":
$val ="trois";
break;
}
$_SESSION['algorithme'] = $val;
if( !is_uploaded_file($tmp_file) )
{
exit("Le fichier est introuvable");
}
$dossier = 'upload/';
$taille_maxi = 1000000;
$taille = filesize($_FILES['fichier']['tmp_name']);
$extensions = array('.csv');
$extension = strrchr($_FILES['fichier']['name'], '.');
if(!in_array($extension, $extensions))
{
$erreur = 'Vous devez uploader un fichier de type csv !.';
}
if($taille>$taille_maxi)
{
$erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur))
{
$name_file = $_FILES['fichier']['name'];
if(move_uploaded_file($tmp_file, $dossier .$name_file))
{
echo 'Upload effectué avec succès !';
echo "
";
import_donnees($dossier .$name_file);
}
else
{ echo "
";
echo 'Echec de l\'upload !';
}
}
else
{
echo $erreur;
}
}
?>