Hace 8 horas
Vídeos v1.0
Nuevo módulo para Risus Nova 2.0 — PHPost
Nuevo módulo 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]
[img]Registrate o inicia tu sesión para ver este contenido[/img]
[img]Registrate o inicia tu sesión para ver este contenido[/img]
Sistema completo de vídeos hecho desde cero para Risus Nova 2.0. Soporta YouTube y Vimeo, con comentarios, reportes, panel admin y control de permisos por rango.
🎬 Características
- Soporte para YouTube y Vimeo — pegar la URL y se genera el reproductor automáticamente
- Grid de tarjetas con miniatura de YouTube sin bandas negras
- Filtro por categoría y orden (nuevos / más vistos)
- Comentarios en cada vídeo
- Sistema de reportes — 3 reportes ocultan el vídeo automáticamente
- Panel admin con gestión de vídeos y categorías
- Control de permisos por rango desde Admin → Rangos
- 7 categorías por defecto (configurables desde el admin)
- Instalador automático — crea todas las tablas
- Diseño responsive
🛠️ Instalación
Paso 1 — Ejecutar el instalador
Sube la carpeta install/ a la raíz y accede a:
Código:
Registrate o inicia tu sesión para ver este contenidoEl instalador crea automáticamente:
- Tabla v_videos
- Tabla v_categorias con 7 categorías por defecto
- Tabla v_comentarios
- Tabla v_denuncias
- Permiso govid añadido a todos los rangos
⚠️ Elimina la carpeta install/ cuando termine.
Paso 2 — Subir los archivos
Código:
inc/class/c.videos.php → inc/class/
inc/php/videos.php → inc/php/
inc/php/ajax/ajax.videos.php → inc/php/ajax/
t.videos.tpl → themes/default/templates/
m.video_card.tpl → themes/default/templates/modules/
m.video_ver.tpl → themes/default/templates/modules/
m.video_nuevo.tpl → themes/default/templates/modules/
m.admin_videos.tpl → themes/default/templates/modules/
videos.css → themes/default/css/Paso 3 — En .htaccess
Arriba de # FOTOS agregar:
Código:
# VIDEOS
RewriteRule ^videos/$ inc/php/videos.php?action= [QSA,L]
RewriteRule ^videos/ver/([0-9]+)/$ inc/php/videos.php?action=ver&vid=$1 [QSA,L]
RewriteRule ^videos/nuevo/$ inc/php/videos.php?action=nuevo [QSA,L]
RewriteRule ^videos/usuario/([^/]+)/$ inc/php/videos.php?action=usuario&nick=$1 [QSA,L]
RewriteRule ^admin/videos$ inc/php/admin.php?action=videos [QSA,L]Paso 4 — En admin.php
Buscar:
Código:
} elseif($action == 'feed'){Agregar arriba:
Código:
} elseif($action == 'videos'){
require_once TS_CLASS . 'c.videos.php';
$tsV = new tsVideos();
if (!empty($_GET['addcat']) && !empty($_POST['vcat_name'])) {
$tsV->adminSaveCategoria();
$tsCore->redirectTo($tsCore->settings['url'].'/admin/videos');
}
$filtro = (int)($_GET['status'] ?? -1);
$smarty->assign('tsAdminVideos', $tsV->adminGetVideos());
$smarty->assign('tsVCategorias', $tsV->getCategorias());
$smarty->assign('tsVFiltro', $filtro);Paso 5 — En t.admin.tpl
Antes del {/if} final añade:
Código:
{elseif $tsAction == 'videos'}
{include file='modules/m.admin_videos.tpl'}Paso 6 — En m.admin_rangos.tpl
Buscar:
Código:
<dl>
<dt><label for="goaf">Anti-flood</label><br /><span>Tiempo que deben esperar entre acción.</span></dt>
<dd><input type="text" id="goaf" name="global-antiflood" value="{$tsRango.permisos.goaf}" style="width:30%"/></dd>
</dl>Debajo agregar:
Código:
<dl>
<dt><label for="govid">Publicar Vídeos</label><br /><span>Podrán publicar vídeos en el sitio.</span></dt>
<dd><input type="checkbox" id="govid" name="global-publicarvideos" {if $tsRango.permisos.govid == 'on'}checked{/if} /></dd>
</dl>Paso 7 — En c.admin.php
Buscar:
En saveRango() y newRango() busca la línea:
Código:
'gopfd' => $_POST['global-pointsforday']);Reemplazar por:
Código:
'gopfd' => $_POST['global-pointsforday'],
'govid' => $_POST['global-publicarvideos'],
);Paso 8 — En head_menu.tpl
Buscar:
Código:
{if $tsConfig.c_fotos_private == '1' && !$tsUser->is_member}{else}
<li class="tabbed {if $tsPage == 'fotos'}here{/if}" id="tabbedfotos">
<a title="Ir a Fotos" onclick="menu('fotos', this.href); return false;" href="{$tsConfig.url}/fotos/">Fotos <i class="fa-solid fa-caret-down"></i></a>
</li>
{/if}Debajo agregar:
Código:
<li class="tabbed {if $tsPage == 'videos'}here{/if}" id="tabbedvideos"><a title="Ir a Vídeos" href="{$tsConfig.url}/videos/">Vídeos <i class="fa-solid fa-film"></i></a></li>Paso 9 — Activar el permiso en los rangos
En Admin → Rangos → Editar cada rango y activa Publicar Vídeos.
Paso 10 — Borrar la caché
Borra el contenido de la carpeta /cache/ del sitio.
📋 URLs del módulo
- Portada de vídeos: /videos/
- Ver vídeo: /videos/ver/ID/
- Publicar vídeo: /videos/nuevo/
- Vídeos de usuario: /videos/usuario/NICK/
- Panel admin: /admin/videos
🗑️ Desinstalar
Código:
DROP TABLE IF EXISTS v_videos, v_categorias, v_comentarios, v_denuncias;Elimina los archivos y quita los cambios realizados.
Descarga
Mediafire
http://Registrate o inicia tu sesión par...0.rar/file
Google Drive
http://Registrate o inicia tu sesión par... contenido
¿Tienes dudas o encuentras algún problema? Déjalo en los comentarios.
Mediafire
http://Registrate o inicia tu sesión par...0.rar/file
Google Drive
http://Registrate o inicia tu sesión par... contenido
¿Tienes dudas o encuentras algún problema? Déjalo en los comentarios.