¡Bienvenido a PHPost!

Para participar en el foro, descargar complementos y acceder al chat, necesitas una cuenta activa.

Descarga Risus Nova 2.0 para comenzar tu comunidad.

Regístrate Descargar Risus Nova

¿Ya tienes cuenta? Inicia sesión aquí

Últimos temas

Estadísticas del foro
  • Mensajes del foro:1,957
  • Temas del foro:614
  • Miembros:1,036
  • Último miembro:carlos007r


Enviado por: Tronlar
06-10-2026, 10:02 PM
Foro: Guías y Tutoriales
- Sin respuestas

Esta guía recoge los hostings que funcionan bien con Risus Nova y los que dan problemas, separados por región. Si tienes dudas sobre si tu hosting es compatible, mira primero la sección de requisitos mínimos.



📋 Requisitos mínimos del servidor
 
  • PHP 8.0+ (recomendado 8.2+)
  • MySQL 5.7+ o MariaDB 10.3+
  • mod_rewrite activado — imprescindible para las URLs
  • allow_url_fopen activado — necesario para el registro con Turnstile
  • Extensión GD — para avatares e imágenes
  • RAM mínima 64MB
  • SSL recomendado — sin él las sesiones pueden fallar
 


❌ Hostings NO compatibles — No usar

Estos hostings tienen limitaciones que impiden el correcto funcionamiento de Risus Nova:

Hostings gratuitos
  • InfinityFree — mod_rewrite desactivado, file_get_contents bloqueado
  • 000webhost — demasiadas restricciones, caídas frecuentes
  • AwardSpace — PHP desactualizado, sin mod_rewrite fiable
  • FreeHostia — timeouts muy cortos, bases de datos muy limitadas
  • Byethost — mod_rewrite bloqueado, sin SSL gratuito
  • ProFreeHost — restricciones en funciones PHP esenciales
  • x10hosting — caídas frecuentes, soporte abandonado

Por qué fallan los hostings gratuitos:
  • mod_rewrite desactivado → error 404 en todas las páginas
  • file_get_contents bloqueado → el registro no funciona
  • Timeouts de 10-30 segundos → las instalaciones se cortan
  • Sin logs de error → imposible depurar problemas
  • Sin SSL → las cookies de sesión fallan en navegadores modernos
 


✅ Hostings compatibles — España

Económicos (1-5€/mes)
  • Hostinger (~1,5-2€/mes) — PHP 8.2 ✅ · mod_rewrite ✅ · SSL gratis ✅ · Recomendado para empezar. Servidores en Europa. Backups semanales.
  • Ionos (~1-2€/mes) — PHP 8.2 ✅ · mod_rewrite ✅ · SSL gratis ✅ · Buen precio de entrada, sube al renovar. Servidores en España.
  • Dinahosting (~3-5€/mes) — PHP 8.x ✅ · mod_rewrite ✅ · SSL gratis ✅ · Empresa española, buen soporte en español, servidores en España.
  • Sered (~2-4€/mes) — PHP 8.x ✅ · mod_rewrite ✅ · SSL gratis ✅ · Económico y fiable, servidores en España.
  • Ginernet (~2-4€/mes) — PHP 8.x ✅ · mod_rewrite ✅ · SSL gratis ✅ · Servidores en España, buen rendimiento.

Calidad media (5-15€/mes)
  • Raiola Networks (~6-12€/mes) — PHP 8.x ✅ · mod_rewrite ✅ · SSL gratis ✅ · Excelente soporte, servidores en España. Muy recomendado si buscas calidad.
  • Webempresa (~5-10€/mes) — PHP 8.x ✅ · mod_rewrite ✅ · SSL gratis ✅ · Muy buena velocidad, soporte especializado.
  • Siteground (~6-10€/mes) — PHP 8.x ✅ · mod_rewrite ✅ · SSL gratis ✅ · Excelente rendimiento, algo más caro al renovar.
  • Nicalia (~5-10€/mes) — PHP 8.x ✅ · mod_rewrite ✅ · SSL gratis ✅ · Destacan por soporte técnico rápido, servidores en España.

VPS España (mayor control)
  • Hetzner (~4-6€/mes) — El más recomendado por precio/rendimiento. Datacenter en Alemania/Finlandia.
  • OVH (~3-8€/mes) — Datacenter en España y Francia. Buena opción europea.
  • Contabo (~4-8€/mes) — Mucha RAM por poco dinero.
 


