Desactivar envio de email entre usuarios

Started by motu828, March 08, 2017, 08:14:25 AM

Previous topic - Next topic

motu828

 ¿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.

Irisado

Por favor, evita revivir temas tan antiguos en futuro.  Tema dividido.
Soñando con una playa donde brilla el sol, un arco iris ilumina el cielo, y el mar espejea iridescentemente

motu828

Discula Irisado, ya esta editado el post superior. Muchas gracias.
A ver si hay suerte y alguien me puede ayudar  ::)

d3vcho

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é.
"Greeting Death as an old friend, they departed this life as equals"

motu828

Antes de escribir aqui, busque en permisos pero no veo nada en referencia a eso. Muchas gracias compañero.

KENT10000

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.

d3vcho

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
"Greeting Death as an old friend, they departed this life as equals"

KENT10000

al igual que motu828, yo tampoco encontre la forma de hacerlo desde alli.

motu828

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.

KENT10000

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.

d3vcho

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.
"Greeting Death as an old friend, they departed this life as equals"

Príncipe_Azul

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!!
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/

KENT10000

Esta ultima opcion seria la mas completa, y quedaria exactamente igual que el caso de la mensajeria privada.

Príncipe_Azul

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.
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/

d3vcho

Una duda rápida Príncipe, para aquellos que somos más novatos;

¿No sería "fatal_lang_error('$txt['msg_no_send_email']');"?
"Greeting Death as an old friend, they departed this life as equals"

KENT10000

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.

Príncipe_Azul

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 .


Un abrazo!!!
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/

KENT10000

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.

Príncipe_Azul

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!
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/

Advertisement: