Código PHP:
<?php
////////////////////////////////////////////////////
//
// script inportar phpbb
//
////////////////////////////////////////////////////
define('IN_PHPBB', true);
$phpbb_root_path = './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
require($phpbb_root_path . 'includes/functions_user.' . $phpEx);
$user->session_begin();
$auth->acl($user->data);
$user->setup('ucp');
$import_dbname = '1336182_bkaiclan';
$import_table = 'nuked_users';
$champ_user = 'pseudo';
$champ_password = 'pass';
$champ_email = 'mail';
define('MD5_PASSWORD', true);
if ($import_dbname == $dbname)
{
$import_db = $db;
}
else
{
$db_passwd = 'lol123';
$import_db = new $sql_db();
$import_db->sql_connect($dbhost, $dbuser, $dbpasswd, $import_dbname, $dbport, false, true);
unset($db_passwd);
}
$success_list=array();
$ignore_list = array();
$group_name = 'REGISTERED';
$sql = 'SELECT group_id
FROM ' . GROUPS_TABLE . "
WHERE group_name = '" . $db->sql_escape($group_name) . "'
AND group_type = " . GROUP_SPECIAL;
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if (!$row)
{
trigger_error('NO_GROUP');
}
$group_id = $row['group_id'];
$sql = "SELECT $champ_user, $champ_password, $champ_email FROM $import_table";
$result = $import_db->sql_query($sql);
while($row = $import_db->sql_fetchrow($result))
{
$error = array();
$data = array(
'username' => utf8_normalize_nfc($row[$champ_user]),
'password' => $row[$champ_password],
'email' => strtolower($row[$champ_email]),
);
$error = validate_data($data, array(
'username' => array(
array('string', false, $config['min_name_chars'], $config['max_name_chars']),
array('username', '')),
'email' => array(
array('string', false, 6, 60),
array('email')),
));
$error = preg_replace('#^([A-Z_]+)$#e', "(!empty(\$user->lang['\\1'])) ? \$user->lang['\\1'] : '\\1'", $error);
if (!sizeof($error))
{
$user_row = array(
'username' => $data['username'],
'user_password' => (defined('MD5_PASSWORD')) ? $data['password'] : phpbb_hash($data['password']),
'user_pass_convert' => (defined('MD5_PASSWORD')) ? 1 : 0,
'user_email' => $data['email'],
'group_id' => (int) $group_id,
'user_timezone' => (float) $config['board_timezone'],
'user_dst' => $config['board_dst'],
'user_lang' => basename($user->lang_name),
'user_type' => USER_NORMAL,
'user_actkey' => '',
'user_ip' => $user->ip,
'user_regdate' => time(),
'user_inactive_reason' => 0,
'user_inactive_time' => 0,
);
$user_id = user_add($user_row);
if ($user_id === false)
{
trigger_error('NO_USER', E_USER_ERROR);
}
$success_list[] = $data['username'];
}
else
{
$ignore_list[] = '<td>' . $data['username'] . '</td><td>' . implode('<br />', $error) . '</td>';
}
}
echo '<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body>';
if (sizeof($success_list))
{
Echo '<b>Los siguientes usuarios han importado en la base de datos phpbb éxito:</b>' . implode(' - ', $success_list);
}
if (sizeof($ignore_list))
{
echo '<hr /><b>Los siguientes usuarios no han sido importados:</b><br />
<table border="1">
<tr><th>Usuario</th><th>Motivo del error</th>
<tr>' . implode('</tr><tr>', $ignore_list) . '</tr></table>';
}
echo '</body></html>';
?>