✅ Hostings compatibles — Latinoamérica

Económicos (1-5 USD/mes)
  • Hostinger (~1,5-2€/mes) — PHP 8.2 ✅ · mod_rewrite ✅ · SSL gratis ✅ · Disponible en toda Latinoamérica, interfaz en español, muy recomendado.
  • Namecheap (~2-3 USD/mes) — PHP 8.x ✅ · mod_rewrite ✅ · SSL gratis ✅ · Buena relación calidad/precio, servidores en EEUU (baja latencia para México y LATAM).
  • Bluehost (~3-4 USD/mes) — PHP 8.x ✅ · mod_rewrite ✅ · SSL gratis ✅ · Muy conocido en Latinoamérica, servidores en EEUU.
  • Hostgator (~2-4 USD/mes) — PHP 8.x ✅ · mod_rewrite ✅ · SSL gratis ✅ · Servidores en EEUU y Brasil, popular en México y Argentina.
  • GoDaddy (~3-5 USD/mes) — PHP 8.x ✅ · mod_rewrite ✅ · SSL gratis ✅ · Muy extendido en Latinoamérica aunque algo más caro.

Hostings locales Latinoamérica
  • WnPower (Argentina, ~2-4 USD/mes) — PHP 8.x ✅ · mod_rewrite ✅ · SSL gratis ✅ · Muy buenas opiniones en Argentina.
  • TuHosting (México, ~2-4 USD/mes) — PHP 8.x ✅ · mod_rewrite ✅ · Buena opción para México.
  • Neubox (México, ~2-4 USD/mes) — PHP 8.x ✅ · mod_rewrite ✅ · Popular en México.
  • DonWeb (Argentina, ~2-4 USD/mes) — PHP 8.x ✅ · mod_rewrite ✅ · Muy popular en Argentina y Chile.

VPS Latinoamérica
  • DigitalOcean (~4-6 USD/mes) — Datacenter en Nueva York, San Francisco y próximamente Brasil. Fácil de configurar.
  • Vultr (~3-5 USD/mes) — Datacenter en São Paulo (Brasil), baja latencia para Sudamérica.
  • Linode/Akamai (~5-6 USD/mes) — Buena opción para toda Latinoamérica.
 


🔍 Comprueba si tu hosting es compatible

Sube este archivo test.php a la raíz de tu hosting y ábrelo en el navegador. Bórralo después.
 
Código PHP:
<?php
echo '<h2>Test compatibilidad Risus Nova</h2>';
echo 
'<p>PHP ' PHP_VERSION ': ' . (version_compare(PHP_VERSION'8.0.0''>=') ? '✅' '❌ Necesitas PHP 8.0+') . '</p>';
echo 
'<p>allow_url_fopen: ' . (ini_get('allow_url_fopen') ? '✅' '❌ Bloqueado') . '</p>';
echo 
'<p>PDO MySQL: ' . (extension_loaded('pdo_mysql') ? '✅' '❌') . '</p>';
echo 
'<p>GD: ' . (extension_loaded('gd') ? '✅' '❌') . '</p>';
echo 
'<p>HTTPS: ' . (!empty($_SERVER['HTTPS']) ? '✅' '⚠️ Sin SSL') . '</p>';
echo 
'<p>RAM: ' ini_get('memory_limit') . ' ' . (intval(ini_get('memory_limit')) >= 64 '✅' '❌ Mínimo 64MB') . '</p>';
echo 
'<hr><strong>Borra este archivo después.</strong>'
 


💡 Recomendación final:
  • España — Para empezar: Hostinger o Sered. Con más presupuesto: Raiola Networks.
  • MéxicoHostinger o Neubox.
  • ArgentinaHostinger o WnPower o DonWeb.
  • Chile, Colombia, Perú y restoHostinger es la opción más universal.
  • VPS para todosHetzner (Europa) o Vultr (Latinoamérica).


¿Usas un hosting que no está en la lista? Deja un comentario con tu experiencia y lo añado.

Imprimir


Enviado por: Tronlar
06-10-2026, 09:27 PM
Foro: Guías y Tutoriales
- Respuestas (2)

Antes de instalar Risus Nova, asegúrate de que tu servidor cumple los requisitos mínimos. Esta guía te ayudará a evitar los problemas más comunes.



