Ayuda con sistema de descargas de Adjuntos en SMF

Started by ^SoporteGSM^, November 09, 2017, 09:08:51 PM

Previous topic - Next topic

^SoporteGSM^

Hola a todos amigos!!

Esta es mi solicitud... que puedo hacer para que cuando un usuario entre a un tema que tenga un adjunto, si pueda ser visible parte de el, pero que aparezca una leyenda como esta:

ENG_BOOT_Usted no llena requisitos para descargar este archivo, mayor Info aqui PC1.tar (7820 kB - descargado 1 veces.)

El archivo siempre debe estar visible, pero solo usuarios con cierta cantidad de mensajes o VIP, pueden descargar

Este link tiene un adjunto: http://www.gsmarena.com.mx/index.php?topic=91

Príncipe_Azul

Hola, disculpa por lo que te diré, pero espero que este sitio que has abierto, ahora lo mantengas por siempre o hasta donde más puedas, ya que todos los sitios que abres siempre los terminas cerrando y es tedioso siempre ayudar a una persona que abre una comunidad hoy y mañana la cierra tirando todas las ayudas y el trabajo por la borda, te lo digo de la mejor manera, pero como ayudante desde hace años me molesta tu actitud, aún así te ayudaré, pero por favor ya no cierres más comunidades y abras otras nuevas, porque así nunca tendrás una comunidad, ya que un proyecto no se lo tira de un día para otro, para tener un gran proyecto se necesitan muchos años.
Siempre he notado que tienes una gran obsesión por el "SEO" y te diré que el mejor SEO es éste:

Contenido, mantenimiento, esfuerzo y continuidad.


Con respecto a la ayuda que quieres, creo que éste mod puede serte útil:

http://custom.simplemachines.org/mods/index.php?mod=1180

http://www.simplemachines.org/community/index.php?topic=239124.msg3158103#msg3158103

Ese mod le muestra una noticia al usuario de que un X post tiene adjuntos, pero no deja descargarlos.
Espero que te sea útil


Saludos y buena suerte!! :)
Foro ArgentinaIRC - Ayuda de Programación General, Informática, IRC y mIRC Scripting.

Foro de Artesanías, Recetas de cocina, Ropa para perros, Tejidos, Bijouterie, Porcelana, Chocolatería, Fondos de pantalla, Noticias, Belleza, Medicina natural, Videos y Programas: http://www.misartesanias.net/

^SoporteGSM^

Hola amigo, como estas? No tengo nada que decir para defenderme.

Lo unico que puedo decir amigo, es que en todo este tiempo he aprendido muchas cosas de SMF, he aqui algunos ejemplos:

- En este foro actual no tengo mas que 2 Mod y solo por que son necesarios
- Ya no me interesa el seo y eso lo aprendi apenas con mi foro actual

Y si de algo estoy seguro es que este sera mi unico foro que mantendré en linea.

Bueno regresando al tema amigo, algo en si mas especifico a mi duda no se puede hacer??

Príncipe_Azul

Hola amigo, disculpá por la demora, gracias a Dios estoy bien, acalorado ahora porque hoy fué un día de mucho calor aquí en mi provincia, espero que vos estés muy bien.

La verdad querido amigo nunca diría algo para ofenderte, al contrario, mi comentario fué porque quisiera que el día de mañana después muchos años, pueda volver a ver tu foro y que ese foro sea un gran foro, eso es lo que quisiera y por eso mi consejo, que no es más que una opinión y un consejo personal.
QuoteY si de algo estoy seguro es que este sera mi unico foro que mantendré en linea.

Espero que dure por siempre




En cuanto a la duda, lo que he entendido que quieres, es que los Visitantes (personas que no están registradas en tu foro o que no han iniciado sesión) vean un mensaje que diga que en un X post hay adjuntos pero que no puedan descargarlos, mirá en mi foro tengo algo que creo que es lo que buscas, te dejo una captura de como ven los Visitantes cuando hay un adjunto:



