<?php  
//Vérification (non authentifié = retour index)
session_start(); 
header('Content-type: text/html; charset=UTF-8');

//mb_internal_encoding('utf-8');

if(!$_SESSION['accreditation']=="Administrateur" && !$_SESSION['accreditation']=="Etudiant")
header('Location:../index.php');

include "../session/connexion.php"; //Connexnion à la BdD

include "fonctionsLogin.php"; //Chargement des fonctions utilisées

//Fichier soumis
if (isset($_POST["submit"]) ) {
	
//Initialisation
$message="";
$adressefichier="";

//Le fichier soumis est valide
if (isset($_FILES["file"])) 
 {
        $nomfichier=$_FILES['file']['name']; //Stockage du nom de fichier

        $ext=explode('.', $nomfichier); //Décomposition du nomn de fichier ne deux parties dans un tableau: [0] = nom_fichier et [1] = extension_fichier
		
        if($ext[1]=="csv") //Verif si extension CSV
        {
			if ($_FILES["file"]["error"] > 0) { //Si erreur reçu quant au fichier envoyé, le signale à l'utilisateur
				echo "Erreur: " . $_FILES["file"]["error"] . "<br />";
			}
			else 
			{
				$adressefichier = "$ext[0].txt"; //Def de l'adresse du fichier txt intermédiaire
				move_uploaded_file($_FILES["file"]["tmp_name"], "../import_tmp/" . $adressefichier); //Copie des données dans un fichier txt
			}
		}
     } 
		else 
		{
             $message="Format de fichier incorrect !"; //Stockage du message retourné à l'utilisateur en cas d'échec
		}
  
//Le fichier étant valide, on procède à l'insertion des valeurs dans la BdD  

if(!empty($adressefichier)) //Si le fichier intermédiaire existe, alors...
{

	if ( $file = fopen( "../import_tmp/" . $adressefichier , "r" ) ) //r = ouverture du txt en lecture seule  // UTILISER fgetcsv ?
	{
	
    $i= 0;//compteur
    $today = date("Y-m-d H:i:s");  //Récupération de la date et l'heure à l'instant donné
	
	$nomGroupe=str_replace("Groupe CSV #","" , $today); //Remplacement du nom de groupe

	//Teste si le groupe n'existe pas déjà		
	//$groupe=$objPdo->query("SELECT * FROM groupe WHERE libelle_groupe='Groupe CSV # ".trim($str[2])." ' ");
    //if(empty($groupe)) 
    //   {
              $result=$objPdo->query("INSERT INTO groupe VALUES (NULL ,'Groupe CSV # ".trim($nomGroupe)."')");
	//	  }
		
	
	//Récupération du no_groupe lié au CSV importé
	$groupe2=$objPdo->prepare("SELECT no_groupe FROM groupe WHERE libelle_groupe='Groupe CSV # ".trim($nomGroupe)."'");
	$groupe2->execute();
	
	//Stockage du résultat relatif au no_groupe
	$noGroupe=$groupe2->fetch();
	
    while ($line= fgets ($file)) 
	{
		$str = explode(';',$line); //explode = découpe chaine en cases (case entre chaque séparateur, ici les cases du csv sont séparées par un point-virgule dans le txt)
		
		//Création des identifiants à partir des valeurs du txt
		$identifiant=GenereLogin($str[0],$str[1]);
        $mdp=GenereMdp();
				
		//Création des sessions		
		$result=$objPdo->prepare("INSERT INTO session VALUES (NULL, '$identifiant','$mdp','2')");
		$result->execute();
         
		//Sélection des id_session
        $session=$objPdo->prepare("SELECT id_session FROM session WHERE (identifiant='$identifiant' AND mdp='$mdp')");
		$session->execute();
		
		//Stockage du résultat dans une variable de travail
        $idsession=$session->fetch();

        //Insertion des infos relatives aux étudiants dans la BdD  		
		
		
		//	$str[0]=iconv ( 'Windows-1252', 'UTF-8', $str[0]);
		//	$str[1]=iconv ( 'Windows-1252', 'UTF-8', $str[1]);
			
				
					
			
			$str[0]=mb_convert_encoding ($str[0] , 'UTF-8', 'auto');
			$str[1]=mb_convert_encoding ($str[1] , 'UTF-8', 'auto');
	
	
		$result=$objPdo->prepare("INSERT INTO etudiant VALUES (NULL,'".$str[0]."','".$str[1]."', '".$identifiant.".jpg','".$noGroupe[0]."','".$idsession[0]."')");
       	$result->execute();
		
		$result2=$objPdo->prepare("SELECT no_etu FROM etudiant WHERE id_session = '".$idsession[0]."'");
       	$result2->execute();
		
		    while($row=$result2->fetch())
            {
                    $img=$row['no_etu']; //Stockage de la valeur dans une variable de travail
            }
			
			
			$nomImage=$img.'.jpg';
		
		$result3=$objPdo->prepare("UPDATE etudiant SET image_etu= '$nomImage' WHERE (id_session='$idsession[0]')" );
       	$result3->execute();
		
		
		
	    ++$i;
    }
	
    $message="Les étudiants ont été importés !"; //Stockage du message retourné à l'utilisateur en cas de succès
    fclose ($file); //Fermeture du fichier CSV
	}
}
}