📋 Requisitos mínimos
 
  • PHP: 8.0 mínimo — recomendado 8.2+
  • MySQL / MariaDB: 5.7+ / 10.3+ mínimo — recomendado 8.0+ / 10.6+
  • RAM PHP: 64MB mínimo — recomendado 128MB+
  • mod_rewrite: ✅ Obligatorio
  • allow_url_fopen: ✅ Obligatorio
  • Extensión GD: ✅ Obligatorio (para avatares e imágenes)
  • SSL/HTTPS: Muy recomendado
 


❌ Hostings gratuitos — No recomendados

Los hostings gratuitos tienen limitaciones que impiden el correcto funcionamiento de Risus Nova:
 
  • mod_rewrite desactivado → Las URLs amigables dan error 404
  • file_get_contents bloqueado → La verificación Cloudflare Turnstile no funciona en el registro
  • Timeouts muy cortos → Queries o procesos se cortan a mitad
  • Sin acceso a logs → Imposible depurar errores
  • Sin SSL → Las cookies de sesión no funcionan correctamente

InfinityFree, 000webhost, AwardSpace y similares no son compatibles con Risus Nova.
 


✅ Hostings compatibles probados

Económicos (menos de 5€/mes)
  • Hostinger — PHP 8 ✅ · mod_rewrite ✅ · SSL gratis ✅ · Muy recomendado
  • Ionos — PHP 8 ✅ · mod_rewrite ✅ · SSL gratis ✅ · Estable, buen soporte
  • Namecheap — PHP 8 ✅ · mod_rewrite ✅ · SSL gratis ✅ · Buena relación calidad/precio
  • Siteground — PHP 8 ✅ · mod_rewrite ✅ · SSL gratis ✅ · Excelente rendimiento

VPS (mayor control)
  • Hetzner — Muy económico, excelente rendimiento. El más recomendado desde 4€/mes
  • DigitalOcean — Fácil de configurar, buena documentación
  • Contabo — Mucha RAM por poco dinero
  • OVH — Buena opción europea
 


🔍 Comprueba si tu hosting es compatible

Sube este archivo test.php a la raíz de tu hosting y ábrelo en el navegador. Si todo sale con ✅ tu hosting es compatible. Bórralo después de la comprobación.
 
Código PHP:
<?php
echo '<h2>Test de compatibilidad Risus Nova</h2>';

$php_ok version_compare(PHP_VERSION'8.0.0''>=');
echo 
'<p>PHP ' PHP_VERSION ': ' . ($php_ok '✅' '❌ Necesitas PHP 8.0+') . '</p>';

$fgc_ok ini_get('allow_url_fopen');
echo 
'<p>allow_url_fopen: ' . ($fgc_ok '✅' '❌ Bloqueado — el registro no funcionará') . '</p>';

echo 
'<p>PDO MySQL: ' . (extension_loaded('pdo_mysql') ? '✅' '❌') . '</p>';
echo 
'<p>GD (imágenes): ' . (extension_loaded('gd') ? '✅' '❌ Necesario para avatares') . '</p>';
echo 
'<p>HTTPS: ' . (!empty($_SERVER['HTTPS']) ? '✅' '⚠️ Sin SSL — las sesiones pueden fallar') . '</p>';
echo 
'<p>Memoria PHP: ' ini_get('memory_limit') . ' ' . (intval(ini_get('memory_limit')) >= 64 '✅' '❌ Necesitas mínimo 64MB') . '</p>';

echo 
'<hr><p><strong>Borra este archivo después de la comprobación.</strong></p>'
 


💡 Consejo: Para una comunidad pequeña o demo, Hostinger con el plan básico (~1,5€/mes) es la opción más económica recomendada.
Para mayor tráfico, un VPS en Hetzner desde 4€/mes es la mejor relación calidad/precio.

Imprimir


Enviado por: comandante
06-10-2026, 02:39 AM
Foro: Soporte Técnico
- Respuestas (1)

SALE UN ERROR QUE NO DEJA AVANZAR AL SIGUIENTE PASO  Confused
[img]Registrate o inicia tu sesión para ver este contenido[/img]

Imprimir


Enviado por: comandante
06-10-2026, 02:34 AM
Foro: Soporte Técnico
- Respuestas (1)

HAY PROBLEMAS PARA SUBIR IMAGENES, AQUI ME MUESTRA UN ARCHIVO PHP, PERO NO EXISTE EN EL SCRIPT?
[img]Registrate o inicia tu sesión para ver este contenido[/img][img]Registrate o inicia tu sesión para ver este contenido[/img][img]Registrate o inicia tu sesión para ver este contenido[/img]

