¡Bienvenido! ¿Aún no estás registrado?, deberás registrarte antes de poder usar el Chat, Comentar y Descargar en el Foro. Usa un email válido para la activación.
Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

DESCARGAS Risus Nova 2.0 — Descarga, Novedades y Requisitos
#4

1
(Hace 4 horas)Miguel92 escribió: Debes agradecer para ver el contenido...Hola, estuve probando la versión subida y encontré algunas cosas que quizá quedaron afuera del empaquetado final o del último repaso, te las paso por si te sirven:
  • En el topic anterior mencionabas Smarty 5.8, pero en esta versión quedó Smarty 4.5.6 y además el script ya se venía usando Smarty 3 anteriormente.
  • En admin hay errores JS porque admin.js depende de jQuery y ahora jQuery carga al final del body. También pasa con algunos <script> inline. Quizá convendría dejar jQuery en el <head> con el atributo defer para mantener compatibilidad sin bloquear carga.
  • Al crear/editar posts se carga Font Awesome 6 además de la 7 que ya está en el head.
  • En PHP 8.5 me aparecieron errores tipados relacionados con permisos/perfil. Bajando a 8.3 siguen algunos. Con display_errors activo pude ver que faltan validaciones en ciertos casos.

Arriba del constructor 
 
public array $permisos = []; 

y luego reemplazar $this->permisos 
$this->permisos unserialize($datis['r_allows']) ?: [];

foreach([
'sumo''suad'] as $permiso) {
    if(empty($this->permisos[$permiso])) {
        $this->permisos[$permiso] = false;
    }


El foreach es porque algunos rangos antiguos no tienen definidos esos índices y termina generando faltantes.

También en la función com_banned() después de 
 
$data db_exec('fetch_assoc'$query); 

faltaría validar
if(empty($data)) {
    return false;

  • En admin > soporte sigue apareciendo "PHPost 1.4.0.000".
  • También vi que faltaría agregar p_fondo y p_fondoper en u_perfil.

Te lo digo porque quizá algunas cosas quedaron fuera del script final.

PD: También noté que en la demo, los JS siguen cargando en el head y en el .rar están en footer, probablemente por eso aparecen esos errores mencionados.

Tienes razón, fue un error en el mensaje anterior. La versión incluida es Smarty 4.5.6, que es la rama estable actual recomendada para producción. 
Smarty 5 todavía es experimental y tiene breaking changes que romperían muchas plantillas existentes. 
Smarty 4.5.6 es compatible con PHP 8.3 y es exactamente lo que lleva el paquete.

jQuery se ha movido al <head> sin defer, que es la solución más limpia para este script, ya que es una dependencia global que varios scripts inline del body necesitan antes de ejecutarse.
El resto de scripts (plugins, acciones, funciones, CKEditor) siguen en el footer.
La demo no tenía los últimos archivos subidos, de ahí que viste el error.


Ya lo he visto, estaba hardcodeado en m.agregar.form.tpl, el formulario de crear/editar posts. 
Se ha eliminado el

 
<link>

de FA 6.4.0 y el bloque
 
<style>

que lo acompañaba, y se ha actualizado la clase
 
fas fa-info-circle

a
 
fa-solid fa-circle-info

para que use FA7 de forma consistente.


Aplicadas y mejoradas respecto a lo que propones. En c.user.php:

Declaración tipada:
 
public array $permisos = [];

Deserialización segura con valores por defecto extendidos:
 
$this->permisos = unserialize($datis['r_allows']) ?: [];
foreach (['sumo', 'suad', 'gopfd', 'goaf', 'gopfp', 'govwm', 'gorpap',
          'godp', 'gopp', 'gopcp', 'govpp', 'govpn', 'goepc', 'godpc',
          'gopf', 'gopcf', 'movcud', 'movcus'] as $_p) {
    if (!isset($this->permisos[$_p])) {
        $this->permisos[$_p] = false;
    }
}

Se ha ampliado el foreach a todos los permisos conocidos del sistema, no solo
 

y
 

, para cubrir cualquier rango antiguo que pueda tener índices faltantes.


Validación en com_banned():
 
$data = db_exec('fetch_assoc', $query);
if (empty($data)) {
    return true;
}

Nota: se devuelve
 

en lugar de
 

porque la función devuelve true cuando no hay ban activo — devolver false indicaría que algo falló, cuando en realidad simplemente no hay registro de ban.


Era un texto hardcodeado en el bloque de créditos del footer del panel de administración. Ya lo he corregido a "Risus Nova 2.0".


Añadidas en el instalador (database.php) y en el upgrade (collection.php). 
Las instalaciones nuevas las tendrán automáticamente y las existentes las recibirán al pasar el upgrade
Si tienes una instalación actual puedes ejecutar en phpMyAdmin:

 
ALTER TABLE u_perfil ADD p_fondo VARCHAR(255) NOT NULL DEFAULT '';
ALTER TABLE u_perfil ADD p_fondoper INT(1) NOT NULL DEFAULT '0';


Todo irá incluido en el parche 2.0.1.
Gracias por el reporte, comentarios así ayuda a mejorar el script.
Responder


Compartir en:

Mensajes en este tema
Risus Nova 2.0 — Descarga, Novedades y Requisitos - por Tronlar - Hace 11 horas
RE: Risus Nova 2.0 — Descarga, Novedades y Requisitos - por Miguel92 - Hace 4 horas
RE: Risus Nova 2.0 — Descarga, Novedades y Requisitos - por Tronlar - Hace 3 horas
RE: Risus Nova 2.0 — Descarga, Novedades y Requisitos - por Tronlar - Hace 1 hora
RE: Risus Nova 2.0 — Descarga, Novedades y Requisitos - por Miguel92 - Hace menos de 1 minuto

Salto de foro:


Usuarios navegando en este tema: Miguel92, 1 invitado(s)