Importer des données en csv

Il est possible d’importer des données suivant des scripts pré paramétrées mais qui sont modifiables.

Pour lancer le menu import, prenez l’option : administration -> import

import_script.php permet les imports dans la base de donnees de fichier au format csv telecharge :

Exemple de format de fichier à importer (utilisateur.txt):

nom,login,pwd,profil
"Georges DANDIN";"Georges";"21232f297a57a5a743894a0e4a801fc3";"3"
"Raymond DAVOS";"Raymond";"fe01ce2a7fbac8fafaed7c982a04e229";"3"
"Albert DUPONT";"Albert";"05c7e24700502a079cdd88012b5a76d3";"6"

La description du transfert se fait dans le fichier extension import_nomobjet.inc dans /sql/…:

exemple : import_script.php?obj=utilisateur

dans utilisateur.import .inc , il est defini:

le message affiché en import :
    $import= "Insert utilisateur" : Message

la table d importation
    $table= "utilisateur"

le clé primaire si elle est automatique (mise en place d une séquence)
ce champ est vide sinon
    $id="utilisateur"

Le verrouillage de la base de sonnées
    $verrou = 1  mise a jour de la base
            = 0 pas de mise a jour pour une phase de test

Le mode debug
    $DEBUG  =1 affichage des enregistrements a l ecran
            =0 pas d affichage

La mise en place d un fichier d'erreur :
    $fic_erreur=1 fichier erreur
               =0 pas de fichier d erreur

La mise en place d un fichier de rejet reprenant les enregistrements csv rejetés
ce fichier contient les enregistrements en erreur et permet de relancer le
traitement apres correction (manuelle)
    $fic_rejet=1 fichier de rejet pour relance traitement
              =0 pas de fichier rejet

La première ligne affiche le nom des champs :
$ligne1=1 la premiere ligne contient les noms de champs
       =0 sinon

Les zones obligatoires : tableau $obligatoire

    $obligatoire['nom']=1;// obligatoire = 1
    $obligatoire['login']=1;// obligatoire = 1

les tests d'existence d'une clé secondaire

    $exist['profil']=1 => 0=non / 1=oui
    $sql_exist["profil"]= "select profil from profil where profil = '"

La liste des champs à insérer
il faut mettre en commentaire les zones non traitées
    $zone['nom']='0' => la 1ère zone contient le nom
    $zone['login']=1 => la 2éme zone contient le login
    $zone['pwd']='2' => la 3éme zone contient le mot de passe (crypte)
    $zone['profil']='3' => la 4éme zone contient le profil

La valeur par defaut :
En effet, si $zone['profil']="" on peut definir un profil par defaut
    $defaut['profil']='5' Le profil par defaut  sera 5