Verán, poseo un phpbb3 basado en prosilver. Y externamente a el he creado un registro de usuarios en el cual crea un usuario inactivo. El script es este:
SPOILER_SHOW
Código: Seleccionar todo
<?php
/*
* Script para registrar usuarios en phpBB3 desde una página externa.
* Implementado por Alorse para phpBB-es.COM
*/
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : 'foro/'; // Cambiar ./foro por la ruta de tu foro
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
require($phpbb_root_path . 'includes/functions_user.' . $phpEx); // Archivo necesario para el registro
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();
// Si el usuario ya se encuentra registrado e idenficado le mustra un aviso en vez del formulario de registro
if ($user->data['is_registered'] || isset($_REQUEST['not_agreed'])) {
echo '#usreger';
}
//Buscamos cual es el grupo por defecto
$coppa = (isset($_REQUEST['coppa'])) ? ((!empty($_REQUEST['coppa'])) ? 1 : 0) : false;
$group_name = ($coppa) ? 'REGISTERED_COPPA' : '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);
$group_id = $row['group_id'];
// Tomamos los valores del formulario.
$username = request_var('username', '');
$email = request_var('email', '');
$password = phpbb_hash(request_var('password', '', true));
// Pasamos todos lo datos de registro a un vector.
$user_row = array(
'username' => $username,
'user_email' => $email,
'user_password' => $password,
'group_id' => $group_id,
'user_type' => '1',
'user_new' => 1, // Entrara al grupo de nuevos usuarios registrados.
);
$query = 'SELECT username, user_email
FROM ' . USERS_TABLE . '
WHERE username = "' . $username . '"
OR user_email = "' . $email . '"';
$res = $db->sql_query($query);
// Verificamos que el usuario no exista y que las contraseñas sean iguales.
if ($db->sql_fetchrow($res)) {
echo '#usreger';
} else {
// La funcion user_add() del /includes/functions_user.php se encarga del resto.
user_add($user_row);
echo '#usrgreat';
}
?>
Código: Seleccionar todo
mysql_query("UPDATE foro.phpbb_users set user_type='0' WHERE username = '".$com['UsuarioNombre']."' and user_email='".$com ['UsuarioCorreo']."'");
Muchisimas gracias
