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
$pass= md5(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.")";
$result= mysql_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."')";
$result= mysql_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 !
@+
|
|