security_check(); if ($resultat_session == 'c') { header("Location: ../utilisateurs/mon_compte.php?change_mdp=yes"); die(); } else if ($resultat_session == '0') { header("Location: ../logout.php?auto=1"); die(); } //INSERT INTO `droits` ( `id` , `administrateur` , `professeur` , `cpe` , `scolarite` , `eleve` , `secours` , `description` , `statut` ) VALUES ('/matieres/matieres_csv.php', 'V', 'F', 'F', 'F', 'F', 'F', 'Importation des matières depuis un fichier CSV', ''); if (!checkAccess()) { header("Location: ../logout.php?auto=1"); die(); } if (isset($is_posted)) { check_token(); } //**************** EN-TETE ***************** $titre_page = "Matières : Importation des matières depuis un CSV"; require_once("../lib/header.inc.php"); //**************** FIN EN-TETE ***************** ?>

Retour Retour accueil matières

Importation des matières

\n"; if (!isset($is_posted)) { echo "

Importation d'un fichier CSV où chaque ligne est de la forme: nom_court;nom_long
Par exemple:
\n"; echo "

MATHS;MATHEMATIQUES
FRANC;FRANCAIS
...
\n"; //echo "

\n"; echo "
\n"; echo add_token_field(); echo "\n"; //echo ""; echo "


\n"; echo "

\n"; echo "
\n"; } else { $csv_file = isset($_FILES["csv_file"]) ? $_FILES["csv_file"] : NULL; $fp=fopen($csv_file['tmp_name'],"r"); if(!$fp) { echo "

Impossible d'ouvrir le fichier CSV

\n"; echo "

Cliquer ici pour recommencer !

\n"; } else{ $msg=""; echo "

Dans le tableau ci-dessous, les identifiants en rouge correspondent à des nouvelles matières dans la base GEPI. les identifiants en vert correspondent à des identifiants de matières détectés dans le fichier CSV mais déjà présents dans la base GEPI.

\n"; echo "\n"; echo "\n"; $alt=1; $nb_reg_no = 0; while(!feof($fp)){ $temoin_erreur="non"; $tmp_lig=fgets($fp,4096); if(trim($tmp_lig)!=""){ $ligne=explode(";",$tmp_lig); $affiche[0]=traitement_magic_quotes(corriger_caracteres(dbase_filter(trim($ligne[0])))); if((mb_strlen(preg_replace("/[A-Za-z0-9_ &]/","",strtr($affiche[0],"-","_")))!=0)&&($affiche[0]!="")){ $temoin_erreur="oui"; //echo "\n"; $msg.="Le nom $affiche[0] ne convient pas.
\n"; $nb_reg_no++; } $affiche[1]=traitement_magic_quotes(corriger_caracteres(dbase_filter(trim($ligne[1])))); if((mb_strlen(preg_replace("/[A-Za-zÀÄÂÉÈÊËÎÏÔÖÙÛÜÇçàäâéèêëîïôöùûü0-9_ &]/","",strtr($affiche[1],"-","_")))!=0)&&($affiche[1]!="")){ $temoin_erreur="oui"; //echo "\n"; $msg.="Le nom $affiche[1] ne convient pas.
\n"; $nb_reg_no++; } if(($affiche[0]!="")&&($affiche[1]!="")&&($temoin_erreur!="oui")){ $alt=$alt*(-1); $verif = mysqli_query($GLOBALS["mysqli"], "select matiere, nom_complet from matieres where matiere='$affiche[0]'"); $resverif = mysqli_num_rows($verif); if($resverif == 0) { $req = mysqli_query($GLOBALS["mysqli"], "insert into matieres set matiere='$affiche[0]', nom_complet='$affiche[1]', priority='0',matiere_aid='n',matiere_atelier='n'"); if(!$req) { $nb_reg_no++; //echo mysql_error(); echo "\n"; } else { echo "\n"; } } else { $nom_complet = old_mysql_result($verif,0,'nom_complet'); echo "\n"; } } } } echo "

Identifiant de la matière

Nom complet

".mysqli_error($GLOBALS["mysqli"])."

".htmlspecialchars($affiche[0])."

".htmlspecialchars($affiche[1])."

".htmlspecialchars($affiche[0])."

".htmlspecialchars($nom_complet)."

\n"; //dbase_close($fp); fclose($fp); if ($nb_reg_no != 0) { echo "

Lors de l'enregistrement des données il y a eu $nb_reg_no erreur(s).
Essayez de trouver la cause de l'erreur et recommencez la procédure.

\n"; if($msg!=""){ echo "

Voici la liste des chaines non acceptées:

\n"; echo "
\n"; echo "$msg"; echo "
\n"; } } else { echo "

L'importation des matières dans la base GEPI a été effectuée avec succès !
"; } } } require("../lib/footer.inc.php"); ?>