Fork me on GitHub




(1) 2 3 »


importer des utilisateurs.
Newbie
Inscrit: 28/09/2006 10:46
Messages: 18
Bonjour,

Je vais créer un sites xoops qui sera le lien entre 400 personnes environ... J'ai pour cela une base de donnée avec les noms et adresses des400 membres

Existe t il un module ou une bidouille permettant d'importer automatiquement dans la base xoops les 400 noms et adresses sans avoir à les taper tous un par un ?

De même, au début, je pense attribuer un mot de passe commun, que chacun personnalisera comme bon lui semble par la suite... Est il possible que la troisième colonne de mon fichier xls contienne le même mot de passe pour tous et de l'importer ensuite automatiquement dans xoops ?

Je ne sais pas si ma question est très claire... Je suis prêt à la préciser si besoin

Merci.

Posté le : 01/04/2008 01:44
Partager Twitter Partagez cette article sur GG+
Re: importer des utilisateurs.
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Salut,
ce post te met-il sur la voie ?
https://www.frxoops.org/modules/newbb/ ... t_id=63888#forumpost63888

Change juste un truc dans le code pour placer les membres dans le groupe des utilisateurs enregistrés.

$numgroup ='4';
par
$numgroup 
='2';

Dans ton fichier excel, tu peux définir un mot de passe, qui sera "crypté" comme il faut par ce script avant d'être inséré dans la base de données
Attention : que tes membres changent bien ce mot de passe, sinon en connaissant le pseudo de quelqu'un d'autre ils pourraient se connecter au compte de leur choix !

Posté le : 01/04/2008 11:56
Partager Twitter Partagez cette article sur GG+
Re: importer des utilisateurs.
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Oups attention, en fait c'est uniquement pour xoops 2.2.3
Je jette un oeil pour corriger vite fait.

Posté le : 01/04/2008 13:44
Partager Twitter Partagez cette article sur GG+
Re: importer des utilisateurs.
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Je viens de faire quelques changements, et ça semble être ok avec xoops 2.0.18

<?php
// christian@frxoops.org - https://www.frxoops.org
// Import users from a csv or text file into xoops 2.0.18
// variables
$bdd"nom de la base";
$host"localhost";
$user"utilisateur de la base";
$pass"mot de passe de la base";
$prefix"préfixe"//préfixe des tables, sans indiquer le _
$separator ";";//séparateur uilisé dans le fichier à importer
$regdate=time();
$fichier "membres.txt"//nom du fichier à parcourir
//file structure : pseudo;email;password en clair

//ne pas laisser de ligne vide à la fin du fichier à importer

mysql_connect($host,$user,$pass) or die("Unable to connect Database");
mysql_select_db($bdd);

//Open file for read - Ouverture du fichier contenant les membres
if (file_exists($fichier))
$fp fopen("$fichier""r");
else{ 
// unknown file - fichier non trouvé
echo "File not found !<br />Import stopped.";
exit();
}
echo 
'Begin file import : <b>'.$fichier.'</b><br /><br />';
echo 
'<table border="1" cellspacing="3">';
echo 
'<tr><td>UID</td><td>Pseudo</td>';
// import line by line - import ligne par ligne
while (!feof($fp)){
$ligne fgets($fp,4096);
$liste explode($separator,$ligne); //create array 
$uname $liste[0];
$email $liste[1];
$passmd5(trim($liste[2])); 
$user_mailok "0"//n'autorise pas l'administrateur à envoyer des mails par défaut - mettre à un (1) dans le cas contraire

// Add user in xoops_users table
$query "insert into ".$prefix."_users (uname, email, pass, user_regdate, user_mailok) VALUES ('".$uname."', '".$email."', '".$pass."', '".$regdate."' , ".$user_mailok.")";
$resultmysql_query($query);
$uid mysql_insert_id();

//Add user in group : registered users / utilisateurs enregistrés
$numgroup ='2';//changer cette valeur pour affecter le membre à un autre groupe
$query "insert into ".$prefix."_groups_users_link (groupid, uid) VALUES('".$numgroup."', '".$uid."')";
$resultmysql_query($query);

if (
mysql_error()){
echo 
"Error in database : ".mysql_error();
echo 
"</table><br /><br /><b>Importation stoppée.</b><br /><br />";
fclose($fp);
exit();
}else{
echo 
"<tr><td> ".$uid." </td><td> ".$uname." </td></tr> ";
}
}

echo 
"</table><br />Import finished successfully.";//Import réalisé avec succès

fclose($fp);
?>


Pense à renseigner les variables au début du fichier (connexion à la base).
j'ai ajouté une variable pour le préfixe, comme ça, tu le saisis une fois et on en parle plus.
Par défaut, il te faut donc un fichier nommé membres.txt
Contenant un membre par ligne, avec les données du membre séparées par un point-virgule.
Par défaut, l'autorisation d'envoi de mails par l'administrateur est désactivée, tu peux changer la valeur de la variable si tu souhaites le contraire.
Par défaut, les membres créés sont placés dans le groupe des utilisateurs enregistrés (2), tu peux changer la valeur de la variable si tu veux les placer dans un autre groupe.

Je te laisse tester (si possible sur une base de test), et revenir nous dire si c'est ok, au cas où ça puisse servir à d'autres !

