";
}
$fichier = @fopen( "./temp/".basename($_FILES['import_lec']['tmp_name']), "r" );
if ($fichier) {
if ($type_import == 'maj_complete') {
//Vide la table empr_groupe
pmb_mysql_query("DELETE FROM empr_groupe",$dbh);
//Supprime les élèves qui n'ont pas de prêts en cours
$req_select_verif_pret = "SELECT id_empr FROM empr left join pret on id_empr=pret_idempr WHERE pret_idempr is null and empr_cb NOT LIKE 'E%'";
$select_verif_pret = pmb_mysql_query($req_select_verif_pret,$dbh);
while (($verif_pret = pmb_mysql_fetch_array($select_verif_pret))) {
//pour tous les emprunteurs qui n'ont pas de pret en cours
emprunteur::del_empr($verif_pret["id_empr"]);
}
}
while (!feof($fichier)) {
$buffer = fgets($fichier, 4096);
$buffer = import_empr::get_encoded_buffer($buffer);
$buffer = pmb_mysql_escape_string($buffer);
$tab = explode($separateur, $buffer);
//Gestion du sexe
switch ($tab[10]{0}) {
case 'M':
$sexe = 1;
break;
case 'F':
$sexe = 2;
break;
default:
$sexe = 0;
break;
}
// Traitement de l'élève
$select = pmb_mysql_query("SELECT id_empr FROM empr WHERE empr_cb = '".$tab[0]."'",$dbh);
$nb_enreg = pmb_mysql_num_rows($select);
//Test si un numéro id est fourni
if (!$tab[0] || $tab[0] == "") {
print(" Elève non pris en compte car \"Numéro identifiant\" non renseigné :
");
for ($i=0;$i<3;$i++) {
print($eleve_abrege[$i]." : ".$tab[$i].", ");
}
print("
");
$nb_enreg = 2;
}
$login = import_empr::cre_login($tab[1],$tab[2]);
switch ($nb_enreg) {
case 0:
//Ce élève n'est pas enregistré
$req_insert = "INSERT INTO empr(empr_cb, empr_nom, empr_prenom, empr_adr1, empr_adr2, empr_cp, empr_ville, ";
$req_insert .= "empr_tel1, empr_year, empr_categ, empr_codestat, empr_creation, empr_sexe, ";
$req_insert .= "empr_login, empr_password, empr_date_adhesion, empr_date_expiration) ";
$req_insert .= "VALUES ('$tab[0]','$tab[1]','$tab[2]','$tab[3]', '$tab[4]', '$tab[5]', ";
//Vérifier dans la table empr_categ si id_categ_empr 1 = élèves Vérifier dans la table empr_codestat si idcode 2 = école Sinon, changer les valeurs
$req_insert .= "'$tab[6]', '$tab[7]', '$tab[8]', 1, 2, '$date_auj', '$sexe', ";
$req_insert .= "'$login', '$tab[8]', '$date_auj', '$date_an_proch')";
$insert = pmb_mysql_query($req_insert,$dbh);
if (!$insert) {
print("Echec de la création de l'élève suivant (Erreur : ".pmb_mysql_error().") :
");
for ($i=0;$i<3;$i++) {
print($eleve_abrege[$i]." : ".$tab[$i].", ");
}
print("
");
}
else {
emprunteur::update_digest($login,$tab[8]);
emprunteur::hash_password($login,$tab[8]);
$cpt_insert ++;
}
import_empr::gestion_groupe($tab[9], $tab[0]);
$j++;
break;
case 1:
//Ce élève est déjà enregistré
$req_update = "UPDATE empr SET empr_nom = '$tab[1]', empr_prenom = '$tab[2]', empr_adr1 = '$tab[3]', ";
$req_update .= "empr_adr2 = '$tab[4]', empr_cp = '$tab[5]', empr_ville = '$tab[6]', ";
//Vérifier dans la table empr_categ si id_categ_empr 1 = élèves Vérifier dans la table empr_codestat si idcode 2 = école Sinon, changer les valeurs
$req_update .= "empr_tel1 = '$tab[7]', empr_year = '$tab[8]', empr_categ = '1', empr_codestat = '2', empr_modif = '$date_auj', empr_sexe = '$sexe', ";
$req_update .= "empr_login = '$login', empr_password= '$tab[8]', ";
$req_update .= "empr_date_adhesion = '$date_auj', empr_date_expiration = '$date_an_proch' ";
$req_update .= "WHERE empr_cb = '$tab[0]'";
$update = pmb_mysql_query($req_update, $dbh);
if (!$update) {
print("Echec de la modification de l'élève suivant (Erreur : ".pmb_mysql_error().") :
");
for ($i=0;$i<3;$i++) {
print($eleve_abrege[$i]." : ".$tab[$i].", ");
}
print("
");
}
else {
emprunteur::update_digest($login,$tab[8]);
emprunteur::hash_password($login,$tab[8]);
$cpt_maj ++;
}
import_empr::gestion_groupe($tab[9], $tab[0]);
$j++;
break;
case 2:
break;
default:
print("Echec pour l'élève suivant (Erreur : ".pmb_mysql_error().") :
");
for ($i=0;$i<3;$i++) {
print($eleve_abrege[$i]." : ".$tab[$i].", ");
}
print("
");
break;
}
}
//Affichage des insert et update
print("
_____________________
");
if ($cpt_insert) print($cpt_insert." Elèves créés.
");
if ($cpt_maj) print($cpt_maj." Elèves modifiés.
");
fclose($fichier);
}
}
function import_profs($separateur, $dbh, $type_import){
//La structure du fichier texte doit être la suivante :
//Numéro identifiant/Nom/Prénom/Rue/Complément de rue/Code postal/Commune/Téléphone/Date de naissance/Classe/Sexe
$prof_abrege = array("Numéro identifiant","Nom","Prénom");
$date_auj = date("Y-m-d", time());
$date_an_proch = date("Y-m-d", time()+3600*24*30.42*12);
//Upload du fichier
if (!($_FILES['import_lec']['tmp_name']))
print "Cliquez sur Précédent et choisissez un fichier";
elseif (!(move_uploaded_file($_FILES['import_lec']['tmp_name'], "./temp/".basename($_FILES['import_lec']['tmp_name'])))) {
print "Le fichier n'a pas pu être téléchargé. Voici plus d'informations :
";
print_r($_FILES)."
";
}
$fichier = @fopen( "./temp/".basename($_FILES['import_lec']['tmp_name']), "r" );
if ($fichier) {
if ($type_import == 'maj_complete') {
//Vide la table empr_groupe
pmb_mysql_query("DELETE FROM empr_groupe",$dbh);
//Supprime les profs qui n'ont pas de prêts en cours
$req_select_verif_pret = "SELECT id_empr FROM empr left join pret on id_empr=pret_idempr WHERE pret_idempr is null and empr_cb NOT LIKE 'E%'";
$select_verif_pret = pmb_mysql_query($req_select_verif_pret,$dbh);
while (($verif_pret = pmb_mysql_fetch_array($select_verif_pret))) {
//pour tous les emprunteurs qui n'ont pas de pret en cours
emprunteur::del_empr($verif_pret["id_empr"]);
}
}
while (!feof($fichier)) {
$buffer = fgets($fichier, 4096);
$buffer = import_empr::get_encoded_buffer($buffer);
$buffer = pmb_mysql_escape_string($buffer);
$tab = explode($separateur, $buffer);
//Gestion du sexe
switch ($tab[10]{0}) {
case 'M':
$sexe = 1;
break;
case 'F':
$sexe = 2;
break;
default:
$sexe = 0;
break;
}
// Traitement du prof
$select = pmb_mysql_query("SELECT id_empr FROM empr WHERE empr_cb = '".$tab[0]."'",$dbh);
$nb_enreg = pmb_mysql_num_rows($select);
//Test si un numéro id est fourni
if (!$tab[0] || $tab[0] == "") {
print(" Prof non pris en compte car \"Numéro identifiant\" non renseigné :
");
for ($i=0;$i<3;$i++) {
print($prof_abrege[$i]." : ".$tab[$i].", ");
}
print("
");
$nb_enreg = 2;
}
$login = import_empr::cre_login($tab[1],$tab[2]);
switch ($nb_enreg) {
case 0:
//Ce prof n'est pas enregistre
$req_insert = "INSERT INTO empr(empr_cb, empr_nom, empr_prenom, empr_adr1, empr_adr2, empr_cp, empr_ville, ";
$req_insert .= "empr_tel1, empr_year, empr_categ, empr_codestat, empr_creation, empr_sexe, ";
$req_insert .= "empr_login, empr_password, empr_date_adhesion, empr_date_expiration) ";
$req_insert .= "VALUES ('$tab[0]','$tab[1]','$tab[2]','$tab[3]', '$tab[4]', '$tab[5]', ";
//Verifier dans la table empr_categ si id_categ_empr 2 = profs Verifier dans la table empr_codestat si idcode 2 = ecole Sinon, changer les valeurs
$req_insert .= "'$tab[6]', '$tab[7]', '$tab[8]', 2, 2, '$date_auj', '$sexe', ";
$req_insert .= "'$login', '$tab[8]', '$date_auj', '$date_an_proch')";
$insert = pmb_mysql_query($req_insert,$dbh);
if (!$insert) {
print("Echec de la création du prof suivant (Erreur : ".pmb_mysql_error().") :
");
for ($i=0;$i<3;$i++) {
print($prof_abrege[$i]." : ".$tab[$i].", ");
}
print("
");
}
else {
emprunteur::update_digest($login,$tab[8]);
emprunteur::hash_password($login,$tab[8]);
$cpt_insert ++;
}
import_empr::gestion_groupe($tab[9], $tab[0]);
$j++;
break;
case 1:
//Ce prof est déja enregistré
$req_update = "UPDATE empr SET empr_nom = '$tab[1]', empr_prenom = '$tab[2]', empr_adr1 = '$tab[3]', ";
$req_update .= "empr_adr2 = '$tab[4]', empr_cp = '$tab[5]', empr_ville = '$tab[6]', ";
//Vérifier dans la table empr_categ si id_categ_empr 2 = profs Vérifier dans la table empr_codestat si idcode 2 = école Sinon, changer les valeurs
$req_update .= "empr_tel1 = '$tab[7]', empr_year = '$tab[8]', empr_categ = '2', empr_codestat = '2', empr_modif = '$date_auj', empr_sexe = '$sexe', ";
$req_update .= "empr_login = '$login', empr_password= '$tab[8]', ";
$req_update .= "empr_date_adhesion = '$date_auj', empr_date_expiration = '$date_an_proch' ";
$req_update .= "WHERE empr_cb = '$tab[0]'";
$update = pmb_mysql_query($req_update, $dbh);
if (!$update) {
print("Echec de la modification du prof suivant (Erreur : ".pmb_mysql_error().") :
");
for ($i=0;$i<3;$i++) {
print($prof_abrege[$i]." : ".$tab[$i].", ");
}
print("
");
}
else {
emprunteur::update_digest($login,$tab[8]);
emprunteur::hash_password($login,$tab[8]);
$cpt_maj ++;
}
import_empr::gestion_groupe($tab[9], $tab[0]);
$j++;
break;
case 2:
break;
default:
print("Echec pour le prof suivant (Erreur : ".pmb_mysql_error().") :
");
for ($i=0;$i<3;$i++) {
print($prof_abrege[$i]." : ".$tab[$i].", ");
}
print("
");
break;
}
}
//Affichage des insert et update
print("
_____________________
");
if ($cpt_insert) print($cpt_insert." Prof créés.
");
if ($cpt_maj) print($cpt_maj." Profs modifiés.
");
fclose($fichier);
}
}
switch($action) {
case 1:
if ($imp_elv){
import_eleves($Sep_Champs, $dbh, $type_import);
}
elseif ($imp_prof) {
import_profs($Sep_Champs, $dbh, $type_import);
}
else {
show_import_choix_fichier($dbh);
}
break;
case 2:
break;
default:
show_import_choix_fichier($dbh);
break;
}
?>