¡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

COMPLEMENTOS Vídeos y Medios Embebidos v1.0
#1

0
Vídeos y Medios Embebidos v1.0
Nuevo módulo para Risus Nova 2.0 — PHPost


Con este mod basta con pegar una URL en el cuerpo de un post para que se convierta automáticamente en el player embebido correspondiente. Sin etiquetas especiales, sin código — solo la URL en una línea.


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


▶ Plataformas soportadas
 
  • YouTube — youtube.com/watch?v=ID, youtu.be/ID y /shorts/ID
  • Vimeo — vimeo.com/ID
  • Twitter / X — tweets embebidos con el widget oficial
  • Spotify — canciones, álbumes, playlists, podcasts y episodios
  • TikTok — vídeos embebidos con el widget oficial
 


✨ Características
 
  • Sin instalador — no crea tablas ni modifica la base de datos
  • Detección automática de la plataforma por la URL
  • Player responsive adaptado a móvil
  • Carga lazy para no ralentizar la página
  • No modifica los datos guardados en BD, solo el renderizado
  • Spotify adapta la altura según el tipo (track/podcast = compacto, álbum/playlist = expandido)
 


🔒 Seguridad

Cada URL pasa por una cadena de validaciones antes de generar el embed:
 
  • IDs estrictamente validados — YouTube acepta solo exactamente 11 caracteres alfanuméricos. Vimeo solo dígitos. Twitter, TikTok y Spotify tienen sus propios rangos y patrones
  • Lista blanca de tipos en Spotify — solo se permiten track, album, playlist, episode y show. Cualquier otro valor se ignora
  • Sandbox en iframes — todos los iframes tienen el atributo sandbox con los permisos mínimos necesarios para funcionar
  • youtube-nocookie.com — YouTube se carga desde el dominio de privacidad mejorada para no rastrear a los usuarios
  • Vimeo con ?dnt=1 — Do Not Track activado
  • URLs reconstruidas — nunca se usa la URL original del usuario directamente en el src del iframe. Se construye una URL nueva y limpia con el ID validado
  • Si el ID no pasa la validación — se deja la URL original sin tocar en lugar de romper el post
 


📋 Requisitos
 
  • Risus Nova 2.0 instalado y funcionando
  • PHP 8.0+
 


🛠️ Instalación

Paso 1 — Subir los archivos
 
inc/class/c.embed.php        →  inc/class/
themes/default/css/embed.css →  themes/default/css/


Paso 2 — En c.posts.php

Abre inc/class/c.posts.php y busca dentro de getPost() este bloque:
 
$postData['post_body'] = preg_replace(
        '/<oembed url="https:\/\/www\.youtube\.com\/watch\?v=([^"]+)"><\/oembed>/s',
        '<iframe width="560" height="315" src="Registrate o inicia tu sesión para ver este contenido" frameborder="0" allowfullscreen></iframe>',
        $postData['post_body']
        );

Justo después añade:
 
// ── Embeds automáticos ──
require_once TS_CLASS . 'c.embed.php';
$tsEmbed = new tsEmbed();
$postData['post_body'] = $tsEmbed->process($postData['post_body']);
// ────────────────────────

Paso 3 — Borrar la caché

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


📝 Uso

Al crear un post pega la URL en el cuerpo en una línea aparte:
 
Mira este vídeo:
Registrate o inicia tu sesión para ver este contenido

Y esta canción:
Registrate o inicia tu sesión para ver este contenido

El mod la detecta y la convierte automáticamente en el player al mostrar el post.


🗑️ Desinstalar
 
  • Elimina inc/class/c.embed.php
  • Elimina themes/default/css/embed.css
  • Quita el hook añadido en c.posts.php
  • Borra la caché
 

 
Descarga

Mediafire
Debes agradecer para ver el contenido...

Google Drive
Debes agradecer para ver el contenido...


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

Responder


Compartir en:

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)