Posté le : 01/04/2008 14:14
Partager Twitter Partagez cette article sur GG+
Re: importer des utilisateurs.
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Bonjour,
est-ce que tu as pu tester ? ça fonctionne ?

Posté le : 08/04/2008 14:02
Partager Twitter Partagez cette article sur GG+
Re: importer des utilisateurs.
Newbie
Inscrit: 28/09/2006 10:46
Messages: 18
Merci pour tout cela, mais je n'ai pas pu tester encore, car mon site a planté...

Je dois refaire autrement, et alors, je tenterai tout cela.

Merci 1000 fois.

Posté le : 22/04/2008 15:02
Partager Twitter Partagez cette article sur GG+
Re: importer des utilisateurs.
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Pas de problème

Posté le : 22/04/2008 15:55
Partager Twitter Partagez cette article sur GG+
Re: importer des utilisateurs.
Guest_
Merci Blueteen !!!

... ça frise le génie, impeccable (xoops 2.0.17) !!
(je me demande comment tu as fait pour pondre un script pareil avec un avatar aussi banal )

En plus on peut le compléter en fonction des données dont on dispose on départ dans son fichier csv. Dans mon cas, j'avais à ajouter le Nom réel et le lieu de résidence. Pourvu qu'on les place dans le bon ordre (celui des champs de la base de données), ça rentre aussi

<?php
// christian@frxoops.org - https://www.frxoops.org
// Import users from a csv or text file into xoops 2.0.18
// variables
$bdd"nom de la base";
$host"localhost";
$user"utilisateur de la base";
$pass"mot de passe de la base";
$prefix"préfixe"//préfixe des tables, sans indiquer le _
$separator ";";//séparateur uilisé dans le fichier à importer
$regdate=time();
$fichier "membres.txt"//nom du fichier à parcourir
//file structure : pseudo;email;password en clair

//ne pas laisser de ligne vide à la fin du fichier à importer

mysql_connect($host,$user,$pass) or die("Unable to connect Database");
mysql_select_db($bdd);

//Open file for read - Ouverture du fichier contenant les membres
if (file_exists($fichier))
$fp fopen("$fichier""r");
else{ 
// unknown file - fichier non trouvé
echo "File not found !<br />Import stopped.";
exit();
}
echo 
'Begin file import : <b>'.$fichier.'</b><br /><br />';
echo 
'<table border="1" cellspacing="3">';
echo 
'<tr><td>UID</td><td>Pseudo</td>';
// import line by line - import ligne par ligne
while (!feof($fp)){
$ligne fgets($fp,4096);
$liste explode($separator,$ligne); //create array 

// Ajout Nom réel 
$name $liste[0];
// Fin Ajout Nom réel

$uname $liste[1];
$email $liste[2];

// Ajout Nom lieu de résidence 
$user_from $liste[3];
// Fin Ajout

$passmd5(trim($liste[4])); 

$user_mailok "0"//n'autorise pas l'administrateur à envoyer des mails par défaut - mettre à un (1) dans le cas contraire


// Add user in xoops_users table
$query "insert into ".$prefix."_users (name, uname, email, user_from, pass, user_regdate, user_mailok) VALUES ('".$name."', '".$uname."', '".$email."', '".$user_from."', '".$pass."', '".$regdate."' , ".$user_mailok.")";

$resultmysql_query($query);
$uid mysql_insert_id();

//Add user in group : registered users / utilisateurs enregistrés
$numgroup ='2';//changer cette valeur pour affecter le membre à un autre groupe
$query "insert into ".$prefix."_groups_users_link (groupid, uid) VALUES('".$numgroup."', '".$uid."')";
$resultmysql_query($query);

if (
mysql_error()){
echo 
"Error in database : ".mysql_error();
echo 
"</table><br /><br /><b>Importation stoppée.</b><br /><br />";
fclose($fp);
exit();
}else{
echo 
"<tr><td> ".$uid." </td><td> ".$uname." </td></tr> ";
}
}

echo 
"</table><br />Import finished successfully.";//Import réalisé avec succès

fclose($fp);
?>


Encore merci !

@+

Posté le : 29/04/2008 02:42
Partager Twitter Partagez cette article sur GG+
Re: importer des utilisateurs.
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Ravi que ça te soit utile

Posté le : 29/04/2008 20:25
Partager Twitter Partagez cette article sur GG+
Re: importer des utilisateurs.
Newbie
Inscrit: 26/02/2007 23:12
De 67
Messages: 4
Bonjour,

Je me permets de rebondir sur ce post.

Dans le cadre d'un changement de CMS, je compte reprendre la BD "users" de mon ancien site pour l'importer dans xoops_users (seul import à prévoir pour le moment).

L'importation me semble facile (grâce à vous ), mais je souhaiterais en plus respecter le champ "user_regdate".

Mon ancien CMS n'utilisant pas le même système (semble-t-il), peut être que quelqu'un pourra m'expliquer à quoi correspond le nombre dans ce champ ainsi qu'une méthiode pour transformer facilement une date "calendaire" en une date "xoops" à importer dans ce champ.

Merci d'avance

Mok

Posté le : 06/08/2008 14:00
Partager Twitter Partagez cette article sur GG+

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



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

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