Simple Machines Community Forum

SMF Support => Language Specific Support => Español (Spanish) => Topic started by: motu828 on March 08, 2017, 08:14:25 AM

Title: Desactivar envio de email entre usuarios
Post by: motu828 on March 08, 2017, 08:14:25 AM
 ¿sabeis como se puede desactivar? . Necesito que desaparezca el iconito de "email" debajo del avatar del usuario y/o se desactive la opcion de enviar email entre usuarios.

Uso SMF 2.0.13

muchisimas gracias.
Title: Re: Desactivar envio de email
Post by: Irisado on March 08, 2017, 08:35:54 AM
Por favor, evita revivir temas tan antiguos en futuro.  Tema dividido.
Title: Re: Desactivar envio de email
Post by: motu828 on March 08, 2017, 09:00:16 AM
Discula Irisado, ya esta editado el post superior. Muchas gracias.
A ver si hay suerte y alguien me puede ayudar  ::)
Title: Re: Desactivar envio de email entre usuarios
Post by: d3vcho on March 08, 2017, 09:52:23 AM
Si mal no recuerdo había un permiso para evitar que cierto grupo de usuarios mandase emails. Ahora mismo no puedo buscar la ubicación, pero era en el apartado de permisos. Si quieres, puedes investigar un poco, sino, házmelo saber y cuando tenga un hueco te responderé.
Title: Re: Desactivar envio de email entre usuarios
Post by: motu828 on March 08, 2017, 10:02:26 AM
Antes de escribir aqui, busque en permisos pero no veo nada en referencia a eso. Muchas gracias compañero.
Title: Re: Desactivar envio de email entre usuarios
Post by: KENT10000 on March 08, 2017, 12:20:52 PM
Para lograr eso, yo utilizo el mod  "Disable_to_send_EMail_with_Forum-System_for_Users_lower_than_Admin"
http://custom.simplemachines.org/mods/index.php?mod=3598

Pero hay que tener presente dos cosas:

1. El autor del Mod informa que para que tenga exito, los usuarios NO deben tener habilitada la casilla "Permitir recibir email de los usuarios"

En caso de ya tener usuarios en el foro, seria poner el foro en mantenimiento, y verificar usuario por usuario, y desactivar esa casilla para quienes
la tengan activada.

2. Una vez instalado ese Mod; NO se deben registrar usuarios por medio del panel de administracion, porque en caso de hacerlo, a esos usuarios registrados de esa forma, en los temas que respondan o crean, en su perfil les aparecera el icono de email.

Por medio de permisos no hay forma de hacerlo, la unica seria eliminando los iconos de email, pero un usuario que conozca las rutas, podria
enviar facil los email a quien desee.
Title: Re: Desactivar envio de email entre usuarios
Post by: d3vcho on March 08, 2017, 12:24:02 PM
Quote from: KENT10000 on March 08, 2017, 12:20:52 PM
1. El autor del Mod informa que para que tenga exito, los usuarios NO deben tener habilitada la casilla "Permitir recibir email de los usuarios"

En caso de ya tener usuarios en el foro, seria poner el foro en mantenimiento, y verificar usuario por usuario, y desactivar esa casilla para quienes
la tengan activada.

No estoy seguro pero creo que eso también se puede hacer desde la administración... Se une a la lista de cosas por verificar cuando tenga tiempo :P
Title: Re: Desactivar envio de email entre usuarios
Post by: KENT10000 on March 08, 2017, 12:25:10 PM
al igual que motu828, yo tampoco encontre la forma de hacerlo desde alli.
Title: Re: Desactivar envio de email entre usuarios
Post by: motu828 on March 10, 2017, 04:58:11 AM
Kent, ese es el problema, que la mayoria tiene esa opcion habilitada, por lo que el mod no actua sobre ellos.
d3vcho, si nos das alguna pista se agradece.
Title: Re: Desactivar envio de email entre usuarios
Post by: KENT10000 on March 10, 2017, 10:00:09 AM
QuoteKent, ese es el problema, que la mayoria tiene esa opcion habilitada, por lo que el mod no actua sobre ellos.

