¡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: 23/06/2026 - 11:00 h (Hora España) Desarrollo Tema: 75% (Ver notas de la versión) (Ver Demo)

Descargar desde phpost.es
Calificación:
  • 3 voto(s) - 4.67 Media
  • 1
  • 2
  • 3
  • 4
  • 5

DISEÑOS TERMINADOS MEGABlog V1.5 (Act 1.3)
#1

33
Mejor respuesta del mensaje MEGABlog V1.5 (Act 1.3)Hola, os dejo el tema MEGABlog actualizado a la versión 1.3, fontawesome 5, recaptcha y algunas mejoras.


Demo
Debes agradecer para ver el contenido...
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]



Instalación igual que Risus, desde cero.

Descargan la carpeta y hacen la instalación igual que Debes agradecer para ver el contenido..., después de la instalación ejecutar estas consultas y ya la tienen funcionando.

Consultas
 
ALTER TABLE p_posts ADD post_cover VARCHAR( 250 ) NOT NULL;
 
ALTER TABLE u_perfil ADD p_fondoper VARCHAR( 250 ) NOT NULL;


Instalación teniendo ya un tema instalado.

Haz una copia de tus archivos y de tu base de datos, por si tienes un problema o lo que sea tienes para solucionarlo rápido.
Deja seleccionado el tema default si tienes otro, descarga la carpeta y antes de subirla borra la carpeta default y el contenido de la carpeta cache, después haz este tutorial.

Consultas
 
ALTER TABLE p_posts ADD post_cover VARCHAR( 250 ) NOT NULL;
 
ALTER TABLE u_perfil ADD p_fondoper VARCHAR( 250 ) NOT NULL;


En c.cuenta.php --> inc --> class --> c.cuenta.php
Buscar:
 
u.user_baneado,  p.user_sexo,


reemplazan por:
 
u.user_baneado,  p.user_sexo,  p.p_fondoper,


En c.posts.php --> inc --> class --> c.posts.php

Buscar:
 
'body' => $tsCore->setSecure($_POST['cuerpo']),


Debajo agregar:
 
'cover' => $tsCore->setSecure($_POST['cover_p']),


Buscar:
 
'body' => $tsCore->setSecure($_POST['cuerpo'], true),


Debajo agregar:
 
'cover' => $tsCore->setSecure($_POST['cover_p'], true),


Buscar:
 
