Joomla - Insérer des utilisateurs en csv |
<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>
Seul les utilisateurs enregistrés peuvent écrire un commentaire!
Powered by !JoomlaComment 3.23
3.23 Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved." |