En caso de ya tener usuarios en el foro, seria poner el foro en mantenimiento, y verificar usuario por usuario, y desactivar esa casilla para quienes
la tengan activada, y luego si proceder a instalar el mod. Asi lo hice en mi foro, y funciona muy bien.

La otra sera esperar a d3vcho, para una mejor solucion.
Title: Re: Desactivar envio de email entre usuarios
Post by: d3vcho on March 11, 2017, 05:32:35 AM
Lo siento, pero parece que lo indicado arriba no se puede lograr mediante la Administración.

Otra posible solución que se me ocurre es eliminar el icono de enviar email tanto de la información del autor del tema, como del perfil del usuario.
Title: Re: Desactivar envio de email entre usuarios
Post by: Príncipe_Azul on March 12, 2017, 04:26:42 AM
Hola, en éste caso creo que se puede hacer lo siguiente:

1. Eliminar el ícono para enviar el email, al menos ahí el usuario debería de conocer la url.

2. Supongo que se puede crear un condicional con un array y en ese array poner todas las IDs de las personas permitidas a enviar emails, en el caso que la ID de algún usuario que quiera enviar un email no esté en ese array, entónces daría un error llamando a ésta función:

fatal_lang_error('no_send_email');

lo bueno es que se puede configurar el mensaje de denegación que leerá el usuario, por ejemplo:

Lo sentimos! Pero no está disponible el envío de emails mediante el foro.

de todas maneras el usuario debería de acceder por la url.

Si se haría ésto que no lo veo muy difícil, se podría lograr muy bien lo de deshabilitar el envío de email, ya que por más que el usuario acceda por la url, lo mismo el foro comprobará su ID y al no estar en las permitidas, le denegará el permiso para enviar el email.


Saludos!!
Title: Re: Desactivar envio de email entre usuarios
Post by: KENT10000 on March 12, 2017, 04:51:36 PM
Esta ultima opcion seria la mas completa, y quedaria exactamente igual que el caso de la mensajeria privada.
Title: Re: Desactivar envio de email entre usuarios
Post by: Príncipe_Azul on March 16, 2017, 02:13:56 AM
Siii lo logré!!!! ;D ;D o al menos con las prueba que hice, parece que si lo logré, pero la mejor forma de saberlo es que prueben la modificación o alguien con experiencia me diga si va a funcionar correctamente ésta modificación.

Deben modificar el archivo SendTopic.template.php y buscar éste trozo de código:

