Fork me on GitHub

Rapport de message :*
 

Re: importer des utilisateurs.

Titre du sujet : Re: importer des utilisateurs.
par Anonyme sur 29/04/2008 02:42:32

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 !

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

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