PHP-Code:
<?php
/*
Script zur Erstellung von Public Frontend Benutzern
Das Script nutzt als Quelle eine CSV-Datei.
Aufbau der CSV-Datei:
Name;Username;E-Mail;Passwort
*/
// Datenbankeinstellungen
$host = "localhost";
$user = "root";
$pass = "passwort";
$database = "db_name";
// CSV-Datei angeben
$csv_datei = "test.csv";
// Tabellennamen
$table_mos_users = "mos_users";
$table_mos_core_acl_aro = "mos_core_acl_aro";
$table_mos_core_acl_groups_aro_map = "mos_core_acl_groups_aro_map";
$table_mos_core_acl_aro_groups = "mos_core_acl_aro_groups";
// Verbindung zur Datenbank herstellen
$db = @mysql_connect($host, $user, $pass);
// Benutzergruppe
$mos_users_usertype = "Registered";
// ##### ab hier muss nichts mehr geändert werden #####
// höchste id der Tabelle mos_users auslesen
if($db)
{
if(@mysql_select_db($database, $db))
{
$sql_mos_user_id = "SELECT MAX(id) FROM $table_mos_users";
$mos_users_id = @mysql_query($sql_mos_user_id);
$row = @mysql_fetch_row($mos_users_id);
$mos_users_id = $row[0];
}
}
// group_id aus der Tabelle mos_core_acl_aro_groups
// Siehe Gruppenname
if($db)
{
if(@mysql_select_db($database, $db))
{
$sql_mos_users_gid = "SELECT $table_mos_core_acl_aro_groups.group_id FROM $table_mos_core_acl_aro_groups ";
$sql_mos_users_gid .= "WHERE $table_mos_core_acl_aro_groups.name='$mos_users_usertype' ";
$mos_users_gid = @mysql_query($sql_mos_users_gid);
$row = @mysql_fetch_row($mos_users_gid);
$mos_users_gid = $row[0];
}
}
// höchste id der Tabelle mos_core_acl_aro auslesen
if($db)
{
if(@mysql_select_db($database, $db))
{
$sql_mos_core_acl_aro_aro_id = "SELECT MAX(aro_id) FROM $table_mos_core_acl_aro";
$mos_core_acl_aro_aro_id = @mysql_query($sql_mos_core_acl_aro_aro_id);
$row = @mysql_fetch_row($mos_core_acl_aro_aro_id);
$mos_core_acl_aro_aro_id = $row[0];
}
}
$mos_users_block = 0;
$mos_users_sendEmail = 0;
// Registrierungsdatum
$mos_users_registerDate = date("Y-m-d H:i:s");
$mos_users_lastvisitDate = "0000-00-00 00:00:00";
$mos_users_activation = "";
$mos_users_params = "";
// Gruppe auswählen
$mos_core_acl_aro_section_value = "users";
// gleich $mos_users_id setzen
$mos_core_acl_aro_value = $mos_users_id;
$mos_core_acl_aro_order_value = "";
$mos_core_acl_aro_hidden = "";
// gleich $mos_users_gid setzen
$mos_core_acl_groups_aro_map_group_id = $mos_users_gid;
$mos_core_acl_groups_aro_map_section_value = "";
// gleich $mos_core_acl_aro_aro_id setzen
$mos_core_acl_groups_aro_map_aro_id = $mos_core_acl_aro_aro_id;
// DB-Abfragen, nur zum Hinweis
$sql_abfrage_mos_users = "INSERT INTO `mos_users` (`id`, `name`, `username`, `email`, `password`, `usertype`, `block`, `sendEmail`, `gid`, `registerDate`, `lastvisitDate`, `activation`, `params`) VALUES (67, '0002', '0002', 'test2@test2.de', '255e88d20562e9b63f53d6684309ebb6', 'Registered', 0, 0, 18, '2005-09-05 00:43:22', '0000-00-00 00:00:00', '', '')";
$sql_abfrage_mos_core_acl_aro = "INSERT INTO `mos_core_acl_aro` (`aro_id`, `section_value`, `value`, `order_value`, `name`, `hidden`) VALUES (14, 'users', '66', 0, '0001', 0)";
$sql_abfrage_mos_core_acl_groups_aro_map = "INSERT INTO `mos_core_acl_groups_aro_map` (`group_id`, `section_value`, `aro_id`) VALUES (18, '', 14);";
if($db)
{
if(@mysql_select_db($database, $db))
{
$row = 1;
$handle = fopen($csv_datei,"r");
while(($data = fgetcsv($handle, 10000, ",")) !== FALSE)
{
$num = count($data);
$row++;
for($c=0; $c<$num; $c++)
{
$aaa = explode(";",$data[$c]);
$mos_users_name = $aaa[0];
$mos_users_username = $aaa[1];
$mos_users_email = $aaa[2];
$mos_users_password = md5($aaa[3]);
$mos_users_id++;
$sql_insert_mos_users = "INSERT INTO $table_mos_users (`id`, `name`, `username`, `email`, `password`, `usertype`, `block`, `sendEmail`, `gid`, `registerDate`, `lastvisitDate`, `activation`, `params`) ";
$sql_insert_mos_users .= "VALUES ('$mos_users_id', '$mos_users_name', '$mos_users_username', '$mos_users_email', '$mos_users_password', '$mos_users_usertype', '$mos_users_block', '$mos_users_sendEmail', '$mos_users_gid', '$mos_users_registerDate', '$mos_users_lastvisitDate', '$mos_users_activation', '$mos_users_params')";
mysql_query($sql_insert_mos_users);
$mos_core_acl_aro_aro_id++;
$mos_core_acl_aro_value++;
$mos_core_acl_aro_name = $aaa[0];
$sql_insert_mos_core_acl_aro = "INSERT INTO $table_mos_core_acl_aro (`aro_id`, `section_value`, `value`, `order_value`, `name`, `hidden`) ";
$sql_insert_mos_core_acl_aro .= "VALUES ('$mos_core_acl_aro_aro_id', '$mos_core_acl_aro_section_value', '$mos_core_acl_aro_value', '$mos_core_acl_aro_order_value', '$mos_core_acl_aro_name', '$mos_core_acl_aro_hidden')";
mysql_query($sql_insert_mos_core_acl_aro);
$mos_core_acl_groups_aro_map_aro_id++;
$sql_insert_mos_core_acl_groups_aro_map = "INSERT INTO $table_mos_core_acl_groups_aro_map (`group_id`, `section_value`, `aro_id`) ";
$sql_insert_mos_core_acl_groups_aro_map .= "VALUES ('$mos_core_acl_groups_aro_map_group_id', '$mos_core_acl_groups_aro_map_section_value', '$mos_core_acl_groups_aro_map_aro_id')";
mysql_query($sql_insert_mos_core_acl_groups_aro_map);
}
}
fclose($handle);
}
}
?>
Lesezeichen