function template_custom_email()
{
global $context, $settings, $options, $txt, $scripturl;


deben reemplazarlo por éste:

function template_custom_email()
{
global $context, $settings, $options, $txt, $scripturl;

$listsIDs = array("1", "20", "80", "100");
if (!in_array($context['user']['id'], $listsIDs)) {
fatal_lang_error('AquiSuVariable');
}


En la variable $listsIDs deben escribir todas las IDs de los usuarios/admins/moderadores/etc. que deseen que puedan enviar emails, como ejemplo he puesto las IDs 1, 20, 80 y 100.

En la función:

fatal_lang_error('AquiSuVariable');

deben modificar AquiSuVariable por el nombre de una variable que hayan creado, por ejemplo:

$txt['msg_no_send_email'] = 'No tienes acceso para enviar emails desde el foro';

quedaría así:

fatal_lang_error('msg_no_send_email');

Esa variable deben crearla en el archivo ./Themes/default/languages/Modifications.TuIdioma.php reemplazando TuIdioma por el nombre del idioma que utiliza tu foro, por ejemplo en mi caso sería:

Modifications.spanish_es-utf8.php

En las pruebas que hice funciona perfectamente y no debería de dar algún problema, cumple la función que muchos quieren para su foro!!! :D :D


Un abrazo y por favor comenten si les funcionó!


PD: Si ésta modificación es válida, deberían dividir mi mensaje y crearlo como un tutorial.
Title: Re: Desactivar envio de email entre usuarios
Post by: d3vcho on March 16, 2017, 02:11:22 PM
Una duda rápida Príncipe, para aquellos que somos más novatos;

¿No sería "fatal_lang_error('$txt['msg_no_send_email']');"?
Title: Re: Desactivar envio de email entre usuarios
Post by: KENT10000 on March 16, 2017, 04:15:29 PM
Lo hice exactamente igual que Príncipe_Azul, y funciona bien.

Obviamente el primer ID a incluir debe ser el del administrador, porque no solo, no podra enviar mensajes, sino que tampoco se enviaran los correos
de activacion y demas.

Seria posible, en vez de incluir los ID en el codigo, incluirlos en el panel de administracion ?

Buen trabajo Príncipe_Azul.

Un saludo.
Title: Re: Desactivar envio de email entre usuarios
Post by: Príncipe_Azul on March 17, 2017, 02:45:23 AM
Hola amigos,

Quote from: d3vcho(); on March 16, 2017, 02:11:22 PM
Una duda rápida Príncipe, para aquellos que somos más novatos;

¿No sería "fatal_lang_error('$txt['msg_no_send_email']');"?

no querido, sería como comenté:

fatal_lang_error('msg_no_send_email');

la verdad yo también soy novato en ésto y algo he intentado y funcionó, pero la razón de porque debe ir de la forma que comenté y no de la otra forma que vos me comentas, no te sabría decir, pero así trabaja esa función, supongo que espera variables que comienzan con $txt.

Yo también tuve tu misma duda y me parece raro que sea así, porque la lógica es poner la variable entera, pero al no saber como está creada la función y como se usan las variables que se les pasa como argumento, pues no te sabría decir.


Quote from: KENT10000 on March 16, 2017, 04:15:29 PM
Lo hice exactamente igual que Príncipe_Azul, y funciona bien.

Obviamente el primer ID a incluir debe ser el del administrador, porque no solo, no podra enviar mensajes, sino que tampoco se enviaran los correos
de activacion y demas.

Seria posible, en vez de incluir los ID en el codigo, incluirlos en el panel de administracion ?

Buen trabajo Príncipe_Azul.

Un saludo.

Muchas gracias amigo por probarlo y me alegro que haya funcionado!!!! ;D

No debe ser muy difícil crear un panel simple con un input en donde se pueda insertar la lista de IDs de las personas que podrán enviar emails y un botón para guardar los cambios, pero hasta ahí ya no tengo conocimientos, sería genial que alguien creara un mod gratuito para armar el panel, al menos la base y la forma ya está creada/probada.
Aunque mejor aún sería que en ese input se puedan escribir los nombres de los usuarios y que tenga un autocompletar para agregar y eliminar usuarios, eso sería bárbaro (https://www.simplemachines.org/community/proxy.php?request=http%3A%2F%2Fmedia.simplemachinesweb.com%2Fsmf%2Fdefault%2Fimages%2Fpost%2Fthumbup.gif&hash=cdb957ce8273308383cd65570638a246a18adaaa).


Un abrazo!!!
Title: Re: Desactivar envio de email entre usuarios
Post by: KENT10000 on March 17, 2017, 06:14:25 PM
Considero que esta modificacion ya deberia hacer parte de los mod de SMF.
Ya que funciona perfectamente, y no genera ningun tipo de conflicto.

Un saludo.
Title: Re: Desactivar envio de email entre usuarios
Post by: Príncipe_Azul on April 01, 2017, 05:50:04 AM
Bueno damos el tema por Solucionado, si bien el mod no existe y si bien ésta modificación que hice no es la mejor, pero si cumple con el título del tema.


Saludos!