Imprimir


Enviado por: Tronlar
06-02-2026, 10:37 AM
Foro: Proyectos en Desarrollo
- Respuestas (11)

Hola a todos.
Estoy haciendo una reestructuración completa de PHPost, tanto a nivel visual como funcional. La idea es modernizar la plataforma, hacerla completamente responsive para móviles y tablets, mejorar la experiencia de usuario y adaptarla a las necesidades actuales.
Me gustaría conocer vuestra opinión y recopilar ideas de la comunidad.
 
Diseño y funcionalidades

  • ¿Qué aspectos del diseño actual os gustan y deberían mantenerse?
  • ¿Qué cambiaríais de la interfaz?
  • ¿Qué funciones echáis en falta?
  • ¿Qué elementos os parecen anticuados o poco prácticos?
  • ¿Preferís un diseño más clásico o algo más moderno?
  • ¿Os gustaría un modo oscuro nativo?
  • ¿Qué mejoras os gustaría ver en perfiles, publicaciones, comunidades, mensajes y notificaciones?

Temática de la plataforma

También me gustaría saber qué enfoque creéis que debería tener esta nueva etapa:
  • 📰 Noticias y actualidad.
  • 🎮 Videojuegos.
  • 💻 Tecnología e informática.
  • 🎬 Cine, series y entretenimiento.
  • 🎨 Diseño, fotografía y creatividad.
  • 🌎 Comunidad multipropósito (temas variados y categorías para todo tipo de contenido).
  • 📚 Educación y aprendizaje.
  • 💼 Negocios y emprendimiento.
  • 🔥 Otra (especificad cuál).

Vuestra opinión
  • ¿Qué os haría participar activamente?
  • ¿Qué funciones consideráis imprescindibles hoy en día?
  • ¿Preferís una experiencia más cercana a un foro tradicional o a una red social moderna?
  • ¿Qué comunidades o plataformas os sirven de inspiración?

Toda sugerencia será bienvenida. La intención es construir una plataforma más moderna, rápida, accesible y atractiva para la comunidad, basándome en las opiniones de quienes realmente la van a utilizar.
¡Os leo! 👇



 
[img]Registrate o inicia tu sesión para ver este contenido[/img]
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]

[img]Registrate o inicia tu sesión para ver este contenido[/img]

Imprimir


Enviado por: tutsgang
06-01-2026, 08:58 PM
Foro: Diseños en Desarrollo
- Respuestas (7)

# 🐻 Peluchan v0.1 — Presentación oficial del proyecto

Hola gente,

Hoy quiero presentar **Peluchan v0.1**, un proyecto en el que he estado trabajando desde cero con la idea de construir una comunidad web completa estilo Taringa, pero desarrollada íntegramente por mí, sin templates, sin boilerplates y sin depender de frameworks pesados en el backend.

Peluchan no es solo una web de publicaciones: es una plataforma social completa con sistema de usuarios, posts, shouts, comentarios, mensajería privada, notificaciones, favoritos, rankings, badges, panel de administración y un sistema de actualización pensado para entornos reales de producción.

---

# ¿Qué es Peluchan?

Peluchan es una red social/comunidad web inspirada en el formato clásico de comunidades de contenido, adaptada a una arquitectura moderna y con una filosofía muy clara:

- Frontend moderno y rápido.
- Backend sin frameworks pesados.
- Código hecho desde cero.
- Posibilidad de elegir entre dos backends según el entorno de despliegue.

Esto permite usar Peluchan tanto en un VPS o entorno de desarrollo con Node.js, como en un hosting compartido con cPanel mediante una versión en PHP.

---

## Arquitectura del proyecto

Una de las cosas más importantes de Peluchan es que cuenta con **dos backends intercambiables**:

### Backend Node.js
Pensado para desarrollo y despliegue en VPS.

- Node.js con servidor HTTP nativo.
- Sin Express, sin Fastify, sin frameworks.
- Base de datos en JSON (`db.json`).
- Uso de `bcryptjs`, `jsonwebtoken` y `zod`.

### Backend PHP
Pensado para producción en hosting compartido.

