Chargement... Veuillez patientez...

Bienvenue sur le site de !

(site non professionnel !)

Flash Infos !!

PI | FYI

Site Non Professionel !Wink

Total Users

2955 enregistrés
1 Aujourd hui
4 Cette semaine
187 Ce mois-ci
Dernier: GeorgeLeava

Menu principal

Accueil
News
Me contacter
- - - - - - -
Piano
Mon Joomla
Liens
- - - - - - -

Autre menu

Site Map

Boîte à Meuh !

feed image
feed image
Google

Accueil arrow News arrow Joomla arrow Joomla - Insérer des utilisateurs en csv

Joomla - Insérer des utilisateurs en csv

Convertir en PDF Version imprimable Suggérer par mail
<head>
<title>Remplir la base Joomla de users</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php

//exemple de fichier csv correct juste pour la table users
//101;jbburin;jaybee; Cet e-mail est protégé contre les robots collecteurs de mails, votre navigateur doit accepter le Javascript pour le voir ;65968904c18cd0984542561b8905fbd1:h8QhdIyKBg4eBJmS;;0;0;18;2008-05-30 19:36:53;2008-05-30 19:37:11;;
//102;Judoka;Judoka; Cet e-mail est protégé contre les robots collecteurs de mails, votre navigateur doit accepter le Javascript pour le voir ;da902902308404aa008034d6f917f2bc:tfwPE626ySFNhQia;;0;0;18;2008-05-30 21:26:26;2008-05-30 21:26:53;;

//exemple de fichier csv correct si en plus on rajoute des champs ds CB (ici on a juste rajouté la valeur testautretable que l'on pourra insérer facilement dans une autre table)
//101;jbburin;jaybee; Cet e-mail est protégé contre les robots collecteurs de mails, votre navigateur doit accepter le Javascript pour le voir ;65968904c18cd0984542561b8905fbd1:h8QhdIyKBg4eBJmS;;0;0;18;2008-05-30 19:36:53;2008-05-30 19:37:11;;;testautretable
//102;Judoka;Judoka; Cet e-mail est protégé contre les robots collecteurs de mails, votre navigateur doit accepter le Javascript pour le voir ;da902902308404aa008034d6f917f2bc:tfwPE626ySFNhQia;;0;0;18;2008-05-30 21:26:26;2008-05-30 21:26:53;;;testautretable


//Database details à modifier
$sql_hostname = 'localhost';
$sql_user = 'root';
$sql_password = '';
$mambo_database_name = 'espace_imprim';

//CSV file details

$path_to_csv = 'importtestcsv.csv'; //this is the name of your csv file, or text file
$csv_delimiter = ";"; //choose your delimiter
$testing_mode = 0; // testing = 0 (zero) -> WRITE to the database
// testing = 1 -> do NOT WRITE to the database


//Connect to database

$mambodb = mysql_connect($sql_hostname, $sql_user, $sql_password) or die ('Connection not possible : ' . mysql_error());
echo" <b>-----------------------------------<br>";
echo" Connected to the database in" ;
echo"<br> ------------------------------------</b><br>";
print(" $sql_hostname");

mysql_select_db($mambo_database_name, $mambodb) or die ('Can not find database ' .$mambo_database_name . ': ' . mysql_error());

//Add a new ID for the database and print it

$current_id = mysql_query('SELECT MAX(id) FROM jos_users');
while ($row = mysql_fetch_array($current_id)) {
$old_id = $row[0];
$new_id = $old_id + 1;
echo" <br><b>-----------------------------------<br>";
echo"<b>Database ID's</b>";
echo"<br> ------------------------------------</b><br>";
print ("Old ID : " . $row[0]);

print ("<br>New ID : " . $new_id) ;

}//end if

//Open CSV and read it

