AH! là, ça le fait! Grand merci, reconnaissance éternelle etc...
Du coup je me suis attaqué au problème de la version 2.2.3a parceque je trouve très intéressant de pouvoir utiliser un login court et impersonnel avec un pseudo choisi. Sauf que, puisque j'entre mes membres en automatique, ils n'ont pas de moyen de modifier le pseudo attrivué. Mais bon, je n'aurai qu'à trouver un formulaire qui me récoltera les pseudos avant l'inscription au site (si quelqu'un a une idée la-dessus, elle sera la bienvenue).
Pour en revenir à la configuration différente des fichiers de la 2.2.3a par rapport à la 2.01.3, je suis parvenu à entrer ma liste et à activer mes membres avec le script modifié comme suit:
<? php
// christian@frxoops.org - https://www.frxoops.org
// Import users from a csv or text file into xoops 2.2.3a
// variables
$bdd= "claudel_xoops";
$host= "localhost";
$user= "root";
$pass= "";
$regdate=time();
$fichier = "eleves.txt"; // data file as : pseudo,login,nom-prénom,email,password
// remove line break on last record
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 '.$fichier.'<br>';
// import line by line
while (!feof($fp)){
$ligne = fgets($fp,4096);
$liste = explode(";",$ligne); // create array
$pseu = $liste[0];
$user = $liste[1];
$name = $liste[2];
$email= $liste[3];
$pass= md5(trim($liste[4]));
// Add user in xoops_users table
$query = "insert into cx_users (uname, loginname, name, email, pass ) VALUES ('$pseu', '$user', '$name','$email', '$pass')";
$result= mysql_query($query);
$uid = mysql_insert_id();
//Create profile
$query = "INSERT INTO cx_user_profile (profileid, user_regdate, user_mailok) VALUES('$uid', '$regdate', '1' )";
$result= mysql_query($query);
//Add user in group : users élèves
$numgroup ='4';
$query = "INSERT INTO cx_groups_users_link (groupid, uid) VALUES('$numgroup', '$uid')";
$result= mysql_query($query);
if (mysql_error()){
echo "Error in database : ".mysql_error();
echo "<br>Importation stoppée.";
fclose($fp);
exit();
}else{
echo "Record ".$uid." - ".$user." added<br> ";
}
}
echo "<br>Import finished successfully.";
fclose($fp);
?>
à partir d'un fichier texte comme:
BAUCHE A .;BAUANN;1ES1-Annaick BAUCHE;monmail@home.fr;AB010788;
BIDEAU P .;BIDPIE;1ES1-Pierre BIDAUD;monmail@home.fr;PB290888;
BOSSARD J .;BOSJAC;1ES1-Jacqueline BOSSARD;monmail@home.fr;JB270888;
Il resterait à adapter pour gérer encore un groupe profs et un groupe administration, mais c'est déjà un bon début, non?
Encore merci !