Fork me on GitHub




(1) 2 »


Importer des users depuis un fichier texte
Aspirant
Inscrit: 21/12/2004 13:18
De Suisse
Messages: 71
Je précise tout de suite que j'ai fait une recherche avec "importer", et je suis tombé sur des forums certes intéressants, mais qui n'existaient plus !

Bon, maintenant le problème :

j'ai environ 300 élèves dans mon école, plus une certaine quantité de profs... Je voudrais bien en faire automatiquement des membres de mon site. J'ai la liste de tout ce beau monde sur FileMaker, que je peux exporter sous plein de formats différents, donc je ne me fais pas de souci pour cette partie-là.

Existe-t-il une telle fonction dans xoops ?

Un souci qui me vient à l'instant : dans la table mysql, les users ont leur mot de passe crypté... comment cela serait-il géré ?

Merci !

Posté le : 05/07/2005 12:01

Edité par romain21 sur 05/07/2005 12:04:36
Edité par Christian sur 24/07/2005 23:18:16
Partager Twitter Partagez cette article sur GG+
Re: Importer des users depuis un fichier texte
Xoops accro
Inscrit: 04/02/2003 01:54
De Le Mans
Messages: 12273
Tu peux utiliser ce script et le personnaliser si besoin.

Posté le : 05/07/2005 12:25
Partager Twitter Partagez cette article sur GG+
Re: Importer des users depuis un fichier texte
Aspirant
Inscrit: 21/12/2004 13:18
De Suisse
Messages: 71
Merci Christian !

Posté le : 05/07/2005 22:44

Le site dont je m'occupe...
Mac OS X.4, PowerBook G4
Partager Twitter Partagez cette article sur GG+
Re: Importer des users depuis un fichier texte
Aspirant
Inscrit: 21/12/2004 13:18
De Suisse
Messages: 71
Euuuh... finalement, j'aurais encore une petite question...

Y aurait-il, ô luxe extrême pour moi, la possibilililité d'insérer le mot de passe ? Je me fais un petit souci quant à la "traduction" en code crypté qu'on voit dans la base sql. Va-t-il être inséré tel quel, ou sera-t-il codé ? Le suspense est total.

Mais je vois se pointer là, à l'horizon, le spectre de la lumière qui va illuminer mon existence de xoopsien. Telles l'eau, la connaissance et la maîtrise me sont nécessaires pour vivre. Raaâah, siouplait, de l'aaiide..

J'espère avoir mérité un petit coup de main, après ces belles déclamations allant dans le sens du poil de tout ceux qui font mon admiration la plus sincère de vous, bande de moines modernes, qui recopiez sans cesse du clavier les morceaux de code, ou les liens vers de meilleurs horizons. Avez-vous seulement conscience que vous êtes les artisans de la connaissance, dans vos ateliers isolés. Là-bas, au loin, Bill Ier a déjà enrôlé des hordes d'esclaves, tandis que vous, vous êtes libres. Que le miel emplisse vos bouches, la bière aussi, tant qu'on y est, que votre lit soit douillet, et faites gaffe au barbQ, ce serait trop con de cramer la pinède, pasqu'alors pour ce qui est de la 'nède, c'est fichu !

Bonnes vacances, prenez soin de boire suffisamment, sans vergogne ! Santé !

PS : c'est joli ce que je viens de dire ? Moui, mais y a encore le blème

Posté le : 23/07/2005 22:43

Le site dont je m'occupe...
Mac OS X.4, PowerBook G4
Partager Twitter Partagez cette article sur GG+
Re: Importer des users depuis un fichier texte
Xoops accro
Inscrit: 04/02/2003 01:54
De Le Mans
Messages: 12273
Dans le script dont je t'ai donné le lien, tu as ceci à la ligne 46 : $pass= sprintf("%s\n",md5($user));

on prend donc le pseudo et on le crypte en md5 pour insertion dans la base de données.

Sinon pour ta prose, tu viens de faire une soirée apéro ou c'est toujours comme çà ?

