Quería enviar un correo electrónico de notificación básica al usuario, después de que haya cambiado la contraseña, para informarle sobre el cambio de contraseña.
Estoy usando Rules
módulos para eso. Pero no encuentro ninguna opción allí, para agregar condición si el usuario ha cambiado la contraseña.
¿Hay alguna manera de verificar si el usuario ha cambiado su contraseña usando reglas o pragmáticamente?
-- Muchas gracias por tu tiempo.
Respuestas:
Lo más fácil sería hacer esto usando Reglas. Siguiendo los siguientes pasos, debería hacer el trabajo.
return $account_unchanged->pass != $account->pass;
fuente
No lo he probado en Reglas antes, pero probablemente sería una cuestión de comparar valores en los objetos
$account
y$account->original
.Una forma de hacerlo en código personalizado es implementar
hook_user_presave()
:Probablemente podrías hacer lo mismo
hook_user_update()
, pero no lo he intentado antes. Lo anterior está tomado de un proyecto en vivo y funciona perfectamente.fuente
Usar Reglas puede ser más fácil ya que ya lo está usando, pero debe habilitar el módulo Filtro PHP .
Las instrucciones de la siguiente manera:
admin/modules
admin/config/workflow/rules
After updating an existing user account
Reaccionar en la lista desplegable de eventos.Execute custom PHP code
Agregue el siguiente código personalizado de PHP en la sección de valor
if(!empty($account->current_pass)) { return true; }
Luego agregue una acción y seleccione
Send mail
[account:mail]
y complete el campo de asunto y el campo de mensaje.fuente