Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/04/2013, 07:27
hounter
 
Fecha de Ingreso: abril-2013
Mensajes: 12
Antigüedad: 13 años, 6 meses
Puntos: 0
script automatico

he echo este script para importar usuarios y querria que cada vez quese modifico la base de datos se iniciara , lo he hecho en php pero si hay que hacerlo por php ,no me importa . contal de que funcione

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>';
?>