// INSERTAMOS
            $_SERVER['REMOTE_ADDR'] = $_SERVER['X_FORWARDED_FOR'] ? $_SERVER['X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'];
            if(!filter_var($_SERVER['REMOTE_ADDR'], FILTER_VALIDATE_IP)) { die('0: Su ip no se pudo validar.'); }
            if(db_exec(array(__FILE__, __LINE__), 'query', 'INSERT INTO `p_posts` (post_user, post_category, post_title, post_body, post_date, post_tags, post_ip, post_private, post_block_comments, post_sponsored, post_sticky, post_smileys, post_visitantes, post_status) VALUES (\''.$tsUser->uid.'\', \''.(int)$postData['category'].'\', \''.$postData['title'].'\',  \''.$postData['body'].'\', \''.$postData['date'].'\', \''.$postData['tags'].'\', \''.$_SERVER['REMOTE_ADDR'].'\', \''.(int)$postData['private'].'\', \''.(int)$postData['block_comments'].'\', \''.(int)$postData['sponsored'].'\', \''.(int)$postData['sticky'].'\', \''.(int)$postData['smileys'].'\', \''.(int)$postData['visitantes'].'\', '.(!$tsUser->is_admod && ($tsCore->settings['c_desapprove_post'] == 1 || $tsUser->permisos['gorpap'] == true) ? '\'3\'' : '\'0\'').')')) {


Después de:
 
post_body,


Agregar:
 
, post_cover,


Después de:
 
\''.$postData['body'].'\',


Agregar:
 
\''.$postData['cover'].'\',
 
// INSERTAMOS
            $_SERVER['REMOTE_ADDR'] = $_SERVER['X_FORWARDED_FOR'] ? $_SERVER['X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'];
            if(!filter_var($_SERVER['REMOTE_ADDR'], FILTER_VALIDATE_IP)) { die('0: Su ip no se pudo validar.'); }
            if(db_exec(array(__FILE__, __LINE__), 'query', 'INSERT INTO `p_posts` (post_user, post_category, post_title, post_body, post_cover, post_date, post_tags, post_ip, post_private, post_block_comments, post_sponsored, post_sticky, post_smileys, post_visitantes, post_status) VALUES (\''.$tsUser->uid.'\', \''.(int)$postData['category'].'\', \''.$postData['title'].'\',  \''.$postData['body'].'\', \''.$postData['cover'].'\', \''.$postData['date'].'\', \''.$postData['tags'].'\', \''.$_SERVER['REMOTE_ADDR'].'\', \''.(int)$postData['private'].'\', \''.(int)$postData['block_comments'].'\', \''.(int)$postData['sponsored'].'\', \''.(int)$postData['sticky'].'\', \''.(int)$postData['smileys'].'\', \''.(int)$postData['visitantes'].'\', '.(!$tsUser->is_admod && ($tsCore->settings['c_desapprove_post'] == 1 || $tsUser->permisos['gorpap'] == true) ? '\'3\'' : '\'0\'').')')) {


Buscar:
 
// ACTUALIZAMOS
        if($tsUser->uid == $data['post_user'] || !empty($tsUser->is_admod) || !empty($tsUser->permisos['moedpo'])){
            if(db_exec(array(__FILE__, __LINE__), 'query', 'UPDATE p_posts SET post_title = \''.$postData['title'].'\', post_body = \''.$postData['body'].'\', post_tags = \''.$tsCore->setSecure($postData['tags']).'\', post_category = \''.(int)$postData['category'].'\', post_private = \''.$postData['private'].'\', post_block_comments = \''.$postData['block_comments'].'\', post_sponsored = \''.$postData['sponsored'].'\', post_smileys = \''.$postData['smileys'].'\', post_visitantes = \''.$postData['visitantes'].'\', post_sticky = \''.$postData['sticky'].'\' WHERE post_id = \''.(int)$post_id.'\'') or exit( show_error('Error al ejecutar la consulta de la línea '.__LINE__.' de '.__FILE__.'.', 'db') )) {


Después de:
 
post_body = \''.$postData['body'].'\',


Agregar:
 
post_cover = \''.$postData['cover'].'\',
 
// ACTUALIZAMOS
        if($tsUser->uid == $data['post_user'] || !empty($tsUser->is_admod) || !empty($tsUser->permisos['moedpo'])){
            if(db_exec(array(__FILE__, __LINE__), 'query', 'UPDATE p_posts SET post_title = \''.$postData['title'].'\', post_body = \''.$postData['body'].'\', post_cover = \''.$postData['cover'].'\', post_tags = \''.$tsCore->setSecure($postData['tags']).'\', post_category = \''.(int)$postData['category'].'\', post_private = \''.$postData['private'].'\', post_block_comments = \''.$postData['block_comments'].'\', post_sponsored = \''.$postData['sponsored'].'\', post_smileys = \''.$postData['smileys'].'\', post_visitantes = \''.$postData['visitantes'].'\', post_sticky = \''.$postData['sticky'].'\' WHERE post_id = \''.(int)$post_id.'\'') or exit( show_error('Error al ejecutar la consulta de la línea '.__LINE__.' de '.__FILE__.'.', 'db') )) {


Buscar:
 
/*********/
      $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT p.post_id, p.post_user, p.post_category, p.post_title, p.post_date, p.post_comments, p.post_puntos, p.post_private, p.post_sponsored, p.post_status, p.post_sticky, u.user_id, u.user_name, u.user_activo, u.user_baneado, c.c_nombre, c.c_seo, c.c_img FROM p_posts AS p LEFT JOIN u_miembros AS u ON p.post_user = u.user_id  '.($tsUser->is_admod && $tsCore->settings['c_see_mod'] == 1 ? '' : ' && u.user_activo = \'1\' && u.user_baneado = \'0\'').' LEFT JOIN p_categorias AS c ON c.cid = p.post_category WHERE '.($tsUser->is_admod && $tsCore->settings['c_see_mod'] == 1 ? 'p.post_id > 0' : 'p.post_status = \'0\' && u.user_activo = \'1\' && u.user_baneado = \'0\'').'  '.$c_where.' '.$s_where.' GROUP BY p.post_id ORDER BY '.$s_order.' DESC LIMIT '.$start);
      $lastPosts['data'] = result_array($query);
      
      //
      return $lastPosts;
    }


reemplazan por:
 
/*********/
      $query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT p.post_id, p.post_user, p.post_category, p.post_title, p.post_cover, p.post_body, p.post_date, p.post_comments, p.post_puntos, p.post_private, p.post_sponsored, p.post_status, p.post_sticky, u.user_id, u.user_name, u.user_activo, u.user_baneado, c.c_nombre, c.c_seo, c.c_img FROM p_posts AS p LEFT JOIN u_miembros AS u ON p.post_user = u.user_id  '.($tsUser->is_admod && $tsCore->settings['c_see_mod'] == 1 ? '' : ' && u.user_activo = \'1\' && u.user_baneado = \'0\'').' LEFT JOIN p_categorias AS c ON c.cid = p.post_category WHERE '.($tsUser->is_admod && $tsCore->settings['c_see_mod'] == 1 ? 'p.post_id > 0' : 'p.post_status = \'0\' && u.user_activo = \'1\' && u.user_baneado = \'0\'').'  '.$c_where.' '.$s_where.' GROUP BY p.post_id ORDER BY '.$s_order.' DESC LIMIT '.$start);
      $elements = array(
            "/(?i)\[url\=(http|https|ftp|irc|ed2k|gopher|telnet|gopher|telnet)(\:\/\/)([^\<\>[:space:]]+?)\](.+?)(\[\/url\])/i",
            "/(?i)\[quote\=([^\n\r\t\<\>]+?)\]([^\a]+?)\[\/quote\]/i",
            "/(?i)\[img\=([0-9]{1,3})x([0-9]{1,3})\](http|https|ftp|irc|ed2k|gopher|telnet)(\:\/\/)([^\<\>[:space:]]+?)(\[\/img\])/i",
            "/(?i)\[img\=(http|https|ftp|irc|ed2k|gopher|telnet)?(\:\/\/)?([^\<\>[:space:]]+)\]/i",
            "/(?i)\[swf\=(.+?)\]/i",
            "/(?i)\[goear\=(.+?)\]/i",
            "/(?i)\[goear\]([a-z0-9]{7})\[\/goear\]/i"
         );
            
        $size = count( $elements );
            
        while ($row = db_exec('fetch_assoc', $query))
        {
            for( $elm = 0; $elm < $size; $elm++ )
            {
                $element = $elements[$elm];
                //
                while( preg_match($element, $row['post_body'] ) )
                {
                    $row['post_body'] = preg_replace( $element, '', $row['post_body'] );
                }
            }
            //
            $row['post_body'] = strip_tags(substr($tsCore->parseBBCode($row['post_body']), 0, 600)).'...';
            //
            $lastPosts['data'][] = $row;
        }
      //
      return $lastPosts;
    }