Como podrás notar, lo que le he puesto es lo que está recuadrado con color rojo, de esa manera los Visitantes saben que hay un adjunto (o varios) para descargar, pero que deben estar Registrados y Logueados para que puedan descargar ese o esos adjuntos, incluso no tán sólo se puede notar que hay adjuntos, sino también se puede visualizar el nombre, la extensión y el tamaño de esos adjuntos, hasta se puede ver la cantidad de descargas que tiene, algo que realmente incentiva mucho a las personas para que se registren en el foro, en el caso que obviamente no estén registrados y en el caso que si lo estén pero no estén logueados, sólo deberán loguearse y podrán descargar todo lo que deseen.

Este mensaje es muy importante para los Visitantes y por eso lo he puesto en mi foro.

Confirmame si es eso lo que deseas.


Un abrazo y muchos éxitos con tu nuevo foro
Foro ArgentinaIRC - Ayuda de Programación General, Informática, IRC y mIRC Scripting.

Foro de Artesanías, Recetas de cocina, Ropa para perros, Tejidos, Bijouterie, Porcelana, Chocolatería, Fondos de pantalla, Noticias, Belleza, Medicina natural, Videos y Programas: http://www.misartesanias.net/

^SoporteGSM^

#4
Hola de nuevo amigo!!

La idea esta perfecta... solo añadir lo siguiente.- una ves que se registro o logueo el usuario, que salga este mensaje(solo si aplica):

"No tienes requisitos para descargar mayor información aqui"

cuando den clic en "aqui", que salga un mensaje asi:

"Para tener acceso a las descargas debes tener un minimo de 50 mensajes en el foro o ser miembro VIP. Quizas sea momento de aportar mas a la comunidad o de comprar tu membresia aqui"

-Rock Lee-

Lo que te dice @Príncipe_Azul funciona perfectamente simplemente debes buscar dentro del mod (creo edita el display.template para que muestre) la parte donde marca el mensaje para cambiarlo a tu gusto. Sino mas simple seria crear una condición que vos mismo la definís y usando las variables del mismo SMF comprobar si el usuario esta logeado de lo contrario enviarlo a que se logee o registre! ... No ando tanto en la pc pero no seria muy difícil si sabes algo de PHP y HTML sumado SMF tiene todo comentado sin embargo, veré si puedo experimentar un poco al rato!


Saludos!

Edito: Sino mal recuerdo los permisos normales permite ver o no los adjuntos pero lo aplica al grupo de "Usuarios Regulares" en general, habría probar si se puede aplicar la condicional que tome por conteo de mensajes (el que aplica por defecto) o en su defecto definir un mínimo... que seguro se debe poder probando un poco y experimentando un rato. pensando
¡Regresando como cual Fenix! ~ Bomber Code
Ayudas - Aportes - Tutoriales - Y mucho mas!!!

^SoporteGSM^

Quote from: Rock Lee on November 20, 2017, 09:12:56 PM
Lo que te dice @Príncipe_Azul funciona perfectamente simplemente debes buscar dentro del mod (creo edita el display.template para que muestre) la parte donde marca el mensaje para cambiarlo a tu gusto. Sino mas simple seria crear una condición que vos mismo la definís y usando las variables del mismo SMF comprobar si el usuario esta logeado de lo contrario enviarlo a que se logee o registre! ... No ando tanto en la pc pero no seria muy difícil si sabes algo de PHP y HTML sumado SMF tiene todo comentado sin embargo, veré si puedo experimentar un poco al rato!


Saludos!

Edito: Sino mal recuerdo los permisos normales permite ver o no los adjuntos pero lo aplica al grupo de "Usuarios Regulares" en general, habría probar si se puede aplicar la condicional que tome por conteo de mensajes (el que aplica por defecto) o en su defecto definir un mínimo... que seguro se debe poder probando un poco y experimentando un rato. pensando

Hola amigo, tengo nociones de PHP superbasicas, lo cierto es que si he probado con permisos de usuarios y funciona perfecto!!

Sin embargo lo ideal es que siempre esten visibles los adjuntos, y la condicional se encargara de permitir o no las descargas en base a un minimo de mensajes o ser vip. Ahora bien, si me dan una idea de como hacerlo, con gusto intento hacer pruebas en el foro.

Tengo la disponibilidad de aprender, con tal de lograr el objetivo

Príncipe_Azul

Hola amigos, yo no tengo instalado ningún mod (o al menos no aparece en el gestor de mods instalados) para lograr esa noticia que se muestra en mi foro a los Visitantes informando de que un mensaje contiene adjuntos, es una modificación manual, seguramente es de un mod que preferí no instalarlo por alguna razón y hacer yo mismo la modificación, ya que en el gestor de paquetes no aparece ningún mod relacionado con lo que comento.

Para lograr lo que quieres, tienes que modificar el archivo Display.template.php del theme default, la modificación tál cuál yo la tengo, no te va a funcionar del todo como quieres, ya que mi foro muestra esa noticia a los Visitantes, en cambio vos querés que se muestre a personas que no llegan a una X cantidad de mensajes.
Lo mejor y más rápido va a ser que nos adjuntes tu archivo Display.template.php.


Saludos
Foro ArgentinaIRC - Ayuda de Programación General, Informática, IRC y mIRC Scripting.

Foro de Artesanías, Recetas de cocina, Ropa para perros, Tejidos, Bijouterie, Porcelana, Chocolatería, Fondos de pantalla, Noticias, Belleza, Medicina natural, Videos y Programas: http://www.misartesanias.net/

-Rock Lee-

Quote from: ^SoporteGSM^ on November 20, 2017, 09:46:01 PM
Hola amigo, tengo nociones de PHP superbasicas, lo cierto es que si he probado con permisos de usuarios y funciona perfecto!!

Sin embargo lo ideal es que siempre esten visibles los adjuntos, y la condicional se encargara de permitir o no las descargas en base a un minimo de mensajes o ser vip. Ahora bien, si me dan una idea de como hacerlo, con gusto intento hacer pruebas en el foro.

Tengo la disponibilidad de aprender, con tal de lograr el objetivo

Bien entonces ya la mitad esta hecho por el mismo SMF, ahora hay que lograr que esa variable poner una condicion if para muestre si el usuario tiene rango/permiso de descargarlo. Hay que ver en la wiki de SMF las variables de los adjuntos (esta mejor explicado en la de ingles) y mirar tu display.template en la zona de adjuntos y probar un poco con las variables (puedes ver otros lados aplica el mismo principio para sacar la idea/código necesario) pero esta claro te llevara un tiempo lograrlo y no siempre a la primera sale... es probar y errar para lograrlo. Ahora ando haciendo otra cosa para mi en php, va mas un trabajo pago tengo, pero si me hago algo de tiempo voy a probar algo me ronda en la cabeza :P (que esta en el mismo display template a si que puedes ver el archivo y capas lo sacas antes que yo).


Saludos!
¡Regresando como cual Fenix! ~ Bomber Code
Ayudas - Aportes - Tutoriales - Y mucho mas!!!

^SoporteGSM^

Amigos he andado bien "camotes" (ocupado) jeje, mañana temprano subo mi displeytemplate.php

solo hago el cmentario para que esten al tanto sus respuestas...

-Rock Lee-

Quote from: ^SoporteGSM^ on November 22, 2017, 06:53:27 PM
Amigos he andado bien "camotes" (ocupado) jeje, mañana temprano subo mi displeytemplate.php

solo hago el cmentario para que esten al tanto sus respuestas...

He probado con el theme default medianamente lo que tenia pensado, funciona aunque tiene algunos fallos aun no logro ver a fondo por falta de tiempo, seria genial ver como es el que usas para ver si se aplica de la forma deseamos.


Saludos
¡Regresando como cual Fenix! ~ Bomber Code
Ayudas - Aportes - Tutoriales - Y mucho mas!!!

^SoporteGSM^

Listo adjunto mi Displeytemplate del tema Exodus

-Rock Lee-

Quote from: ^SoporteGSM^ on November 22, 2017, 09:39:03 PM
Listo adjunto mi Displeytemplate del tema Exodus

Tratare de sacar tiempo a ver si logro algo ;)


Saludos!
¡Regresando como cual Fenix! ~ Bomber Code
Ayudas - Aportes - Tutoriales - Y mucho mas!!!

^SoporteGSM^


^SoporteGSM^

Amigos hay alguna novedad? O sabes de algun codigo que pueda incorporar para hacer pruebas?

vicram10

realmente solo es cuestion de buscar a donde se dirige cuando das click para descargar un adjunto y antes de iniciar dicha descarga, haces las preguntas necesarias como por ejemplo si pertenece o no a un determinado grupo de usuario.

Si mal no recuerdo en Display.php se encuentra la funcion "Download", mas o menos en la linea 1224
se encuentra


// Make sure some attachment was requested!


Agrega antes


//begin -> controlar grupo de usuario
$puedeDescargar = false;
$listaGruposPermitidos = array(1,2,3,4);
foreach($user_info['groups'] as $key => $value){
if (in_array($value, $listaGruposPermitidos))
$puedeDescargar = true;
}
if (!$puedeDescargar){
fatal_lang_error('no_access', false);
}
//end -> control de grupo de usuario


Donde 1,2,3,4 serían los grupos a los que le permites descargar... sino le permites salta un error de validacion. Podes probar de esa manera y ver si te funciona, esto te controla hasta a los propios administradores

^SoporteGSM^

Tengo un 80% avanzado amigos, ya logre que lo vean pero justamente como yo deseo no pueden descargar, ahora solo tengo esta duda... como modifico este mensaje:


^SoporteGSM^

#17
Quote from: ^SoporteGSM^ on December 13, 2017, 12:24:05 PM
Tengo un 80% avanzado amigos, ya logre que lo vean pero justamente como yo deseo no pueden descargar, ahora solo tengo esta duda... como modifico este mensaje:

Ya pude modificar el mensaje y ya aparece asi:

Solo Usurios VIP pueden descargar. Si no eres VIP compra tu membresia aqui o de contrario debes tener 50 mensajes en el Foro

Ahora como pudo agregar en la palabra "aqui" la url de compra de membresia (el archivo es Errors.spanish_es-utf8)???

Y aprovecho para solicitar ayuda para añadir este texto "Solo usuarios registrados y logueados puden decargar archivos. Por favor haga clic en Registrar o Iniciar Sesión"

como esta aqui:

Los visitantantes si pueden ver adjuntos pero no descargar, entonces deseo añadir el texto anterior.

Y obvio una ves que se logueen ya aplicara una segunda condición de permisos de descargas en base a la configuracion ya establecida

En pocas palabras los visitantes podran ver pero no decargar. La descarga solo esta autorizada para usuarios VIP

-Rock Lee-

En esa tienes modificar el mismo lugar agregar aquí sino mal recuerdo, yo lo agregue de esa manera... Ahora el tema del logeo puedes guiarte con la del ssi que muestra esa parte.


Saludos!
¡Regresando como cual Fenix! ~ Bomber Code
Ayudas - Aportes - Tutoriales - Y mucho mas!!!

vicram10

Para agregar la url a la palabra aqui es simplemente

<a href="http://la_url_aqui">aqui</a>

Para lo otro, busca en el archivo Display.template.php

<div id="msg_', $message['id'], '_footer" class="attachments smalltext">

Agrega antes

<p>Aqui el texto que quieres que muestre</p>

quedando


<p>Aqui el texto que quieres que muestre</p>
<div id="msg_', $message['id'], '_footer" class="attachments smalltext">

Advertisement: