ti-enxame.com

Substituindo o nome do sistema na nova mensagem do usuário

Isto é para o Joomla 2.5, embora eu suspeite que seja o mesmo para a série 3.x.

Eu tenho um servidor atrás de um firewall NAT e, por esse motivo, o verdadeiro endereço IP do servidor é um endereço 192.168, mas para os usuários acessá-lo, acessam-no como www.mydomain.com, que é definido como externo endereço do firewall (não um endereço 192.168).

Quando um usuário é criado, a mensagem padrão é apagada, o que inclui:

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

Este endereço não está acessível e eu prefiro que a mensagem seja:

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

Eu poderia entrar e alterar o código-fonte do Joomla para forçar uma alteração na mensagem, mas estou assumindo que existe uma maneira mais simples de resolver isso e estou sofrendo por não ver a floresta porque estou muito perto do árvores.

Gostaria de saber se é simples colocar uma entrada na tabela Host ou um registro PTR no DNS local, que mapeie 192.168.1.100 para www.mydomain.com.

4
Douglas Pickett

Edite plugins/usuário/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']
);

Substitua JUri::root() por http://www.mydomain.com

2
sovainfo

Você pode tentar definir $ live_site em configuration.php.

3
sovainfo

crie uma substituição de idioma para 'PLG_USER_JOOMLA_NEW_USER_EMAIL_BODY' no administrador de locais:

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

Alterar todos% s por% 1 $ s,% 2 $ s,% 3 $ s,% 4 $ s Sair de% 2 $ s deve suprimir o número de ip

3
sovainfo

A maneira mais simples é editar o arquivo de idioma que contém essa entrada (codifique-a).

O arquivo de idioma está localizado na pasta: language (e depois dentro da pasta de idiomas para cada idioma instalado).

Para meus sites, ele recebe o domínio, então talvez algo não esteja configurado corretamente no seu servidor.

1
jackJoe

Descobri o que estava acontecendo - obrigado pelas sugestões que me enviaram pelo caminho certo.

Nesse caso, o problema ocorreu porque o administrador que criou as contas estava atrás do mesmo firewall que o servidor. O nome do sistema que foi colocado na mensagem foi criado escolhendo o valor "HTTP_Host" no ambiente da sessão e reflete a URL com a qual você se conecta - que não era um nome, mas um endereço IP nessa situação. Se você está atrás do firewall, obtém o valor por trás do firewall - se estiver fora do firewall, obtém o valor fora do firewall, e é por isso que normalmente isso fornece a resposta correta quando o servidor está em um ambiente hospedado.

Para que isso funcione corretamente, eu deveria ter configurado um DNS com visualizações divididas - para que o administrador esteja sempre se conectando a www.mydomain.com. Se você estiver atrás do firewall, o DNS fornecerá o endereço 192.168; se você estiver fora do firewall, receberá o IP externo quando o símbolo www.mydomain.com for resolvido para um endereço IP.

Em seguida, quando a mensagem é enviada, o corpo da mensagem contém www.mydomain.com nos dois casos.

Quanto a como substituir o valor http: // enviado, sim, as sugestões sobre como reescrever o código em plugins/user/joomla/joomla.php estão corretas. Exceto em this case - o site estava usando uma extensão "Login One" para limitar sessões simultâneas do usuário, e a extensão substituiu o código padrão do Joomla por um plug-in próprio, portanto, ele precisava ser alterado o código de extensão não é o local padrão.

Então, obrigado por todas as sugestões, teria sido muito mais difícil encontrar a resposta sem elas.

1
Douglas Pickett