¡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 - 14:00 h (Hora España) 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

COMPLEMENTOS Inicio dual (login & registro)
#1

9
Mejor respuesta del mensaje Inicio dual (login & registro)Este "mod" es dual ya que tiene el login y registro, esta realizado de forma que al ingresar a al sitio tengas que registrarte o loguearte de forma obligatoria...

una vista previa de como quedará
[img]Registrate o inicia tu sesión para ver este contenido[/img]

Bueno comencemos 
1 - En header.php buscamos
   define('TS_TEMA'$tsTema); 

y debajo agregamos
   # El tipo de inicio 
   define('INICIO_DUAL'TRUE); 

2 - Buscamos en index.php
// Checamos...
if($tsCore->settings['c_allow_portal'] == && $tsUser->is_member == true && $_GET['do'] == 'portal') {
   // Portal/mi
   include('inc/php/portal.php');
} else {
   // Home
   include('inc/php/posts.php');


y la reemplazamos por
/**
 * Dependiendo de la configuración
 * Solo aplicará el dual si ambos son "TRUE"
*/
if(INICIO_DUAL AND !$tsUser->is_member) include 'inc/php/dual.php';
else {
   // Checamos...
   if(intval($tsCore->settings['c_allow_portal']) == && $tsUser->is_member == true && $_GET['do'] == 'portal') {
      // Portal/mi
      include('inc/php/portal.php');
   } else {
      // Home
      include('inc/php/posts.php');
   }



3 - Debes agradecer para ver el contenido... y los ponen en las rutas correspondientes
 * dual.php en inc/php/
 * dual.css en tema/css/
 * dual.js en tema/js/
 * t.dual.tpl en tema/templates/

4 - Ir a inc/class/c.registro.php y buscan
        $tsData = array(
            'user_nick' => $tsCore->parseBadWords($_POST['nick']),
            'user_password' => $tsCore->parseBadWords($_POST['password']),
            'user_email' => $_POST['email'],
            'user_dia' => $_POST['dia'],
            'user_mes' => $_POST['mes'],
            'user_anio' => $_POST['anio'],
            'user_sexo' => $_POST['sexo'] == 'f' '0' 1,
            'user_pais' => strtoupper($_POST['pais']),
            'user_estado' => $_POST['estado'],
            'user_terminos' => $_POST['terminos'],
            'user_captcha' => $_POST['g-recaptcha-response'],
            'user_registro' => time(),
        ); 

y la reemplazan por
        $tsData = array(
            'user_nick' => $tsCore->parseBadWords($_POST['nick']),
            'user_password' => $tsCore->parseBadWords($_POST['password']),
            'user_email' => $_POST['email'],
            'user_sexo' => $_POST['sexo'] == 'f' '0' 1,
            'user_terminos' => $_POST['terminos'],
            'user_captcha' => $_POST['response'],
            'user_registro' => time(),
        ); 

un poco más abajo buscan (Cabe recalcar que deben tener las claves del reCaptcha v3 agregadas)
        /** reCAPTCHA **/
        $recaptcha 'Registrate o inicia tu sesión para ver este contenido . $tsCore->settings['skey'] . '&response=' . $tsData['user_captcha'] . '&remoteip=' . $tsCore->getIP();
        // Obtener respuesta
        $response = file_get_contents($recaptcha);
        // Extraer resultado
        $ext1 = explode('"success"
:', $response);
        $ext2 = explode('
,', $ext1[1]);
        // Comprobar resultado
        $valid = trim($ext2[0]);
        // Devolver respuesta si es incorrecta
        if ($valid == '
false') {
            return '
recaptchaNo hemos podido validar tu humanidad';
        } 

y la reemplazan por
        /**
         * Comprobamos el recaptcha v3
        */
      $response $tsCore->reCaptcha($tsData['user_captcha']);
      if (!$response) return 'recaptcha: No hemos podido validar tu humanidad'

más abajo buscamos
            // INSERTAMOS EL PERFIL
            db_exec(array(__FILE____LINE__), 'query''INSERT INTO `u_perfil` (`user_id`, `user_dia`, `user_mes`, `user_ano`, `user_pais`, `user_estado`, `user_sexo`) VALUES (\''.(int)$tsData['user_id'].'\', \''.(int)$tsData['user_dia'].'\', \''.(int)$tsData['user_mes'].'\', \''.(int)$tsData['user_anio'].'\', \''.$tsCore->setSecure($tsData['user_pais']).'\', \''.$tsCore->setSecure($tsData['user_estado']).'\', \''.(int)$tsData['user_sexo'].'\')');
            db_exec(array(__FILE____LINE__), 'query''INSERT INTO `u_portal` (`user_id`) VALUES (\''.$tsData['user_id'].'\')'); 

y la reemplazamos por
         db_exec([__FILE____LINE__], "query""INSERT INTO u_perfil (user_id, p_avatar, user_sexo) VALUES({$tsData['user_id']}, 1, {$tsData['user_sexo']})");
         db_exec([__FILE____LINE__], "query""INSERT INTO u_portal (user_id) VALUES({$tsData['user_id']})");
         
         
# Generamos automaticamente un avatar
         $avatar "Registrate o inicia tu sesión para ver este contenido";
         $copy "../../files/avatar/$2_$3.jpg";
         $sizes = [50120];
         foreach ($sizes as $size) {
             copy(
                 str_replace('$1'$tsData['user_nick'], $avatar), 
                 str_replace
(['$2''$3'], [$tsData['user_id'], $size], $copy)
             )
         

5 - Luego en inc/class/c.core.php buscamos
   /*
       getIP
   */
   function getIP(){ 

y arriba agregamos
   # Función para comprobar reCaptcha v3
    public function reCaptcha(string $publico '') {
       $http http_build_query([
           'secret' => $this->settings["skey"], 
           
'response' => $publico, 
           
'remoteip' => $this->getIP()
       ]);
       $init curl_init();
      curl_setopt($initCURLOPT_URL"Registrate o inicia tu sesión para ver este contenido");
      curl_setopt($initCURLOPT_POST1);
      curl_setopt($initCURLOPT_POSTFIELDS$http);
      curl_setopt($initCURLOPT_RETURNTRANSFERtrue);
      $response curl_exec($init);
      curl_close($init);
      return json_decode($responsetrue);
    

Y eso sería todo, espero no olvidarme de nada!
Cualquier problema o duda comenten!
Responder
#2

1
Gracias, vale para cualquier tema?, uso el tema identi.
Responder
#3

2
(02-16-2022, 11:30 PM)Ezequiel escribió: Debes agradecer para ver el contenido...Gracias, vale para cualquier tema?, uso el tema identi.

Todo excepto el diseño, lo tendrías que adaptar un poco...y tiene el dual.css el cual trate de hacerlo de forma neutra, o sea valida para todo los temas.
Responder
#4

0
Hola, gracias por el complemento.
¿Se puede poner que no sea obligatorio al entrar en la web?, que se vea cuando le des al bóton logín o registro.
Saludos
Responder
#5

1
(04-11-2022, 09:28 AM)Viyumo escribió: Debes agradecer para ver el contenido...Hola, gracias por el complemento.
¿Se puede poner que no sea obligatorio al entrar en la web?, que se vea cuando le des al bóton logín o registro.
Saludos

Hola, si esta detallado en el punto 1 y 2... Al hacer desde un botón tienes que agregar esto al .htaccess, buscas 
#EXTRAS 
y arriba pegas
RewriteRule ^registro/$ inc/php/duo.php?pagina=registro [QSA,L]
RewriteRule ^login/$ inc/php/duo.php?pagina=login [QSA,L
Responder
#6

0
(04-13-2022, 04:42 PM)Miguel92 escribió: Debes agradecer para ver el contenido...
(04-11-2022, 09:28 AM)Viyumo escribió: Debes agradecer para ver el contenido...Hola, gracias por el complemento.
¿Se puede poner que no sea obligatorio al entrar en la web?, que se vea cuando le des al bóton logín o registro.
Saludos

Hola, si esta detallado en el punto 1 y 2... Al hacer desde un botón tienes que agregar esto al .htaccess, buscas 
 
#EXTRAS 
y arriba pegas
RewriteRule ^registro/$ inc/php/duo.php?pagina=registro [QSA,L]
RewriteRule ^login/$ inc/php/duo.php?pagina=login [QSA,L

Gracias
Responder


Compartir en:

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)