¡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:
  • 3 voto(s) - 5 Media
  • 1
  • 2
  • 3
  • 4
  • 5

COMPLEMENTOS Sección Archivos V2.2 (Act 1.3)
#1

14
Mejor respuesta del mensaje Sección Archivos V2.2 (Act 1.3)Captura GIF
[img]Registrate o inicia tu sesión para ver este contenido[/img]


 
Actualizado el 8/4/2024
 
FIXES
  • Borra los archivos del servidor (anteriormente no lo hacía).
  • Nombres con puntos incluidos (si el nombre tenía puntos, excluía el resto del nombre después del punto. Ej: mi.nuevo.cel.jpg lo guardaba como mi.jpg).
  • Ahora se pueden subir y descargar archivos php, html (anteriormente se descargaba el archivo y en su contenido el código fuente de la web).
  • Porcentaje de subida de archivos (anteriormente solo mostraba 0% y 100% al terminar la subida).
  • Entre otros fix menores para mejorar la sección.

NOVEDADES
  • Borrar múltiples archivos.
  • Mover múltiples archivos.
  • Ordenar archivos según nombre, fecha, tipo y descargas.
  • Tamaño máximo de archivos y extensiones permitidas o no desde la administración.
  • Últimos archivos subidos por otros usuarios. Aportado por Nico
  • Compatibilidad Risus 1.3.

FIXES
  • Fix de seguridad en captura de datos, vulnerabilidad en inyecciones SQL.
 

  

                     
En .htaccess

Buscar:
 
# ADMIN 
 
 
Arriba agregar:
 
# ARCHIVOS
RewriteRule ^files/$ inc/php/files.php?action=user [QSA,L]
RewriteRule ^files/([0-9]+)/([A-Za-z0-9_-]+)$ inc/php/files.php?action=ver&fileid=$[QSA,L]
RewriteRule ^files/bajar/([0-9]+)/([A-Za-z0-9_-]+)$ inc/php/files.php?action=bajar&fileid=$[QSA,L]
RewriteRule ^files/([A-Za-z0-9_-]+)$ inc/php/files.php?action=user&userid=$[QSA,L]
RewriteRule ^files/([A-Za-z0-9_-]+)/([0-9]+)/([A-Za-z0-9_-]+)$ inc/php/files.php?action=user&userid=$1&folderid=$[QSA,L]
RewriteRule ^files/([A-Za-z0-9_-]+)/pagina([0-9]+)$ inc/php/files.php?action=user&userid=$1&page=$[QSA,L
 
 
En c.admin.php --> inc --> class --> c.admin.php
 
Buscar:
 
'max_com' => $tsCore->setSecure($_POST['max_com']), 
 
 
Debajo agregar:
 
'max_upload' => $tsCore->setSecure($_POST['max_upload']),
'files_type' => $tsCore->setSecure($_POST['files_type']),
'files_ext' => $tsCore->setSecure($_POST['files_ext']), 
 
 
Buscar:
 
$c['portal'] . '\', `c_allow_live` = \'' $c['live'] . '\', `offline` = \'' $c['offline'] . 
 
 
Debajo agregar:
 
'\', `c_max_upload` = \'' $c['max_upload'] . '\', `c_files_type` = \'' $c['files_type'] . '\', `c_files_ext` = \'' $c['files_ext'] . 
 
 
En c.core.php --> inc --> class --> c.core.php
 
Buscar:
 
// SOLO SMILES 
 
 
Arriba agregar:
 
// FILES
case 'files':
// RESTRICTIONS
$parser->setRestriction(array('url''quote''size''color''b''i''u''align'));
// SMILES
$html $parser->parseSmiles($html$this->settings['default'].'/images/smiles/');
// MENCIONES
$html $this->setMenciones($html);
break; 
 
 
En head_menu.tpl --> themes --> default --> templates --> sections --> head_menu.tpl

Buscar:
 
{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 <img alt="Drop Down" src="{$tsConfig.tema.t_url}/images/arrowdown.png"></a>
</
li>
{/if} 
 
 
Debajo agregar:
 
<li class="tabbed {if $tsPage == 'files'}here{/if}" id="tabbedfiles">
<
a title="Subir archivos" onclick="menu('files', this.href); return false;" href="{$tsConfig.url}/files/">Upload <img alt="Drop Down" src="{$tsConfig.tema.t_url}/images/arrowdown.png"></a>
</
li
 
 
En head_submenu.tpl --> themes --> default --> templates --> sections --> head_submenu.tpl

Buscar:
 
<div id="subMenuTops" class="subMenu {if $tsPage == 'tops'}here{/if}"
 
 
Arriba agregar:
 
<div id="subMenuFiles" class="subMenu {if $tsPage == 'files'}here{/if}">
<
ul class="floatL tabsMenu">
<
li{if $tsAction == '' && $tsAction != 'favoritos' && $tsAction != 'faqs'} class="here"{/if}><a href="{$tsConfig.url}/files/">Inicio</a></li>
{if 
$tsUser->is_member}
<
li{if $tsAction == 'favoritos'} class="here"{/if}><a href="{$tsConfig.url}/files/favoritos/">Favoritos</a></li>
{/if}
<
li{if $tsAction == 'faqs'} class="here"{/if}><a href="{$tsConfig.url}/files/faqs/">FAQs</a></li>
</
ul>
<
div class="clearBoth"></div>
</
div
 
 
En m.admin_configs.tpl --> themes --> default --> templates --> admin_mods --> m.admin_configs.tpl

Buscar:
 
<p>
<
input type="submit" name="save" value="Guardar Cambios" class="btn_g" />
</
p
 
 
Arriba agregar:
 
<hr />
<
dl>
<
dt><label for="c_max_upload">Tama&ntilde;o m&aacute;ximo de archivos:</label><br /><span>Peso m&aacute;ximo de archivos en MB. <strong>Nota:</strongSi deja el campo en 0 no habr&aacutel&iacute;mite de subida.</span></dt>
<
dd><input type="text" id="c_max_upload" name="max_upload" style="width:10%" maxlength="3" value="{$tsConfig.c_max_upload}/>Mb</dd>
</
dl>
<
dl>
<
dt><label for="c_files_type">Permisos de archivos:</label><br /><span>Si va a permitir o excluir extensiones de archivosseparelos por comas y sin espaciosEj: <strong>sql,php,bd</strong></span></dt>
<
dd>
<
select id="c_files_type" name="files_type" style="width: 266px;" class="select">
<
option value="0" {if $tsConfig.c_files_type == 0}selected{/if} >Permitir subir cualquier tipo de archivos</option>
<
option value="1" {if $tsConfig.c_files_type == 1}selected{/if} >Permitir archivos con extensi&oacute;n</option>
<
option value="2" {if $tsConfig.c_files_type == 2}selected{/if} >Excluir archivos con extensi&oacute;n</option>
<
option value="3" {if $tsConfig.c_files_type == 3}selected{/if} >No permitir la subida de archivos</option>
</
select>
<
br />
<
input type="text" id="c_files_ext" name="files_ext" value="{$tsConfig.c_files_ext}/>
</
dd>
</
dl
 
 
Y subir la carpeta y las consultas
 
Mega
Debes agradecer para ver el contenido...

Mediafire
Debes agradecer para ver el contenido...

4shared
Debes agradecer para ver el contenido...



Creditos: Debes agradecer para ver el contenido...
Responder
#2

0
Seria mucho pedir para la versión Flatpost bro
Responder
#3

2
(07-17-2022, 05:13 AM)Record404 escribió: Debes agradecer para ver el contenido...Seria mucho pedir para la versión Flatpost bro

Hola, no es difícil hacerlo, ya que usa el framework css bulma, lo que si necesita es tiempo.
Te dejo adaptado solo la home porque tengo que salir y ya no me da tiempo, vuelvo ya por la noche a mi casa, haz copia de seguridad de tus archivos y los sustituyes por los que te dejo, fíjate como lo he hecho y haces lo mismo con las otras páginas y elementos del mod, utilizar las clases del framework, puedes copiarlas de otra página que ya tiene creada por ejemplo fotos o con la documentación del framework.
Ve haciendo eso y si te quedas bloqueado en algo lo publicas y cuando esté en mi PC te ayudo.

Debes agradecer para ver el contenido...
Responder
#4

0
Gracias

Lo tengo instalado, y quisiera que el dato {$tsFile.data.f_url} que viene en la carpeta /templates/files/f.files_ver_archivo.tpl

también se se mostrara en la carpeta /templates/t.php_files/p.files.last-files.tpl
Responder
#5

0
(04-08-2024, 12:20 AM)moyo escribió: Debes agradecer para ver el contenido...Gracias

Lo tengo instalado, y quisiera que el dato {$tsFile.data.f_url} que viene en la carpeta /templates/files/f.files_ver_archivo.tpl

también se se mostrara en la carpeta /templates/t.php_files/p.files.last-files.tpl

No lo he probado, prueba en añadir a.f_url,  en function getLastFiles(){ y cambias también la variable.
Responder
#6

0
(04-08-2024, 12:20 AM)moyo escribió: Debes agradecer para ver el contenido...Gracias

Lo tengo instalado, y quisiera que el dato {$tsFile.data.f_url} que viene en la carpeta /templates/files/f.files_ver_archivo.tpl

también se se mostrara en la carpeta /templates/t.php_files/p.files.last-files.tpl

Es simplemente usarlo así {$a.f_url}
 
{foreach from=$tsLastFiles.data item=a}
se usa {$a ya que en se define así en 'item', si esta se llamará ...item=files} entonces cambia a esta forma {$files.DATO_A_USAR}

Así se carga en p.files.last-files.tpl la variable viene desde inc/php/ajax/ajax.files.php y que a su vez viene de c.files.php por esta asignación
 
$smarty->assign("tsLastFiles", $tsFiles->getLastFiles());

Solo tienes que seguir el camino, todo lo que este en t.php_files estará en inc/php/ajax... 
Dentro de la función getLastFiles(), ya tiene el dato 
$query = 'SELECT a.file_id, a.f_url, a.f_nombre, a.f_ext, a.f_fecha,....

Espero que se me entienda la explicación!  Laughing
Responder
#7

0
(04-09-2024, 12:02 AM)Miguel92 escribió: Debes agradecer para ver el contenido...
(04-08-2024, 12:20 AM)moyo escribió: Debes agradecer para ver el contenido...Gracias

Lo tengo instalado, y quisiera que el dato {$tsFile.data.f_url} que viene en la carpeta /templates/files/f.files_ver_archivo.tpl

también se se mostrara en la carpeta /templates/t.php_files/p.files.last-files.tpl

Es simplemente usarlo así {$a.f_url}
 
{foreach from=$tsLastFiles.data item=a}
se usa {$a ya que en se define así en 'item', si esta se llamará ...item=files} entonces cambia a esta forma {$files.DATO_A_USAR}

Así se carga en p.files.last-files.tpl la variable viene desde inc/php/ajax/ajax.files.php y que a su vez viene de c.files.php por esta asignación
 
$smarty->assign("tsLastFiles", $tsFiles->getLastFiles());

Solo tienes que seguir el camino, todo lo que este en t.php_files estará en inc/php/ajax... 
Dentro de la función getLastFiles(), ya tiene el dato 
 
$query = 'SELECT a.file_id, a.f_url, a.f_nombre, a.f_ext, a.f_fecha,....

Espero que se me entienda la explicación!  Laughing

Laughing entendí alguito.

(Solo ocupo obtener la url completa sonde se suben los archivos en este caso se suben a /files/: ejemplo:  {$tsConfig.url}/files/archivo.jpg )

Puse todo esto y no aparece nada.

{foreach from=$tsLastFiles.data item=files}
{$a.f_url}
{$tsa.f_url}
{$tsFile.data.f_url}
{$tsFile.data.file_id}
{$tsFile.data.file_url}
{$tsInfoFile.data.f_url}
{/foreach}

{foreach from=$tsLastFiles.data item=a}
{$a.f_url}
{$tsa.f_url}
{$tsFile.data.f_url}
{$tsFile.data.file_id}
{$tsFile.data.file_url}
{$tsInfoFile.data.f_url}
{/foreach}


{foreach from=$tsVerArchivo.data item=f}
{$a.f_url}
{$tsa.f_url}
{$tsFile.data.f_url}
{$tsFile.data.file_id}
{$tsFile.data.file_url}
{$tsInfoFile.data.f_url}
{$f.f_url}
{/foreach}
Responder
#8

0
(04-09-2024, 05:15 AM)moyo escribió: Debes agradecer para ver el contenido...Laughing entendí alguito.

(Solo ocupo obtener la url completa sonde se suben los archivos en este caso se suben a /files/: ejemplo:  {$tsConfig.url}/files/archivo.jpg )

Puse todo esto y no aparece nada.

{foreach from=$tsLastFiles.data item=files}
{$a.f_url}
{$tsa.f_url}
{$tsFile.data.f_url}
{$tsFile.data.file_id}
{$tsFile.data.file_url}
{$tsInfoFile.data.f_url}
{/foreach}

{foreach from=$tsLastFiles.data item=a}
{$a.f_url}
{$tsa.f_url}
{$tsFile.data.f_url}
{$tsFile.data.file_id}
{$tsFile.data.file_url}
{$tsInfoFile.data.f_url}
{/foreach}


{foreach from=$tsVerArchivo.data item=f}
{$a.f_url}
{$tsa.f_url}
{$tsFile.data.f_url}
{$tsFile.data.file_id}
{$tsFile.data.file_url}
{$tsInfoFile.data.f_url}
{$f.f_url}
{/foreach}

pero es así
{foreach from=$tsLastFiles.data item=files}
{$files.f_url}
{$files.file_id}
{/foreach}

{foreach from=$tsLastFiles.data item=a}
{$a.f_url}
{$a.file_id}
{/foreach}

{foreach from=$tsLastFiles.data item=f}
{$f.f_url}
{$f.file_id}
{/foreach}

En lo que te había marcado en {$files.DATO_A_USAR}
DATO_A_USAR = Todas las columnas que estén desde el SELECT hasta el FROM, y si no esta, no lo puedes usar, al menos que lo añadas...esto es function getLastFiles(){ en c.files.php
$query 'SELECT a.file_id, a.f_url, a.f_nombre, a.f_ext, a.f_fecha, a.f_peso, a.f_comentarios, a.f_estado, u.user_name, u.user_activo, u.user_baneado FROM a_files AS a LEFT JOIN u_miembros AS u ON u.user_id = a.f_user WHERE a.f_user != \''.$tsUser->uid.'\' '.($tsUser->is_admod && $tsCore->settings['c_see_mod'] == '' 'AND a.f_estado = \'1\' AND u.user_activo = \'1\' && u.user_baneado = \'0\'').' ORDER BY a.file_id DESC LIMIT '.$start;
        
$data['data'] = result_array(db_exec(array(__FILE____LINE__), 'query'$query)); 
Responder
#9

0
(04-09-2024, 12:23 PM)Miguel92 escribió: Debes agradecer para ver el contenido...En lo que te había marcado en {$files.DATO_A_USAR}
DATO_A_USAR = Todas las columnas que estén desde el SELECT hasta el FROM, y si no esta, no lo puedes usar, al menos que lo añadas...esto es function getLastFiles(){ en c.files.php
$query = 'SELECT a.file_id, a.f_url, a.f_nombre, a.f_ext, a.f_fecha, a.f_peso, a.f_comentarios, a.f_estado, u.user_name, u.user_activo, u.user_baneado FROM a_files AS a LEFT JOIN u_miembros AS u ON u.user_id = a.f_user WHERE a.f_user != \''.$tsUser->uid.'\' '.($tsUser->is_admod && $tsCore->settings['c_see_mod'] == 1 ? '' : 'AND a.f_estado = \'1\' AND u.user_activo = \'1\' && u.user_baneado = \'0\'').' ORDER BY a.file_id DESC LIMIT '.$start;        $data['data'] = result_array(db_exec(array(__FILE__, __LINE__), 'query', $query));  

{$a.f_url}

Magazo! 
Me ha funcionado muchas gracias  Clap2
Responder
#10

0
Otro detalle que me sale es por ejemplo la opción de permitir cualquier tipo de archivo. todo bien sube los archivos bien. 

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


Pero cuando selecciono otro tipo de archivo en este caso mp4
[img]Registrate o inicia tu sesión para ver este contenido[/img]

Y luego trato de volver a subir un archivo mp4 sale esto:
[img]Registrate o inicia tu sesión para ver este contenido[/img]
Responder


Compartir en:

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)