Posté le : 23/07/2005 22:49
Partager Twitter Partagez cette article sur GG+
Re: Importer des users depuis un fichier texte
Aspirant
Inscrit: 21/12/2004 13:18
De Suisse
Messages: 71
Ben en fait, c'est des âneries tout ce que j'ai bien pu raconter, j'ai même pas exposé le problème correctement...

je voudrais bien en fait qu'il trime le mot de passe depuis le fichier .csv. Ces temps, ce que j'obtiens n'est pas très bon...

J'ai fait un fichier .csv avec excel.

les champs ressemblent à ça :

nom;pseudo;test@mondomaine.com;password

ce que j'obtiens en passant mon fichier est
Begin read file import users2.csv
item 173 
aaronschmid add
item 174 
ccard add
item 175 
ugnon@ecoles-sainte-croix.ch add
item 176 
ert765 emiliebrandt add
item 177 
sainte-croix.ch add
item 178 
justineprior add
item 179 
stichelli@ecoles-sainte-croix.ch add
item 180 
si@ecoles-sainte-croix.ch add
item 181 
ix.ch add
item 182 
oles-sainte-croix.ch add
item 183 
h add

Import successfully


ce qui n'est pas bon.

En fait, j'ai fait un essai en bricolant :
while (!feof($fp)){
    
$ligne fgets($fp,4096);
    
$liste explode(";",$ligne); // create array 
    
$name $liste[0];  // first field
    
$user $liste[1];  // second field
    
$pass $liste[3]; // third field

// Test for email, if email blank we use a address email eq user@eq.edu.au    
        
{
        
$emailtrim($liste[2]);
    }
    
$passmd5($pass);


J'ai vu que tu n'avais pas fait ce script en personne ? Si en plus c'était possible de supprimer l'histoire du mail inexistant. Perso, je n'y connais tellement rien que je n'ose pas trop supprimer du code...

merci !

PS : j'ai pas bu pour l'autre post, mais des fois j'ai du temps pour déconner...

Posté le : 24/07/2005 00:30

Le site dont je m'occupe...
Mac OS X.4, PowerBook G4
Partager Twitter Partagez cette article sur GG+
Re: Importer des users depuis un fichier texte
Xoops accro
Inscrit: 04/02/2003 01:54
De Le Mans
Messages: 12273
j'ai pas retesté mais cela devrait donner quelque chose comme ceci :
$user $liste[2]; // first field
    
$name $liste[1]; // second field
    
$email$liste[3];
    
$passsprintf("%sn",md5($liste[4]));

Posté le : 24/07/2005 00:53
Partager Twitter Partagez cette article sur GG+
Re: Importer des users depuis un fichier texte
Aspirant
Inscrit: 21/12/2004 13:18
De Suisse
Messages: 71
J'ai fait le test, c'est toujours pas concluant. On dirait qu'il ne reconnaît pas vraiment le point-virgule comme séparateur, ou alors il s'emmêle les pinceaux je sais pas où.

Voici le code que j'ai modifié, j'ai carrément supprimé tout le code lié à la fonction de création d'email s'il est absent.

// import line by line
while (!feof($fp)){
    
$ligne fgets($fp,4096);
    
$liste explode(";",$ligne); // create array 
    
$user $liste[1]; // nom réel
    
$name $liste[2]; // username = pseudo
    
$email$liste[3]; // email
    
$passsprintf("%sn",md5($liste[4])); //password  

    // Add line in xoops_users table
     
$query "INSERT INTO xoops_users  (uname, name, email, pass) VALUES('$user', '$name','$email','$pass')";


En fait, je ne comprends pas ce qu'est ce 4096. C'est la longueur maximale des champs ? En ce cas, je ne sais pas comment faire, c'est quoi cette valeur ? Il se base pas seulement sur les points-virgule ? Le reste, j'arrive assez bien à cerner de quoi il s'agit, mais voilà, c'est la limite de mon cervelet.

Autre chose encore : est-il vraiment nécessaire d'utiliser excel ou n'importe quele fichier texte avec l'extension .csv suffit-il ? J'ai eu l'impression que si j'utilisais le fichier users2.csv inclus dans le dossier que j'ai téléchargé, tout se passait bien, mais si je le modifiais, je n'obtenais pas les résultats escomptés. L'encodage du fichier, genre ISO-894839 machin-chouette joue-t-il un rôle ?

En tout cas merci pour les éléments de réponse, je sens que je ne suis plus très loin.

A moins encore qu'il n'y ait plus simple : j'ai remarqué qu'on pouvait, depuis phpmyadmin, insérer des trucs depuis un fichier texte séparé par des virgules. Ce serait une solution ?

merci encore...

[EDIT] je viens de faire des tests, et effectivement, c'est un peu lié au fichier .csv. curieusement, si j'uploade le fichier original, c'est ok, les noms sont corrects, les champs sont bien remplis. Dès que je le touche, rien ne va plus...

Posté le : 24/07/2005 09:51

Edité par romain21 sur 24/07/2005 10:02:18

Le site dont je m'occupe...
Mac OS X.4, PowerBook G4
Partager Twitter Partagez cette article sur GG+
Re: Importer des users depuis un fichier texte
Xoops accro
Inscrit: 04/02/2003 01:54
De Le Mans
Messages: 12273
Je viens de faire quelques corrections, il manquait une apostrophe dans l'ordre sql d'insertion de la table xoops_users, et le tableau commence avec la valeur 0.

Voici une version qui fonctionne, je l'ai testé.

Attacher un fichier:


zip xoopsv2_import_users.zip Taille: 1.20 KB; Hits: 189

Posté le : 24/07/2005 11:58
Partager Twitter Partagez cette article sur GG+
Re: Importer des users depuis un fichier texte
Aspirant
Inscrit: 21/12/2004 13:18
De Suisse
Messages: 71
Alors là, respect man !

Trop fort le type qui te fait ça un dimanche, pour rire et pour rendre service. Je suis en pourparlers avec la Municipalité pour une statue, je te redis pour l'inauguration.

Mais en fait, j'ai toujours un blème...

Je dois en fait être incapable de générer un fichier .csv qui tienne la route. En effet, chaque fois que je modifie le fichier .csv, rien ne va plus. Par contre, si je fais un test avec ton fichier à toi, les 4 enregistrements sont ok. Quoique, il me semble qu'à la dernière importation, il a mis 5 enregistrements... Je vais checker.

En effet, voici le résumé de la dernière import :
Begin file import users3.csv
Enregistrement 141 
Bill ajoutÈ
Enregistrement 142 
Mark ajoutÈ
Enregistrement 143 
Jim ajoutÈ
Enregistrement 144 
Roger ajoutÈ
Enregistrement 145 
ajoutÈ

Importation terminÈe
avec succÈs.


En fait, voici comment mes noms sont faits : il s'agit du prénom+nom de famille, le tout sans aucun espace et tout en minuscules. Ensuite, pour le pseudo, je recommence avec ce schéma. Pour le mail, c'est prénom.nom@ecoles-blablalba.ch et pour le password, c'est généré aléatoirement par filemaker.

Je vais encore faire un test en exportant qqch depuis filemaker pour voir, mais je désespère gentiment...

Les noms sont-ils trop longs ? Certains ne sont pas piqués des vers !

Merci encore !!!! à bientôt...

[EDIT] Bon, la quatrième dimension n'est pas loin, soyons prudent, romain...


Je viens de faire exactement ceci :

depuis filemaker, j'exporte en tabulations. (le point virgule n'est pas géré, j'ai pas le choix)
ensuite, avec un éditeur de texte à 2 balles, je fais rechercher-remplacer. J'uploade le truc, et cette fois c'est bon...

je pige pas, mais bon, ça marche. En même temps, je sais pas si je saurai le refaire l'année prochaine... Dis-moi que tu ne prends pas de vacances et je tâcherai de te donner un peu de job !

La statue, c'est bronze ou or massif ?

:banana: :bravo: :merci:

Posté le : 24/07/2005 20:59

Edité par romain21 sur 24/07/2005 21:15:03

Le site dont je m'occupe...
Mac OS X.4, PowerBook G4
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
(1) 2 »



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

106 Personne(s) en ligne (95 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 106 | Plus ...