- PHP 8.0+ puro.
- Sin Laravel, sin Symfony, sin frameworks.
- MySQL / MariaDB con PDO.
- JWT HS256 implementado en PHP puro.
- Compatible con hosting compartido y cPanel.

Este enfoque hace que el proyecto sea mucho más flexible y fácil de adaptar según las necesidades de cada instalación.

---

## Stack tecnológico

### Frontend
- React 19.2
- TypeScript 6.0
- Vite 8.0
- Tailwind CSS 4.3
- React Router DOM 7.15
- Lucide React
- Dark mode por defecto

---

## Sistema de usuarios

Peluchan incluye una base social bastante completa:

- Registro con nombre, username, email, contraseña, región y sexo
- Login mediante username o email
- Edición de perfil
- Avatares y estadísticas en tiempo real
- Roles de usuario: `user`, `mod` y `admin`
- Sistema de follow / unfollow
- Notificaciones asociadas a la actividad social

---

## Publicaciones y contenido

### Posts
- CRUD completo
- Título, contenido en BBCode, categoría, tags, thumbnail y fuente
- Sistema de puntos con like/dislike numérico
- Contador de vistas
- Sección de destacados con score dinámico
- Sección de recientes
- 13 categorías distintas

### Shouts
- Publicaciones cortas estilo microblog
- Texto con imagen opcional
- Likes y dislikes
- Comentarios con respuestas anidadas
- Sistema de reshout para citar y compartir
- Score dinámico por actividad reciente

---
[img]Registrate o inicia tu sesión para ver este contenido[/img][img]Registrate o inicia tu sesión para ver este contenido[/img][img]Registrate o inicia tu sesión para ver este contenido[/img][img]Registrate o inicia tu sesión para ver este contenido[/img][img]Registrate o inicia tu sesión para ver este contenido[/img][img]Registrate o inicia tu sesión para ver este contenido[/img][img]Registrate o inicia tu sesión para ver este contenido[/img][img]Registrate o inicia tu sesión para ver este contenido[/img]

DEMO 

Imprimir


Enviado por: Tronlar
05-31-2026, 06:44 PM
Foro: Terminados
- Sin respuestas

HIBP Password Check v1.0
Para Risus Nova 2.0 — PHPost


Verifica automáticamente si la contraseña que elige un usuario ha aparecido en filtraciones de datos conocidas, usando la API de Have I Been Pwned — la base de datos más completa del mundo con más de 800 millones de contraseñas comprometidas.

Si la contraseña está en la lista, se muestra un aviso y se pide al usuario que elija otra. Si la API no responde, se deja pasar sin bloquear al usuario.




🔒 Características
 
  • Verificación en el registro y en el cambio de contraseña
  • La contraseña nunca sale del servidor — usa k-anonymity (solo se envían los primeros 5 caracteres del hash SHA1)
  • Si la API no responde en 3 segundos, se deja pasar sin bloquear
  • Sin base de datos ni instalador — solo dos cambios en PHP
  • Compatible con PHP 7.4+ y 8.x
 


🛡️ ¿Cómo funciona la privacidad?

La contraseña nunca se envía a ningún servidor externo. El proceso es:
 
  1. Se calcula el hash SHA1 de la contraseña localmente
  2. Solo se envían los primeros 5 caracteres del hash a HIBP
  3. HIBP devuelve una lista de hashes que empiezan por esos 5 caracteres
  4. El servidor comprueba localmente si el hash completo está en la lista

Esto se llama k-anonymity y es el método oficial recomendado por HIBP



🛠️ Instalación

Paso 1 — En c.cuenta.php

Buscar:
 
Código:
/*
        loadBloqueos()
    */


Arriba agregar:
 
Código:
public static function checkHIBP($password) {
    $sha1   = strtoupper(sha1($password));
    $prefix = substr($sha1, 0, 5);
    $suffix = substr($sha1, 5);

    $ctx = stream_context_create([
        'http' => [
            'timeout'       => 3,
            'ignore_errors' => true,
            'header'        => "User-Agent: Risus-Nova-HIBP/1.0\r\n",
        ],
    ]);

    $response = @file_get_contents(
        'Registrate o inicia tu sesión para ver este contenido . $prefix,
        false, $ctx
    );

    if ($response === false) return false;

    foreach (explode("\n", $response) as $line) {
        $parts = explode(':', trim($line));
        if (isset($parts[0]) && strtoupper($parts[0]) === $suffix) {
            return (int)($parts[1] ?? 1) > 0;
        }
    }
    return false;
}


