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(); }; if (!checkAccess()) { header("Location: ../logout.php?auto=1"); die(); } // Page bourrinée... la gestion du token n'est pas faite... et ne sera faite que si quelqu'un utilise encore ce mode d'initialisation et le manifeste sur la liste de diffusion gepi-users check_token(); //**************** EN-TETE ***************** $titre_page = "Outil d'initialisation de l'année : Importation des élèves - Etape 1"; require_once("../lib/header.inc.php"); //**************** FIN EN-TETE ***************** ?>

|Retour accueil initialisation|

Première phase d'initialisation
Importation des élèves, constitution des classes et affectation des élèves dans les classes

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

Vous allez effectuer la première étape : elle consiste à importer le fichier F_ELE.DBF contenant toutes les données dans une table temporaire de la base de données de GEPI."; echo "

Veuillez préciser le nom complet du fichier F_ELE.DBF."; echo "

"; echo ""; echo "

"; echo "

"; echo "

"; } else { $dbf_file = isset($_FILES["dbf_file"]) ? $_FILES["dbf_file"] : NULL; if(mb_strtoupper($dbf_file['name']) == "F_ELE.DBF") { $fp = dbase_open($dbf_file['tmp_name'], 0); if(!$fp) { echo "

Impossible d'ouvrir le fichier dbf !

"; echo "

Cliquer ici pour recommencer !

"; } else { $del = @mysqli_query($GLOBALS["mysqli"], "DELETE FROM temp_gep_import"); // on constitue le tableau des champs à extraire $tabchamps = array("ELENOM","ELEPRE","ELESEXE","ELEDATNAIS","ELENOET","ERENO","ELEDOUBL","ELENONAT","ELEREG","DIVCOD","ETOCOD_EP", "ELEOPT1", "ELEOPT2", "ELEOPT3", "ELEOPT4", "ELEOPT5", "ELEOPT6", "ELEOPT7", "ELEOPT8", "ELEOPT9", "ELEOPT10", "ELEOPT11", "ELEOPT12"); $nblignes = dbase_numrecords($fp); //number of rows $nbchamps = dbase_numfields($fp); //number of fields // On range dans un tableau les en-têtes des champs if (@dbase_get_record_with_names($fp,1)) { $temp = @dbase_get_record_with_names($fp,1); } else { echo "

Le fichier sélectionné n'est pas valide !
"; echo "Cliquer ici pour recommencer !

"; die(); } $nb = 0; foreach($temp as $key => $val){ $en_tete[$nb] = "$key"; $nb++; } // On range dans tabindice les indices des champs retenus for ($k = 0; $k < count($tabchamps); $k++) { for ($i = 0; $i < count($en_tete); $i++) { if ($en_tete[$i] == $tabchamps[$k]) { $tabindice[] = $i; } } } $nb_reg_ok = 0; $nb_reg_no = 0; for($k = 1; ($k < $nblignes+1); $k++){ $enregistre = "yes"; $ligne = dbase_get_record($fp,$k); $query = "INSERT INTO temp_gep_import VALUES ('$k',''"; for($i = 0; $i < count($tabchamps); $i++) { $query = $query.","; $ind = $tabindice[$i]; $affiche = dbase_filter(trim($ligne[$ind])); $query = $query."\"".$affiche."\""; if (($en_tete[$ind] == 'DIVCOD') and ($affiche == '')) {$enregistre = "no";} } $query = $query.")"; if ($enregistre == "yes") { $register = mysqli_query($GLOBALS["mysqli"], $query); if (!$register) { echo "

Analyse de la ligne $k : erreur lors de l'enregistrement !

"; $nb_reg_no++; } else { $nb_reg_ok++; // echo "."; } } else { // echo "."; } } dbase_close($fp); if ($nb_reg_no != 0) { echo "

Lors de l'enregistrement des données il y a eu $nb_reg_no erreurs, vous ne pouvez pas procéder à la suite de l'initialisation. Trouvez la cause de l'erreur et recommencez la procédure, après avoir vidé la table temporaire."; } else { echo "

Les $nblignes lignes du fichier F_ELE.DBF ont été analysées.
$nb_reg_ok lignes de données correspondant à des élèves de l'année en cours ont été enregistrées dans une table temporaire.
Il n'y a pas eu d'erreurs, vous pouvez procéder à l'étape suivante.

"; echo "

Accéder à l'étape 2

"; } } } else if (trim($dbf_file['name'])=='') { echo "

Aucun fichier n'a été sélectionné !
"; echo "Cliquer ici pour recommencer !

"; } else { echo "

Le fichier sélectionné n'est pas valide !
"; echo "Cliquer ici pour recommencer !

"; } } echo "


\n"; require("../lib/footer.inc.php"); ?>