Advertisement
Guest User

Untitled

a guest
Feb 18th, 2012
206
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.66 KB | None | 0 0
  1. <?php
  2. define('IN_PHPBB', true);
  3. $phpbb_root_path = './phpBB3/';
  4. $phpEx = substr(strrchr(__FILE__, '.'), 1);
  5. include($phpbb_root_path . 'common.' . $phpEx);
  6. require($phpbb_root_path . 'includes/functions_user.' . $phpEx);
  7. $user->session_begin();
  8. $auth->acl($user->data);
  9. $user->setup('ucp');
  10. $import_dbname = 'ma_base_de_donnees';
  11. $import_table = 'table_utilisateurs';
  12. $champ_user = 'pseudo';
  13. $champ_password = 'password';
  14. $champ_email = 'email';
  15. define('MD5_PASSWORD', true);
  16. if ($import_dbname == $dbname)
  17. {
  18. $import_db = $db;
  19. }
  20. else
  21. {
  22. $db_passwd = 'mon_mot_de_passe_mysql';
  23. $import_db = new $sql_db();
  24. $import_db->sql_connect($dbhost, $dbuser, $dbpasswd, $import_dbname, $dbport, false, true);
  25. unset($db_passwd);
  26. }
  27. $success_list=array();
  28. $ignore_list = array();
  29.  
  30. $group_name = 'REGISTERED';
  31. $sql = 'SELECT group_id
  32. FROM ' . GROUPS_TABLE . "
  33. WHERE group_name = '" . $db->sql_escape($group_name) . "'
  34. AND group_type = " . GROUP_SPECIAL;
  35. $result = $db->sql_query($sql);
  36. $row = $db->sql_fetchrow($result);
  37. $db->sql_freeresult($result);
  38. if (!$row)
  39. {
  40. trigger_error('NO_GROUP');
  41. }
  42. $group_id = $row['group_id'];
  43.  
  44. $sql = "SELECT $champ_user, $champ_password, $champ_email FROM $import_table";
  45. $result = $import_db->sql_query($sql);
  46. while($row = $import_db->sql_fetchrow($result))
  47. {
  48. $error = array();
  49. $data = array(
  50. 'username' => utf8_normalize_nfc($row[$champ_user]),
  51. 'password' => $row[$champ_password],
  52. 'email' => strtolower($row[$champ_email]),
  53. );
  54. $error = validate_data($data, array(
  55. 'username' => array(
  56. array('string', false, $config['min_name_chars'], $config['max_name_chars']),
  57. array('username', '')),
  58. 'email' => array(
  59. array('string', false, 6, 60),
  60. array('email')),
  61. ));
  62. $error = preg_replace('#^([A-Z_]+)$#e', "(!empty(\$user->lang['\\1'])) ? \$user->lang['\\1'] : '\\1'", $error);
  63. if (!sizeof($error))
  64. {
  65. $user_row = array(
  66. 'username' => $data['username'],
  67. 'user_password' => (defined('MD5_PASSWORD')) ? $data['password'] : phpbb_hash($data['password']),
  68. 'user_pass_convert' => (defined('MD5_PASSWORD')) ? 1 : 0,
  69. 'user_email' => $data['email'],
  70. 'group_id' => (int) $group_id,
  71. 'user_timezone' => (float) $config['board_timezone'],
  72. 'user_dst' => $config['board_dst'],
  73. 'user_lang' => basename($user->lang_name),
  74. 'user_type' => USER_NORMAL,
  75. 'user_actkey' => '',
  76. 'user_ip' => $user->ip,
  77. 'user_regdate' => time(),
  78. 'user_inactive_reason' => 0,
  79. 'user_inactive_time' => 0,
  80. );
  81. $user_id = user_add($user_row);
  82. if ($user_id === false)
  83. {
  84. trigger_error('NO_USER', E_USER_ERROR);
  85. }
  86. $success_list[] = $data['username'];
  87. }
  88. else
  89. {
  90. $ignore_list[] = '<td>' . $data['username'] . '</td><td>' . implode('<br />', $error) . '</td>';
  91. }
  92. }
  93. echo '<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body>';
  94. if (sizeof($success_list))
  95. {
  96. Echo '<b>Les utilisateurs suivants ont été importés dans la base phpbb avec succès:</b>' . implode(' - ', $success_list);
  97. }
  98. if (sizeof($ignore_list))
  99. {
  100. echo '<hr /><b>les utilisateurs suivants n\'ont pu être enregistrés:</b><br />
  101. <table border="1">
  102. <tr><th>Pseudo</th><th>Raison de l\'échec</th>
  103. <tr>' . implode('</tr><tr>', $ignore_list) . '</tr></table>';
  104. }
  105. echo '</body></html>';
  106. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement