it-swarm-es.tech

Reemplazar el nombre del sistema en el nuevo mensaje de usuario

Esto es para Joomla 2.5, aunque sospecho que es lo mismo para la serie 3.x.

Tengo un servidor detrás de un firewall NAT, y debido a eso, la verdadera dirección IP del servidor es una dirección 192.168, pero para que los usuarios puedan acceder a ella, acceden a ella como www.mydomain.com, que está configurada en el exterior dirección del cortafuegos (no una dirección 192.168).

Cuando se crea un usuario, se apaga el mensaje predeterminado, que incluye:

This email contains your username and password to log in to http:// 192.168.1.100

No se puede acceder a esta dirección, y prefiero que el mensaje sea:

This email contains your username and password to log in to http://www.mydomain.com

Podría entrar y cambiar el código fuente de Joomla para forzar un cambio en el mensaje, pero supongo que hay una manera más simple de resolver esto y estoy sufriendo por no ver el bosque porque estoy demasiado cerca del arboles.

Me pregunto si es tan simple como poner una entrada en la tabla Host o un registro PTR en el DNS local, que asignará 192.168.1.100 a www.midominio.com.

4
Douglas Pickett

Editar complementos/usuario/joomla/joomla.php:

$emailBody = JText::sprintf(
    'PLG_USER_JOOMLA_NEW_USER_EMAIL_BODY',
    $user['name'],
    $this->app->get('sitename'),
    JUri::root(),
    $user['username'],
    $user['password_clear']
);

Reemplace JUri::root() con http://www.mydomain.com

2
sovainfo

Puede intentar establecer $ live_site en configuration.php.

3
sovainfo

cree una anulación de idioma para 'PLG_USER_JOOMLA_NEW_USER_EMAIL_BODY' en el administrador de ubicación:

PLG_USER_JOOMLA_NEW_USER_EMAIL_BODY="Hello %s,\n\n\nYou have been added as a User to HTTP://www.mydomain.com (%s) by an Administrator.\n\nThis email contains your username and password to log in to %s\n\nUsername: %s\nPassword: %s\n\n\nPlease do not respond to this message as it is automatically generated and is for information purposes only."

Cambiar todos los% s por% 1 $ s,% 2 $ s,% 3 $ s,% 4 $ s Dejar fuera% 2 $ s debería suprimir el número de ip

3
sovainfo

La forma más simple es editar el archivo de idioma que contiene esa entrada (codificarlo).

El archivo de idioma se encuentra en la carpeta: language (y luego dentro de la carpeta de idioma para cada idioma instalado).

Para mis sitios, obtiene el dominio, por lo que tal vez algo no esté configurado correctamente en su servidor.

1
jackJoe

Descubrí lo que estaba sucediendo, gracias por las sugerencias que me enviaron por el camino correcto.

En este caso, el problema se debía a que el administrador que creaba las cuentas estaba detrás del mismo firewall que el servidor. El nombre del sistema que se incluyó en el mensaje se creó seleccionando el valor "HTTP_Host" del entorno de sesión y refleja la URL con la que se conecta, que no era un nombre sino una dirección IP en esta situación. Si está detrás del cortafuegos, obtiene el valor detrás del cortafuegos; si está fuera del cortafuegos, obtiene el valor fuera del cortafuegos, por lo que esto normalmente da la respuesta correcta cuando el servidor está en un entorno alojado.

Para que esto funcione correctamente, debería haber configurado un DNS con vistas divididas, de modo que el administrador siempre se conecte a www.midominio.com. Si está detrás del firewall, el DNS le proporciona la dirección 192.168, si está fuera del firewall, recibe la IP externa cuando el símbolo www.midominio.com se resuelve en una dirección IP.

Luego, cuando se envía el mensaje, el cuerpo del mensaje contiene www.midominio.com en ambos casos.

En cuanto a cómo anular el valor http: // enviado, sí, las sugerencias sobre cómo volver a escribir el código en plugins/user/joomla/joomla.php son correctas. Excepto en el caso this - el sitio estaba usando una extensión "Login One" para limitar las sesiones simultáneas de usuarios, y la extensión reemplazó el código estándar de Joomla con un complemento propio, por lo que era necesario cambiarlo en El código de extensión no es el lugar estándar.

Entonces, gracias por todas las sugerencias, hubiera sido mucho más difícil llegar a la respuesta sin ellas.

1
Douglas Pickett