Phpost

Versión completa: Vídeos v1.0
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Vídeos v1.0
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 contenido


El 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&oacute;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.