¡Bienvenido a PHPost!

Para participar en el foro, descargar complementos y acceder al chat, es necesario tener una cuenta activa. Por favor, regístrate utilizando un correo electrónico válido para completar la activación.

Usamos BanaHosting para alojar tanto la demo oficial como este mismo foro de Risus Nova. Cumple todos los requisitos del script (PHP 8, mod_rewrite, SSL gratis) — si quieres usar el mismo hosting que nosotros, aquí tienes el enlace.

⚠️ Aviso de seguridad

Risus Nova solo se distribuye de forma segura y verificada a través de phpost.es. Hemos detectado copias modificadas en sitios de terceros que contienen código malicioso, backdoors y funciones ocultas diseñadas para el robo de credenciales y datos sensibles. No confíes en descargas provenientes de foros, canales de Telegram o webs externas; no podemos garantizar la integridad de esos archivos. Tu seguridad es nuestra prioridad: Descarga siempre la versión oficial desde el botón inferior para asegurar una instalación limpia y libre de amenazas.

🔄 Mantente actualizado

Al estar en desarrollo activo, recibe cambios constantes — échale un vistazo de vez en cuando al changelog y a las notas de administración para estar al día de qué ha cambiado.

Risus Nova 2.0 Estable En desarrollo activo Actualizado: 24/06/2026 - 19:00 h (Hora España) Próxima actualización: 25/06/2026 - 15:00 h Desarrollo Tema: 75% (Ver notas de la versión) (Ver Demo) Descargar desde phpost.es

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

ACTUALIZACIÓN Iniciar sesión con email
#1

2
Mejor respuesta del mensaje Iniciar sesión con email
Iniciar sesión con email

Esto es bastante rápido y fácil.
1 - Buscamos en inc/class/c.user.php 
 
function loginUser($username$password$remember FALSE$redirectTo NULL){
        global 
$tsCore;

        
/* ARMAR VARIABLES */
        
$username strtolower($username);    // ARMAR VARIABLES
        
$pp_password md5(md5($password) . $username);
        
/* CONSULTA */
        
$pwtype = (db_exec('num_rows'db_exec(array(__FILE____LINE__), 'query''SHOW COLUMNS FROM u_miembros LIKE \'user_pwtype\'')) == 1) ? 'user_pwtype,' '';      
        
$query db_exec(array(__FILE____LINE__), 'query''SELECT user_id, user_password, ' $pwtype ' user_activo, user_baneado FROM u_miembros WHERE LOWER(user_name) = \''.$username.'\' LIMIT 1');
        
//
        
$data db_exec('fetch_assoc'$query);
        
        if(empty(
$data)) return '0: El usuario no existe.';
        
//
           
if($data['user_pwtype']){
               
$other_passwords = array();
               
$other_passwords[] = sha1($username $password); // SMF 1.1.x, SMF 2.0.x
            
$other_passwords[] = md5($password); // Zinfinal
            //
            
if(in_array($data['user_password'], $other_passwords)){
                
// UPDATE
                
db_exec(array(__FILE____LINE__), 'query''UPDATE u_miembros SET user_password = \''.$tsCore->setSecure($pp_password).'\', user_pwtype = \'0\' WHERE user_id = '.$data['user_id'].'');
                
//
                
$data['user_password'] = $pp_password;
            }
           }
        
// CHECAMOS
        
if($data['user_password'] != $pp_password){
            return 
'0: Tu contraseña es incorrecta.';
        } else {
            if(
$data['user_activo'] == 1){
                
// Actualizamos la session
                
$this->session->update($data['user_id'], $rememberTRUE);
                
// Cargamos la información del usuario
                
$this->loadUser(true);
                
// COMPROBAMOS SI TENEMOS QUE ASIGNAR MEDALLAS
                
$this->DarMedalla();                
                
/* REDERIGIR */
                
if($redirectTo != NULL$tsCore->redirectTo($redirectTo);    // REDIRIGIR
                
else return TRUE;
            } else return 
'0: Debes activar tu cuenta';
        }
    } 

y la reemplazaremos por
 
function loginUser($username$password$remember FALSE$redirectTo NULL){
        global 
$tsCore;
        
# Variable
        
$username strtolower($username);
        
# Filtramos si es nombre o email
      
$filter = (filter_var($usernameFILTER_VALIDATE_EMAIL)) ? 'email' 'name';
        
# Consultamos
        
$data db_exec('fetch_assoc'db_exec(array(__FILE____LINE__), 'query''SELECT user_id, user_name, user_password, user_activo, user_baneado FROM u_miembros WHERE LOWER(user_'.$filter.') = \''.$username.'\' LIMIT 1'));
        
# Comprobamos que el usuario exista
        
if(empty($data)) return '0: El usuario no existe.';
      
# Comprobamos la contraseña
      
$user = ($filter === 'email') ? strtolower($data["user_name"]) : $username;
      
$check_pass md5(md5($password) . $user);
      if(
$data['user_password'] === $check_pass) {
          
# Comprobamos que el usuario este activo
          
if(intval($data['user_activo']) === 1) {
            
// Actualizamos la session
               
$this->session->update($data['user_id'], $rememberTRUE);
            
// Cargamos la información del usuario
            
$this->loadUser(true);
            
// COMPROBAMOS SI TENEMOS QUE ASIGNAR MEDALLAS
            
$this->DarMedalla();                
                
/* REDERIGIR */
                
if($redirectTo != NULL$tsCore->redirectTo($redirectTo);
                else return 
TRUE;
            } else return 
'0: Debes activar tu cuenta';
        } else return 
'0: Tu contraseña es incorrecta.';
    } 

Y así de fácil se puede hacer el cambio.
Responder


Compartir en:

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)