Y listo.



Tema Megablog instalacion desde cero.

Mega
Debes agradecer para ver el contenido...

Google Drive
Debes agradecer para ver el contenido...

Mediafire
Debes agradecer para ver el contenido...



Tema Megablog

Mega
Debes agradecer para ver el contenido...

Google Drive
Debes agradecer para ver el contenido...

Mediafire
Debes agradecer para ver el contenido...


Archivos c.cuenta.php y c.posts.php ya editados (1.3)

Mega
Debes agradecer para ver el contenido...

Google Drive
Debes agradecer para ver el contenido...

Mediafire
Debes agradecer para ver el contenido...



Creditos:
Registrate o inicia tu sesión para ver este contenido
Responder
#2

3
Gracias por el aporte.
Responder
#3

1
gracias
Responder
#4

1
excelente
Responder
#5

1
Cool Cool
Responder
#6

0
Muy bueno!!
Responder
#7

0
me pueden ayudar? por favor[img]Registrate o inicia tu sesión para ver este contenido[/img]
Responder
#8

0
(01-06-2025, 09:51 PM)crassito escribió: Debes agradecer para ver el contenido...me pueden ayudar? por favor[img]Registrate o inicia tu sesión para ver este contenido[/img]

Es porque estas usando una versión más de la versión que requiere... hecha un vistazo a la respuesta que he dado aquí
Registrate o inicia tu sesión para ver este contenido
Básicamente es una manera "sin actualizar" de poder usarlo.... Hasta puedes hacer uso de este archivo
Registrate o inicia tu sesión para ver este contenido
copias el contenido y lo añades a inc/ext/functions.php abajo de todo y pruebas..

Accede al servidor de Discord y descarga ZCode|PHPost
Responder
#9

1
(01-06-2025, 09:51 PM)crassito escribió: Debes agradecer para ver el contenido...me pueden ayudar? por favor[img]Registrate o inicia tu sesión para ver este contenido[/img]

Hola, baja de versión de PHP a 7.4 o haz lo que te dice Miguel
Responder


Compartir en:

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)