Eu queria enviar um e-mail de notificação básico para o usuário, após a alteração da senha, para informá-lo sobre a alteração da senha.
Eu estou usando Rules
módulos para isso. Mas não estou encontrando nenhuma opção lá, para adicionar condição se o usuário alterou a senha.
Existe alguma maneira de verificar se o usuário alterou sua senha usando regras ou pragmaticamente.
-- Muito obrigado pelo seu tempo.
Respostas:
O mais fácil seria fazer isso usando Regras. Seguindo as próximas etapas, deve fazer o trabalho.
return $account_unchanged->pass != $account->pass;
fonte
Eu nunca tentei isso no Rules antes, mas provavelmente seria uma questão de comparar valores nos objetos
$account
e$account->original
.Uma maneira de fazer isso no código personalizado é implementar
hook_user_presave()
:Você provavelmente poderia fazer o mesmo
hook_user_update()
, mas eu nunca tentei isso antes. O acima é retirado de um projeto ao vivo e funciona perfeitamente.fonte
O uso de regras pode ser mais fácil, pois você já o está usando, mas você precisa habilitar o módulo Filtro de PHP .
As instruções a seguir:
admin/modules
admin/config/workflow/rules
After updating an existing user account
React na lista suspensa de eventos.Execute custom PHP code
Adicione o seguinte código customizado PHP na seção value
if(!empty($account->current_pass)) { return true; }
Em seguida, adicione uma ação e selecione
Send mail
[account:mail]
e preencha o campo do assunto e o campo da mensagem.fonte