Paso 2 — En c.cuenta.php

Buscar:
 
Código:
elseif(strlen($new_passwd) < 5) return array('error' => 'Contrase&ntilde;a no v&aacute;lida.');


Debajo agregar:
 
Código:
elseif(self::checkHIBP($new_passwd)) return array('error' => 'Esta contrase&ntilde;a ha aparecido en filtraciones de datos conocidas. Por seguridad elige una diferente.');


Paso 3 — En c.registro.php

Buscar:
 
Código:
 $key = defined('PASSWORD_ARGON2ID')


Agregar debajo:
 
Código:
// HIBP — Verificar contraseña filtrada
if(!class_exists('tsCuenta')) require_once TS_CLASS . 'c.cuenta.php';
if(tsCuenta::checkHIBP($tsData['user_password'])) return 'password: Esta contraseña ha aparecido en filtraciones de datos conocidas. Por seguridad elige una diferente.';
 



✅ Resultado

Si el usuario intenta usar una contraseña filtrada verá:
Cita:Esta contraseña ha aparecido en filtraciones de datos conocidas. Por seguridad elige una diferente.
 

 
¿Tienes dudas o encuentras algún problema? Déjalo en los comentarios.



Imprimir


Enviado por: Tronlar
05-31-2026, 09:42 AM
Foro: Terminados
- Respuestas (1)

Arcade — Juegos HTML5 v1.0
Para Risus Nova 2.0 — PHPost


Capturas
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]
 


Sección de juegos HTML5 con ranking, podio y valoraciones. Sin Flash, sin plugins — funciona en cualquier navegador moderno. Los juegos se añaden desde el panel admin pegando la URL del embed.


🎮 Características
 
  • Grid de juegos con imagen de portada, partidas jugadas y campeón
  • Iframe seguro — solo dominios de confianza (GameDistribution, itch.io, CrazyGames...)
  • Chat en tiempo real por juego — habla con otros jugadores mientras juegas
  • Podio TOP 3 con avatares y puntuaciones por juego
  • Ranking completo con los 10 mejores de cada juego
  • Envío de puntuación manual al terminar la partida
  • Anti-flood — máximo 1 puntuación por hora por juego
  • Valoración de 1 a 5 estrellas por juego
  • Juegos relacionados en el sidebar
  • 10 categorías por defecto configurables desde el admin
  • Mejores jugadores globales (por juegos ganados)
  • Últimas puntuaciones enviadas
  • Filtros: nuevos, más jugados, mejor valorados, A-Z
  • Panel admin completo — añadir, editar, ocultar, eliminar juegos
  • Diseño responsive
 


🌐 Dónde conseguir juegos HTML5
 
  • GameDistribution.com — Miles de juegos gratuitos con enlace embed
  • itch.io — Juegos indie, muchos con iframe permitido
  • CrazyGames.com — Gran variedad, enlace embed disponible
  • html5games.com — Catálogo de juegos HTML5
  • gamemonetize.com — Juegos gratuitos con embed
 


🛠️ Instalación

Paso 1 — Ejecutar el instalador
 
Código:
Registrate o inicia tu sesión para ver este contenido

Crea las 4 tablas y 10 categorías por defecto.


⚠️ Elimina la carpeta install/ cuando termine.



Paso 2 — Subir los archivos
 
Código:
inc/class/c.arcade.php                              →  inc/class/
inc/php/arcade.php                                  →  inc/php/
t.arcade.tpl                                        →  themes/default/templates/
m.arcade_lista.tpl                                  →  themes/default/templates/modules/
m.arcade_jugar.tpl                                  →  themes/default/templates/modules/
m.admin_arcade.tpl                                  →  themes/default/templates/modules/
arcade.css                                          →  themes/default/css/


Paso 3 — Añadir rutas en .htaccess

Arriba de # FOTOS agregar:

 
Código:
# ARCADE
RewriteRule ^arcade/$ inc/php/arcade.php?action= [QSA,L]
RewriteRule ^arcade/jugar/([0-9]+)/$ inc/php/arcade.php?action=jugar&gid=$1 [QSA,L]
RewriteRule ^arcade-enviar-score.php$ inc/php/arcade.php?action=enviar-score [QSA,L]
RewriteRule ^arcade-votar.php$ inc/php/arcade.php?action=votar [QSA,L]
RewriteRule ^arcade-admin-del.php$ inc/php/admin.php?action=arcade&act=del [QSA,L]
RewriteRule ^arcade-admin-toggle.php$ inc/php/admin.php?action=arcade&act=toggle [QSA,L]
RewriteRule ^arcade-admin-delcat.php$ inc/php/admin.php?action=arcade&act=delcat [QSA,L]