$handle = fopen ($path_to_csv,"r");
while ($data = fgetcsv ($handle, 1000, $csv_delimiter)) {

$id = $data[0];
$name = mysql_escape_string($data[1]);
$username = mysql_escape_string($data[2]);
$email = $data[3];
$password = md5($data[4]);
$usertype = $data[5];
$block = $data[6];
$sendEmail = $data[7];
$gid = $data[8];
$registerdate = $data[9];
$lastvisitDate = $data[10];
$activation = $data[11];
$params = $data[12];
$firstnametest = $data[13];

// on récupère les champs du fichier csv
// rajouter autant de case dans le csv et récupérer les ici comme ça $new_case = $data[nombre d'avant+1]  (voir ci-dessus)

//Print CSV details to screen

echo"<br>";
echo" <b>-----------------------------------<br>";
print ("Lines read from CSV");
echo"<br> ------------------------------------</b>";
print ("<br><b>Username:</b> " . $data[2]);
print ("<br><b>Real Name: </b>" . $data[1]);
print ("<br><b>Email Address:</b> " . $data[3]);
print ("<br><b>Password: </b>" . $data[4]);
echo"<br>";


//Find Users currently in the database

echo" <b>---------------------------------------------<br>";
print ("Users currently in the database");
echo"<br> --------------------------------------------</b>";
$result=mysql_query("SELECT username FROM jos_users order by username",$mambodb);
while ($myrow = mysql_fetch_array($result))
{

//Print Users to screen

ECHO"<table>";
echo"<tr>";
echo $myrow["username"];
echo"</tr>";
ECHO"</table>";

}//end while

//This bit should add the data to the database from the csv file

if ($testing_mode == 0) { //try just two = signs for a straight comparison (not including type)

//insertion comme il faut dans la table jos_users, et aussi pour que ça apparaisse dans le backoffice les insertions dans jos_core_acl_aro et jos_core_acl_groups_aro_map

mysql_query("INSERT INTO jos_users (id, name, username, email, password , usertype, block, sendEmail, gid, registerDate, lastvisitDate,activation,params)
VALUES ('$new_id', '$name', '$username', '$email', '$password', '$usertype', '$block', '$sendEmail', '$gid', '$registerdate', '0000-00-00 00:00:00','$activation','$params')")
or die("<br> Tabela não actualizada. Erro : " . mysql_error());

mysql_query("INSERT INTO jos_core_acl_aro (aro_id , section_value , value , order_value , name , hidden)
VALUES ('$new_id', 'users', '$new_id', '0', '$name', '0')")
or die("<br> Jos_core_acl_aro not updated. Error is: " . mysql_error());

mysql_query("INSERT INTO jos_core_acl_groups_aro_map (group_id , section_value , aro_id)
VALUES ('$gid', '', '$new_id')") or die("<br> Jos_core_acl_groups_aro_map not updated. Error is: " . mysql_error());


// si on a aussi le composant CB, rajouter l'insertion dans cette table   ATTENTION  il faut rajouter le même nombre de champs qu'il y a dans la DB
//Donc attention lors de l'installation de plugin notemment des champs se rajoute !!
mysql_query("INSERT INTO `jos_comprofiler` (`id`, `user_id`, `firstname`, `middlename`, `lastname`, `hits`, `message_last_sent`, `message_number_sent`, `avatar`, `avatarapproved`, `approved`, `confirmed`, `lastupdatedate`, `registeripaddr`, `cbactivation`, `banned`, `banneddate`, `unbanneddate`, `bannedby`, `unbannedby`, `bannedreason`, `acceptedterms`)
VALUES ('$new_id', '$new_id', '$firstnametest', 'NULL', 'NULL', 0, '0000-00-00 00:00:00', 0, 'NULL', 1, 1, 1, '0000-00-00 00:00:00', '', '', 0, NULL, NULL, NULL, NULL, NULL, 0)") or die("<br> Jos_core_acl_groups_aro_map not updated. Error is: " . mysql_error());


}//end if

//This prints to screen the latest users added to the database

switch ($testing_mode) {
case 0:
print ("<br><b>------------------------------");
print ("<br>Latest Users Added<br>");
print ("------------------------------<br></B>");

// This prints to the screen how many users added and date-time of process.

print ("<b>User:</b>" . $name . " <b>Name:</b> $username ");
break;
case 1:
print ("<br> MODO DE TESTE : Utilizador " . $name . " Should of been inserted in the database.");
break;
default:
print ("<br> \$testing_mode variável incorrecta : Utilizador " . $name . " teria sido inserido na base de dados.");


}//end switch
$new_id++;
} // end while

fclose ($handle);

mysql_close($mambodb);

$num_records = $new_id - $old_id - 1;
print ( "<br><br>" . $num_records . " users added .");
print("<br> Processed on : " . $registerdate);

?>



</body>
</html>
Commentaires
Rechercher
Seul les utilisateurs enregistrés peuvent écrire un commentaire!

3.23 Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

 
< Précédent   Suivant >

Se connecter






 
© 2024 Partitions piano, astuces Joomla sur le blog de Jb Burin
Joomla! est un logiciel libre distribué sous licence GNU/GPL.