Fork me on GitHub

Rapport de message :*
 

Re: Création d'utilisateurs en nbr à partir d'un fichier

Titre du sujet : Re: Création d'utilisateurs en nbr à partir d'un fichier
par LEMOINE sur 26/02/2011 20:11:06

Comme promis, voici l'adaptation du code de Christian (pour la version 2.3.2) pour un fonctionnement sous 2.5.0

<?php
// christian@frxoops.org - https://www.frxoops.org
// adaptation version 2.5.0 par Eric
// Import users from a csv or text file into XOOPS 2.5.0
// variables

$bdd"xoops25";
$host"localhost";
$user"root";
$pass"";
$prefix"x25"// tables prefix, without _
$separator";";// separator used in original file
$user_regdate=time();// date d'inscription
$fichier "liste2010.csv";// file name to read
// formatage du fichier
// Nom;Identifiant;mail;url_site;Password;groupe


// IMPORTANT : DO NOT LEAVE AN EMPTY LINE IN YOUR ORIGINAL DOCUMENT (fichier.csv)

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

//Open file for read 
if (file_exists($fichier))
$fp fopen("$fichier""r");
else{ 
// unknown file 
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
while (!feof($fp)){
$ligne fgets($fp,4096);
$liste explode($separator,$ligne); //create array 


// Add real name
$name $liste[0];
// End

// Add real name
$uname $liste[1];
// End

// Add real name
$email $liste[2];
// End

// Add website
$url $liste[3];
// End

// Add Password
$passmd5(trim($liste[4]));
// End

// Add website
$user_regdate time(); 
// End

// Add avatar
$user_avatar "blank.gif";
// End

$attachsig "0";// 1=signature attachée

$rank "0";// Choose rank 1

$theme "zetagenesis";// nom du theme

$notify_method "0";// 0=pas de notification

$user_mailok "1";// Choose 1 if you allow administrator to send email

$numgroup $liste[5];// choose Group number 2=Elv 4=Prof 5=ProfMod 6... pour classes (en fonction des groupes existants)

$umode "flat";// affichage commentaires : "flat"=a plat "nest"=emboite "thread"=par conversation

// Add user in xoops_users table
$query "insert into ".$prefix."_users (name, uname, email, url, user_avatar, user_regdate, user_sig, pass, attachsig, rank, theme, umode, notify_method, user_occ, user_mailok) VALUES ('".$name."', '".$uname."', '".$email."', '".$url."', '".$user_avatar."', '".$user_regdate."', '".$user_sig."', '".$pass."', '".$attachsig."', '".$rank."', '".$theme."', '".$umode."', '".$notify_method."', '".$user_occ."', '".$user_mailok."')";

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

//Add user in group : registered users per default
$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 stoppee.</b><br /><br />';
fclose($fp);
exit();
}else{
echo 
'<tr><td> '.$uid.' </td><td> '.$uname.' </td></tr> ';
}
}

echo 
'</table><br />Import finished successfully.';

fclose($fp);
?>


J'ai fait peu de modifications, juste quelques ajouts et un peu de documentation du code. La structure du fichier est dans le code.

Bon courage et merci encore Beru et jlz78
Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

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