else 
{
	$message="Veuillez selectionner un fichier à envoyer !"; //Stockage du message retourné à l'utilisateur si champ vide
}


?> 

<!DOCTYPE html> 
<html>

<head>

<meta http-equiv="Content-Type" content="text/html" charset='UTF-8'" /> 

<title>Importer un fichier CSV</title> 
	
	<link rel="stylesheet" href="../css/main.css">
	
	<div id="haut">
	
		<h1>Gestion et création de trombinoscopes</h1>
	
		<?php echo '<h2>Bienvenue  <span class="ff6347">'.$_SESSION['identifiant'].' </span>!</h2>';?>
		
		<a class="bouton" title="Déconnexion" href="../session/deconnexion.php">Déconnexion</a>
		
	</div>
	
</head>

<body>

<nav>

  <ul>
	<li><a href="../accueil.php">Accueil</a></li><br />
    <li><a href="ajout.php">Ajout</a></li><br />
    <li><a href="../infos.php">Informations</a></li><br />
    <li><a href="trombi.php">Trombinoscope</a></li><br />
    <li><a href="import.php">Importer</a></li>
	<li><a class="top "href="#top">Haut de page</a></li>
  </ul>
  
</nav>

<div id="contenu">

<form enctype="multipart/form-data" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="post">

		<h3>Importation d'un fichier CSV</h3>
		
          <p>
		  
            <label for="fichier_a_uploader">Envoyer un fichier :</label><br />
			
            <input type="file" name="file" id="file" />
			
            <input type="submit" name="submit" value="Envoyer" />
			
          </p>
		  
</form>
	
<?php
 if( !empty($message) ) 
{
	echo '<p>',"\n";
	echo "\t\t<b class='ff6347'>", htmlspecialchars($message) ,"</b>\n";
	echo "\t</p>\n\n";
}
?>
	
</div>

<footer style="margin-top: 530px;">
	
	<p>Département Informatique - Années 2015-2017</p>

	<p>Réalisé par <a style="text-transform: capitalize;"class="ff6347" href="mailto:benoit.schneider5@etu.univ-lorraine.fr" onmouseover="this.style.textDecoration='underline'" onmouseout="this.style.textDecoration='none'">Schneider Benoît</a> et <a style="text-transform: capitalize;"class="ff6347" href="mailto:corentin.sardo7@etu.univ-lorraine.fr" onmouseover="this.style.textDecoration='underline'" onmouseout="this.style.textDecoration='none'">Sardo Corentin</a>, étudiants en seconde année de DUT Info</p>

	
</footer>	

</body>

</html>