Paso 4 — En admin.php

Buscar:
 
Código:
} elseif($action == 'feed'){


Arriba agregar:
 
Código:
} elseif($action == 'arcade'){
    require_once TS_CLASS . 'c.arcade.php';
    $tsArc = new tsArcade();

    $act = $tsCore->setSecure($_GET['act'] ?? '');
    $smarty->assign('tsAdminArcadeAct', $act);
    $smarty->assign('tsArcadeCats', $tsArc->getCategorias());

    if ($act == 'save') {
        $msg = $tsArc->adminSaveJuego();
        $smarty->assign('tsAdminArcadeMsg', $msg);
        $smarty->assign('tsAdminArcadeAct', 'lista');
        $smarty->assign('tsAdminArcadeJuegos', $tsArc->adminGetJuegos());
    } elseif ($act == 'editar') {
        $gid = (int)($_GET['gid'] ?? 0);
        $juego = db_exec('fetch_assoc', db_exec([__FILE__,__LINE__],'query',"SELECT * FROM g_juegos WHERE game_id='$gid' LIMIT 1"));
        $smarty->assign('tsAdminArcadeJuego', $juego);
    } elseif ($act == 'addcat') {
        $tsArc->adminSaveCategoria();
        $tsCore->redirectTo($tsCore->settings['url'].'/admin/arcade?act=categorias');
    } else {
        $smarty->assign('tsAdminArcadeJuegos', $tsArc->adminGetJuegos());
    }


Paso 5 — En t.admin.tpl al final antes de {/if}:

Agregar:
 
Código:
{elseif $tsAction == 'arcade'}
    {include file='modules/m.admin_arcade.tpl'}


Paso 6 — Añadir en el menú
 
Código:
<li class="tabbed {if $tsPage == 'arcade'}here{/if}" id="tabbedarcade">
    <a title="Arcade" href="{$tsConfig.url}/arcade/">
        Arcade <i class="fa-solid fa-gamepad"></i>
    </a>
</li>


Paso 7 — En main_header.tpl

Buscar:
 
Código PHP:
<link href="{$tsConfig.css}/{$tsPage}.css" rel="stylesheet" type="text/css"


Debajo agregar:
 
Código:
{if $tsPage == 'arcade'}
<link rel="stylesheet" href="{$tsConfig.default}/css/arcade.css"/>
{/if}


Paso 8 — En m.admin_sidemenu.tpl agregan esto donde quieran:
 
Código PHP:
<li><a href="{$tsConfig.url}/admin/arcade"><class="fa-solid fa-gamepad"></iArcade</a></li


Paso 9 — En head_menu.tpl buscar:
 
Código PHP:
<li class="tabbed {if $tsPage == 'tops'}here{/if}" id="tabbedtops">
<
a title="Ir a TOPs" onclick="menu('tops', this.href); return false;" href="{$tsConfig.url}/top/">TOPs <class="fa-solid fa-caret-down"></i></a>
</
li


Debajo agregar:
 
Código PHP:
<li class="tabbed {if $tsPage == 'arcade'}here{/if}" id="tabbedarcade"><a title="Arcade" href="{$tsConfig.url}/arcade/">Arcade <class="fa-solid fa-gamepad"></i></a></li



Paso 10 — Añadir tu primer juego

Ve a Admin → Arcade → Añadir juego y pega la URL de embed de GameDistribution.




Paso 9 — Borrar la caché

Borra el contenido de la carpeta /cache/.



🗑️ Desinstalar
 
Código:
DROP TABLE IF EXISTS g_juegos, g_categorias, g_scores, g_votos;

Elimina los archivos y quita los cambios.

 
 
Descarga

Mediafire
http://Registrate o inicia tu sesión par... contenido


Google Drive
http://Registrate o inicia tu sesión par... contenido




¿Tienes dudas o encuentras algún problema? Déjalo en los comentarios.






Imprimir


Enviado por: Tronlar
05-30-2026, 10:43 PM
Foro: Terminados
- Sin respuestas

Sección Destacados v1.0
Para Risus Nova 2.0 — PHPost


Capturas
[img]Registrate o inicia tu sesión para ver este contenido[/img]
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]


