source: pmb4.2/trunk/fuentes/pmb/admin/empr/import_belgique.inc.php @ 815

Last change on this file since 815 was 815, checked in by jrpelegrina, 4 years ago

Initial release of pmb 4.2

  • Property svn:executable set to *
File size: 24.6 KB
Line 
1<?php
2// +-------------------------------------------------+
3// © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: import_belgique.inc.php,v 1.11 2015-06-02 13:24:51 dgoron Exp $
6
7if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) die("no access");
8
9require_once("$class_path/emprunteur.class.php");
10//import_belgique - Version modifiée par A.-M Cubat en avril 2006
11//Ecole N.-D. de la Sagesse - Avenue Van Overbeke, 10 - B-1083 Bruxelles (Belgique)
12
13
14//Différence majeure entre l'import "Bretagne" et l'import "Belgique" : l'import des professeurs
15
16//Dans la version import_bretagne, les élèves étaient "importés" en groupe (création automatique des groupes, insertion automatique dans le bon groupe)
17//Les profs étaient "importés" individuellement, le nombre de champs importés dans leur fiche "lecteur" était réduit, leur numéro de lecteur était tiré au sort.
18
19//Dans la version import_belgique, non seulement les groupes "élèves", mais aussi les groupes "professeurs" sont créés automatiquement
20//Il n'est plus nécessaire de créer "manuellement" un ou plusieurs groupes de professeurs en rééditant la fiche de chaque membre du personnel.
21//C'est donc un avantage majeur, qui apporte un net gain de temps au niveau de l'encodage. Imaginez la situation s'il y a une centaine de professeurs.
22
23//Merci aux concepteurs de import_bretagne, ce sont eux qui ont mis au point l'import des élèves avec création automatique des groupes
24//Je n'ai aucun mérite, je n'ai rien inventé - j'ai modifié un programme existant que j'aurais été incapable de rédiger moi-même.
25//J'y ai simplement ajouté la possibilité de créer également des groupes de professeurs.
26
27
28//import_belgique permet donc d'avoir pour les professeurs exactement les mêmes champs que pour les élèves.
29//Vous n'aurez donc qu'un seul modèle de fichier de lecteurs en Excel, ce qui est plus pratique.
30
31//La structure du fichier texte doit être la suivante : 11 champs (pour tout le monde)
32//Numéro identifiant/Nom/Prénom/Rue/Complément de rue/Code postal/Commune/Téléphone/Date de naissance/Classe/Sexe
33
34//La liste de ces 11 champs figurera peut-être à la première ligne de votre fichier Excel (c'est souvent plus simple, ne vous privez pa de cette facilité)
35//Mais si c'est le cas, il faut absolument la supprimer avant de convertir le fichier. La fiche du premier lecteur doit se trouver à la première ligne.
36//Sinon, vous créez un lecteur dont le nom est "nom", dont le prénom est "prénom", et dont l'année de naissance est "année" au lieu d'une date !
37
38//Pas question de changer l'ordre des champs, ni d'en supprimer
39//Vous n'êtes pas obligé de compléter ces 11 champs, mais n'oubliez pas de laisser dans ce cas des colonnes vides dans Excel.
40//Evitez toutefois de laisser le champ "sexe" vide pour la fiche du premier lecteur (car c'est le dernier champ de la première ligne).
41//Excel risque de "croire" qu'il y a moins de 11 colonnes à convertir (le nombre de cellules complétées à la première ligne est déterminant à cet égard).
42
43//Le fichier Excel doit être converti en format .csv avant l'import dans PMB - c'est un type de fichier texte avec le point-virgule comme séparateur de champ.
44//Vérifiez que chaque ligne du fichier .csv se termine bien par un point-virgule, sinon vous perdrez le dernier caractère du dernier champ de chaque ligne.
45
46//Contenu des champs
47//Pour le Sexe, vous mettez "M" ou "F" (élèves ou professeurs, peu importe)
48//SI vous voulez créer des groupes (d'élèves ou de professeurs), il faut bien sûr compléter la colonne "Classe" pour tout le monde.
49
50//Si le champ "Classe" reste vide, ce lecteur sera encodé dans la base mais ne fera partie d'aucun groupe, et risque donc de passer "inaperçu" dans certains cas.
51//Si vous voulez créer plusieurs groupes de professeurs, il suffit d'avoir des libellés différents (Profs - Profs1 - Profs2 ...) - comme pour les élèves et leurs classes..
52//Standardisez l'orthographe - "Profs 1" n'est pas la même chose que "Profs1" (avec ou sans espace intermédiaire) - cela créerait 2 groupes différents.
53
54//Au moment d'importer, sélectionnez le fichier .csv et choisissez entre "import des élèves" et "import des professeurs".
55//Le programme crée automatiquement les groupes (dans un cas comme dans l'autre), et insère aussi chacun dans le groupe correspondant..
56//Il attribue le bon code statistique à chaque lecteur et le place également dans la bonne catégorie.
57
58
59//La suite du commentaire concerne les adaptations éventuelles à faire pour les codes statistiques et pour les catégories - en fonction de votre configuration.
60
61//J'ai attribué à tous les élèves et tous les professeurs le code statistique "école".
62//J'ai mis les élèves dans la catégorie "élèves", les professeurs dans la catégorie "professeurs".
63//Vous pouvez bien sûr changer ces paramètres, j'explique comment procéder.
64
65//Pour attribuer un code statistique ou une catégorie à un lecteur, il faut connaître la clef primaire (le "id") du code ou de la catégorie.
66//Donc, il  faut aller voir dans les tables empr_codestat et empr_categ si vous voulez changer ceci.
67//Clic droit de souris sur l'icône PHP - choisir Administration - PHPMyAdmin - administration BDD.
68
69//Voici comment les tables se présentent chez nous, cela vous aidera à faire les modifications qui seront  probablement nécessaires chez vous.
70
71//Je n'ai pas supprimé de clefs primaires dans les tables empr_codestat et empr_categ, j'ai changé les libellés mais j'ai gardé les clefs primaires d'origine.
72
73//Dans la table empr_codestat, j'ai gardé idcode = 2 mais j'ai remplacé le libellé "communauté de communes" par le libellé "école".
74//Dans la table empr_categ, j'ai gardé id_categ_empr = 1 mais j'ai remplacé le libellé "enfants"  par le libellé "élèves".
75//Dans la table empr_categ, j'ai gardé id_categ_empr = 2 mais j'ai remplacé le libellé "retraités"  par le libellé "professeurs".
76
77//Si vous voulez d'autres valeurs, c'est facile, il suffit de changer 4 lignes dans ce programme.
78//Voici les lignes qui correspondent aux codes de notre configuration.
79
80//Chez nous, les élèves ont le code statistique 2 (école), et sont dans la catégorie 1  (élèves)
81//Import_eleves  - cet élève n'est pas enregistré).
82//$req_insert .= "'$tab[6]', '$tab[7]', '$tab[8]', 1, 2, '$date_auj', '$sexe', ";
83//Iimport_eleves (cet élève est déjà  enregistré)
84// $req_update .= "empr_tel1 = '$tab[7]', empr_year = '$tab[8]', empr_categ = '1', empr_codestat = '2', empr_modif = '$date_auj', empr_sexe = '$sexe', ";
85
86//Chez nous, les profs ont le code statistique 2 (école), et sont dans la catégorie 2  (professeurs)
87//Import_profs  - ce prof n'est pas enregistré)
88//$req_insert .= "'$tab[6]', '$tab[7]', '$tab[8]', 2, 2, '$date_auj', '$sexe', ";
89//Import_profs  - ce prof est déjà enregistré)
90//$req_update .= "empr_tel1 = '$tab[7]', empr_year = '$tab[8]', empr_categ = '2', empr_codestat = '2', empr_modif = '$date_auj', empr_sexe = '$sexe', ";
91
92//Attention ! Comme je le disais, cette version est conçue en fonction des n° de clefs primaires de la configuration actuelle de mon école.
93//Si vous avez d'autres libellés, ou les mêmes libellés mais liés à d'autres n° de clefs primaires, il faudra modifier les valeurs (les id)
94
95//Chercher les commentaires suivants : Cet élève est déjà enregistré - n'est pas enregistré - Cet prof est déjà enregistré - n'est pas enregistré
96//Vous trouverez facilement les 4 lignes à modifier - ce sont celles reprises ci-dessus et qui commencent par $req_insert ou par $req_update
97//Un bref commentaire à ces endroits-là vous rappelle les codes que j'ai employés et vous permet de repérer aisément les lignes à changer.
98
99//A vous de remplacer les valeurs qui s'y trouvent (1 ou 2 dans le cas présent) par celles que vous trouverez dans vos tables empr_categ et empr_codestat.
100//PHPMyAdmin vous permettra de savoir quelles clefs primaires correspondent aux libellés des catégories et des codes statistiques que vous avez sélectionnés.
101
102//Bonne chance !
103
104//Explications de A.-M. Cubat
105
106
107function show_import_choix_fichier($dbh) {
108        global $msg;
109        global $current_module ;
110
111print "
112<form class='form-$current_module' name='form1' ENCTYPE=\"multipart/form-data\" method='post' action=\"./admin.php?categ=empr&sub=implec&action=1\">
113<h3>Choix du fichier</h3>
114<div class='form-contenu'>
115        <div class='row'>
116                <label class='etiquette' for='form_import_lec'>".$msg["import_lec_fichier"]."</label>
117        <input name='import_lec' accept='text/plain' type='file' class='saisie-80em' size='40'>
118                </div> 
119        <div class='row'>
120        <label class='etiquette' for='form_import_lec'>". $msg["import_lec_separateur"]."</label>
121        <select name='Sep_Champs' >
122            <option value=';'>;</option>
123            <option value='.'>.</option>
124        </select>
125    </div>
126    <br />
127        <div class='row'>
128        <input type=radio name='type_import' value='nouveau_lect' checked>
129        <label class='etiquette' for='form_import_lec'>Nouveaux lecteurs</label>
130        (ajoute ou modifie les lecteurs présents dans le fichier)
131        <br />
132        <input type=radio name='type_import' value='maj_complete'>
133        <label class='etiquette' for='form_import_lec'>Mise à jour complète</label>
134        (supprime les lecteurs non présents dans le fichier et qui n'ont pas de prêt en cours)
135    </div>
136    <div class='row'></div>
137   
138        </div>
139<div class='row'>
140        <input name='imp_elv' type='submit' class='bouton' value='Import des élèves'/>
141        <input name='imp_prof' value='Import des professeurs' type='submit' class='bouton'/>
142</div>
143</form>";
144}
145
146function cre_login($nom, $prenom, $dbh) {
147    $empr_login = substr($prenom,0,1).$nom ;
148    $empr_login = strtolower($empr_login);
149    $empr_login = clean_string($empr_login) ;
150    $empr_login = convert_diacrit(strtolower($empr_login)) ;
151    $empr_login = preg_replace('/[^a-z0-9\.]/', '', $empr_login);
152    $pb = 1 ;
153    $num_login=1 ;
154    while ($pb==1) {
155        $requete = "SELECT empr_login FROM empr WHERE empr_login='$empr_login' AND empr_nom <> '$nom' AND empr_prenom <> '$prenom' LIMIT 1 ";
156        $res = pmb_mysql_query($requete, $dbh);
157        $nbr_lignes = pmb_mysql_num_rows($res);
158        if ($nbr_lignes) {
159            $empr_login .= $num_login ;
160            $num_login++;
161        } 
162        else $pb = 0 ;
163    }
164    return $empr_login;
165}
166
167function import_eleves($separateur, $dbh, $type_import){
168
169    //La structure du fichier texte doit être la suivante :
170    //Numéro identifiant/Nom/Prénom/Rue/Complément de rue/Code postal/Commune/Téléphone/Date de naissance/Classe/Sexe
171
172    $eleve_abrege = array("Numéro identifiant","Nom","Prénom");
173    $date_auj = date("Y-m-d", time());
174    $date_an_proch = date("Y-m-d", time()+3600*24*30.42*12);
175   
176    //Upload du fichier
177    if (!($_FILES['import_lec']['tmp_name'])) {
178        print "Cliquez sur Pr&eacute;c&eacute;dent et choisissez un fichier";
179    } elseif (!(move_uploaded_file($_FILES['import_lec']['tmp_name'], "./temp/".basename($_FILES['import_lec']['tmp_name'])))) {
180        print "Le fichier n'a pas pu être téléchargé. Voici plus d'informations :<br />";
181        print_r($_FILES)."<p>";
182    }
183    $fichier = @fopen( "./temp/".basename($_FILES['import_lec']['tmp_name']), "r" );
184       
185    if ($fichier) {
186
187        if ($type_import == 'maj_complete') {
188            //Vide la table empr_groupe
189            pmb_mysql_query("DELETE FROM empr_groupe",$dbh);
190            //Supprime les élèves qui n'ont pas de prêts en cours
191            $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%'";
192            $select_verif_pret = pmb_mysql_query($req_select_verif_pret,$dbh);
193            while (($verif_pret = pmb_mysql_fetch_array($select_verif_pret))) {
194                //pour tous les emprunteurs qui n'ont pas de pret en cours
195                emprunteur::del_empr($verif_pret["id_empr"]);
196            }
197        }
198       
199       
200        while (!feof($fichier)) {
201            $buffer = fgets($fichier, 4096);
202            $buffer = pmb_mysql_escape_string($buffer);
203            $tab = explode($separateur, $buffer);
204
205            //Gestion du sexe
206            switch ($tab[10]{0}) {
207                case M: 
208                    $sexe = 1;
209                    break;
210                case F:
211                    $sexe = 2; 
212                    break;
213                default:
214                    $sexe = 0;
215                    break;
216            }
217
218            // Traitement de l'élève
219            $select = pmb_mysql_query("SELECT id_empr FROM empr WHERE empr_cb = '".$tab[0]."'",$dbh);
220            $nb_enreg = pmb_mysql_num_rows($select);
221           
222            //Test si un numéro id est fourni
223            if (!$tab[0] || $tab[0] == "") {
224                print("<b> Elève non pris en compte car \"Numéro identifiant\" non renseigné : </b><br />");
225                for ($i=0;$i<3;$i++) {
226                    print($eleve_abrege[$i]." : ".$tab[$i].", ");
227                }
228                print("<br />");
229                $nb_enreg = 2;
230            }
231           
232            $login = cre_login($tab[1],$tab[2], $dbh);
233           
234            switch ($nb_enreg) {
235                case 0:
236                        //Ce élève n'est pas enregistré
237                    $req_insert = "INSERT INTO empr(empr_cb, empr_nom, empr_prenom, empr_adr1, empr_adr2, empr_cp, empr_ville, ";
238                    $req_insert .= "empr_tel1, empr_year, empr_categ, empr_codestat, empr_creation, empr_sexe,  ";
239                    $req_insert .= "empr_login, empr_password, empr_date_adhesion, empr_date_expiration) ";
240                    $req_insert .= "VALUES ('$tab[0]','$tab[1]','$tab[2]','$tab[3]', '$tab[4]', '$tab[5]', ";
241        //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
242                    $req_insert .= "'$tab[6]', '$tab[7]', '$tab[8]', 1, 2, '$date_auj', '$sexe', ";
243                    $req_insert .= "'$login', '$tab[8]', '$date_auj', '$date_an_proch')";
244                    $insert = pmb_mysql_query($req_insert,$dbh);
245                    if (!$insert) {
246                        print("<b>Echec de la création de l'élève suivant (Erreur : ".pmb_mysql_error().") : </b><br />");
247                        for ($i=0;$i<3;$i++) {
248                            print($eleve_abrege[$i]." : ".$tab[$i].", ");
249                        }
250                        print("<br />");
251                    }
252                    else {
253                        emprunteur::update_digest($login,$tab[8]);
254                        emprunteur::hash_password($login,$tab[8]);
255                        $cpt_insert ++;
256                    }
257                    gestion_groupe($tab[9], $tab[0], $dbh);
258                    $j++;
259                    break;
260
261                case 1:
262                        //Ce élève est déjà enregistré
263                    $req_update = "UPDATE empr SET empr_nom = '$tab[1]', empr_prenom = '$tab[2]', empr_adr1 = '$tab[3]', ";
264                    $req_update .= "empr_adr2 = '$tab[4]', empr_cp = '$tab[5]', empr_ville = '$tab[6]', ";
265                                        //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
266                    $req_update .= "empr_tel1 = '$tab[7]', empr_year = '$tab[8]', empr_categ = '1', empr_codestat = '2', empr_modif = '$date_auj', empr_sexe = '$sexe', ";
267                    $req_update .= "empr_login = '$login', empr_password= '$tab[8]', ";
268                    $req_update .= "empr_date_adhesion = '$date_auj', empr_date_expiration = '$date_an_proch' ";
269                    $req_update .= "WHERE empr_cb = '$tab[0]'";
270                    $update = pmb_mysql_query($req_update, $dbh);
271                    if (!$update) {
272                        print("<b>Echec de la modification de l'élève suivant (Erreur : ".pmb_mysql_error().") : </b><br />");
273                        for ($i=0;$i<3;$i++) {
274                            print($eleve_abrege[$i]." : ".$tab[$i].", ");
275                        }
276                        print("<br />");
277                    }
278                    else {
279                        emprunteur::update_digest($login,$tab[8]);
280                        emprunteur::hash_password($login,$tab[8]);
281                        $cpt_maj ++;
282                    }
283                    gestion_groupe($tab[9], $tab[0], $dbh);
284                    $j++;
285                    break;
286                case 2:
287                    break;
288                default:
289                    print("<b>Echec pour l'élève suivant (Erreur : ".pmb_mysql_error().") : </b><br />");
290                    for ($i=0;$i<3;$i++) {
291                        print($eleve_abrege[$i]." : ".$tab[$i].", ");
292                    }
293                    print("<br />");
294                    break;
295            }
296        }
297
298        //Affichage des insert et update
299        print("<br />_____________________<br />");
300        if ($cpt_insert) print($cpt_insert." Elèves créés. <br />");
301        if ($cpt_maj) print($cpt_maj." Elèves modifiés. <br />");
302        fclose($fichier);
303    }
304   
305}
306
307function gestion_groupe($lib_groupe, $empr_cb, $dbh) {
308   
309    $sel = pmb_mysql_query("SELECT id_groupe from groupe WHERE libelle_groupe = \"".$lib_groupe."\"",$dbh);
310    $nb_enreg_grpe = pmb_mysql_num_rows($sel);
311   
312    if (!$nb_enreg_grpe) {
313                //insertion dans la table groupe
314                pmb_mysql_query("INSERT INTO groupe(libelle_groupe) VALUES(\"".$lib_groupe."\")");
315                $groupe=pmb_mysql_insert_id();
316        } else {
317                $grpobj = pmb_mysql_fetch_object($sel) ;
318                $groupe = $grpobj->id_groupe ; 
319                }
320
321        //insertion dans la table empr_groupe
322    $sel_empr = pmb_mysql_query("SELECT id_empr FROM empr WHERE empr_cb = \"".$empr_cb."\"",$dbh);
323    $empr = pmb_mysql_fetch_array($sel_empr);
324    @pmb_mysql_query("INSERT INTO empr_groupe(empr_id, groupe_id) VALUES ('$empr[id_empr]','$groupe')");
325}
326
327function import_profs($separateur, $dbh, $type_import){
328
329    //La structure du fichier texte doit être la suivante :
330    //Numéro identifiant/Nom/Prénom/Rue/Complément de rue/Code postal/Commune/Téléphone/Date de naissance/Classe/Sexe
331 
332    $prof_abrege = array("Numéro identifiant","Nom","Prénom");
333    $date_auj = date("Y-m-d", time());
334    $date_an_proch = date("Y-m-d", time()+3600*24*30.42*12);
335   
336    //Upload du fichier
337    if (!($_FILES['import_lec']['tmp_name']))
338        print "Cliquez sur Pr&eacute;c&eacute;dent et choisissez un fichier";
339    elseif (!(move_uploaded_file($_FILES['import_lec']['tmp_name'], "./temp/".basename($_FILES['import_lec']['tmp_name'])))) {
340        print "Le fichier n'a pas pu être téléchargé. Voici plus d'informations :<br />";
341        print_r($_FILES)."<p>";
342    }
343    $fichier = @fopen( "./temp/".basename($_FILES['import_lec']['tmp_name']), "r" );
344       
345    if ($fichier) {
346
347        if ($type_import == 'maj_complete') {
348            //Vide la table empr_groupe
349            pmb_mysql_query("DELETE FROM empr_groupe",$dbh);
350            //Supprime les profs qui n'ont pas de prêts en cours
351            $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%'";
352            $select_verif_pret = pmb_mysql_query($req_select_verif_pret,$dbh);
353            while (($verif_pret = pmb_mysql_fetch_array($select_verif_pret))) {
354                //pour tous les emprunteurs qui n'ont pas de pret en cours
355                emprunteur::del_empr($verif_pret["id_empr"]);
356            }
357        }
358       
359       
360        while (!feof($fichier)) {
361            $buffer = fgets($fichier, 4096);
362            $buffer = pmb_mysql_escape_string($buffer);
363            $tab = explode($separateur, $buffer);
364
365            //Gestion du sexe
366            switch ($tab[10]{0}) {
367                case M: 
368                    $sexe = 1;
369                    break;
370                case F:
371                    $sexe = 2; 
372                    break;
373                default:
374                    $sexe = 0;
375                    break;
376            }
377
378            // Traitement du prof
379            $select = pmb_mysql_query("SELECT id_empr FROM empr WHERE empr_cb = '".$tab[0]."'",$dbh);
380            $nb_enreg = pmb_mysql_num_rows($select);
381           
382            //Test si un numéro id est fourni
383            if (!$tab[0] || $tab[0] == "") {
384                print("<b> Prof non pris en compte car \"Numéro identifiant\" non renseigné : </b><br />");
385                for ($i=0;$i<3;$i++) {
386                    print($prof_abrege[$i]." : ".$tab[$i].", ");
387                }
388                print("<br />");
389                $nb_enreg = 2;
390            }
391           
392            $login = cre_login($tab[1],$tab[2], $dbh);
393           
394            switch ($nb_enreg) {
395                case 0:
396                        //Ce prof n'est pas enregistre
397                    $req_insert = "INSERT INTO empr(empr_cb, empr_nom, empr_prenom, empr_adr1, empr_adr2, empr_cp, empr_ville, ";
398                    $req_insert .= "empr_tel1, empr_year, empr_categ, empr_codestat, empr_creation, empr_sexe,  ";
399                    $req_insert .= "empr_login, empr_password, empr_date_adhesion, empr_date_expiration) ";
400                    $req_insert .= "VALUES ('$tab[0]','$tab[1]','$tab[2]','$tab[3]', '$tab[4]', '$tab[5]', ";
401                                        //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
402                    $req_insert .= "'$tab[6]', '$tab[7]', '$tab[8]', 2, 2, '$date_auj', '$sexe', ";
403                    $req_insert .= "'$login', '$tab[8]', '$date_auj', '$date_an_proch')";
404                    $insert = pmb_mysql_query($req_insert,$dbh);
405                    if (!$insert) {
406                        print("<b>Echec de la création du prof suivant (Erreur : ".pmb_mysql_error().") : </b><br />");
407                        for ($i=0;$i<3;$i++) {
408                            print($prof_abrege[$i]." : ".$tab[$i].", ");
409                        }
410                        print("<br />");
411                    }
412                    else {
413                        emprunteur::update_digest($login,$tab[8]);
414                        emprunteur::hash_password($login,$tab[8]);
415                        $cpt_insert ++;
416                    }
417                    gestion_groupe($tab[9], $tab[0], $dbh);
418                    $j++;
419                    break;
420
421                case 1:
422                        //Ce prof est déja enregistré
423                    $req_update = "UPDATE empr SET empr_nom = '$tab[1]', empr_prenom = '$tab[2]', empr_adr1 = '$tab[3]', ";
424                    $req_update .= "empr_adr2 = '$tab[4]', empr_cp = '$tab[5]', empr_ville = '$tab[6]', ";
425        //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
426                    $req_update .= "empr_tel1 = '$tab[7]', empr_year = '$tab[8]', empr_categ = '2', empr_codestat = '2', empr_modif = '$date_auj', empr_sexe = '$sexe', ";
427                    $req_update .= "empr_login = '$login', empr_password= '$tab[8]', ";
428                    $req_update .= "empr_date_adhesion = '$date_auj', empr_date_expiration = '$date_an_proch' ";
429                    $req_update .= "WHERE empr_cb = '$tab[0]'";
430                    $update = pmb_mysql_query($req_update, $dbh);
431                    if (!$update) {
432                        print("<b>Echec de la modification du prof suivant (Erreur : ".pmb_mysql_error().") : </b><br />");
433                        for ($i=0;$i<3;$i++) {
434                            print($prof_abrege[$i]." : ".$tab[$i].", ");
435                        }
436                        print("<br />");
437                    }
438                    else {
439                        emprunteur::update_digest($login,$tab[8]);
440                        emprunteur::hash_password($login,$tab[8]);
441                        $cpt_maj ++;
442                    }
443                    gestion_groupe($tab[9], $tab[0], $dbh);
444                    $j++;
445                    break;
446                case 2:
447                    break;
448                default:
449                    print("<b>Echec pour le prof suivant (Erreur : ".pmb_mysql_error().") : </b><br />");
450                    for ($i=0;$i<3;$i++) {
451                        print($prof_abrege[$i]." : ".$tab[$i].", ");
452                    }
453                    print("<br />");
454                    break;
455            }
456        }
457
458        //Affichage des insert et update
459        print("<br />_____________________<br />");
460        if ($cpt_insert) print($cpt_insert." Prof créés. <br />");
461        if ($cpt_maj) print($cpt_maj." Profs modifiés. <br />");
462        fclose($fichier);
463    }
464   
465}
466
467
468
469
470switch($action) {
471    case 1:
472        if ($imp_elv){
473            import_eleves($Sep_Champs, $dbh, $type_import);
474        }
475        elseif ($imp_prof) {
476            import_profs($Sep_Champs, $dbh, $type_import);
477        }
478        else {
479            show_import_choix_fichier($dbh);
480        }
481        break;
482    case 2:
483        break;
484    default:
485        show_import_choix_fichier($dbh);
486        break;
487}
488
489?>
490
491
492
Note: See TracBrowser for help on using the repository browser.