Sección dedicada a los posts más votados y comentados de la comunidad. Inspirado en la sección Destacados de Taringa.


⭐ Características
 
  • Posts más votados, más comentados o más recientes (filtro)
  • Badge 🔥 Hot para posts con 50+ puntos
  • Estadísticas rápidas en la cabecera (total destacados, máximo puntos, posts hoy)
  • Posts fijados en la parte superior
  • TOP Posts y TOP Usuarios con filtros: Hoy, Semana, Mes, Histórico
  • Sin instalador ni base de datos nueva
 


🛠️ Instalación

Paso 1 — Subir los archivos
 
Código:
inc/class/c.destacados.php →  inc/class/
inc/php/destacados.php →  inc/php/
t.destacados.tpl →  themes/default/templates/
themes/default/templates/modules/m.destacados_tops.tpl →  themes/default/templates/modules/


Paso 2 — En .htaccess

Buscar # ADMIN y arriba agregar:
 
Código:
# DESTACADOS
RewriteRule ^destacados/$ inc/php/destacados.php?action= [QSA,L]
RewriteRule ^destacados/tops/$ inc/php/destacados.php?action=tops [QSA,L]


Paso 3 — En head_submenu.tpl

Buscar:
 
Código PHP:
<li{if $tsPage == 'buscador'} class="here"{/if}><class=vctip title="Buscador" href="{$tsConfig.url}/buscador/">Buscador</a></li


Debajo agregar:
 
Código:
<li{if $tsPage == 'destacados'} class="here"{/if}><a class=vctip title="Sección Destacados" href="{$tsConfig.url}/destacados/"><i class="fa-solid fa-star"></i> Destacados</a></li>


Paso 4 — Borrar la caché

Borra el contenido de la carpeta /cache/ del sitio.



⚙️ Ajustar el badge Hot

En t.destacados.tpl busca:
 
Código:
{if $p.post_puntos >= 50}

Cambia el 50 por el número de puntos que quieras.


🗑️ Desinstalar

Elimina los archivos y quita los cambios en .htaccess y head_submenu.tpl.

 
Descarga

Mediafire
http://Registrate o inicia tu sesión par... contenido


Google Drive
http://Registrate o inicia tu sesión par... contenido



¿Tienes dudas o encuentras algún problema? Déjalo en los comentarios.



Imprimir


Enviado por: Tronlar
05-30-2026, 06:51 PM
Foro: Terminados
- Sin respuestas

Honeypot Anti-Spam v1.0
Para Risus Nova 2.0 — PHPost


Campo trampa invisible para bloquear bots de spam en el registro. Los usuarios normales nunca lo ven. Los bots que rellenan todos los campos automáticamente quedan bloqueados.



🍯 Cómo funciona
 
  • Se añade un campo de texto oculto con CSS en el formulario de registro
  • Los usuarios normales nunca lo ven ni lo rellenan
  • Los bots de spam rellenan todos los campos automáticamente, incluido el oculto
  • Si el campo llega relleno al servidor → bot detectado → registro bloqueado silenciosamente
  • No molesta a los usuarios reales
  • Compatible con Cloudflare Turnstile — doble protección
 


🛠️ Instalación

Paso 1 — Subir el archivo
 
Código:
p.registro.form.tpl  →  themes/default/templates/php_files/


Paso 2 — En c.registro.php

Buscar:
 
Código:
// COMPROBAR NUEVAMENTE QUE EL USUARIO O EMAIL NO SE ENCUENTREN REGISTRADOS


Agregar arriba:
 
Código:
// ── Honeypot anti-bot ──
if (!empty($_POST['website'])) {
    return '1';
}
// ──────────────────────


Paso 3 — Borrar la caché

Borra el contenido de la carpeta /cache/ del sitio.


⚠️ Importante
 
  • No elimines el comentario <!-- Honeypot --> del formulario
  • No cambies el nombre del campo website sin actualizarlo también en c.registro.php
  • Devuelve '1' (éxito falso) en lugar de error para no alertar al bot
 

 
Descarga

Mediafire
http://Registrate o inicia tu sesión par... contenido

Google Drive
http://Registrate o inicia tu sesión par... contenido




¿Tienes dudas o encuentras algún problema? Déjalo en los comentarios.



Imprimir