diff --git a/modules/user.eval.inc b/modules/user.eval.inc index 395c454c..cbb7f835 100644 --- a/modules/user.eval.inc +++ b/modules/user.eval.inc @@ -131,5 +131,15 @@ function rules_action_user_send_account_email($account, $email_type) { } /** + * Action: Generate a one-time log in for the user. + */ +function rules_action_user_create_login_url($account) { + return array( + 'one_time_login_url' => user_pass_reset_url($account), + ); +} + + + /** * @} */ diff --git a/modules/user.rules.inc b/modules/user.rules.inc index 47b5d565..6ea9fbe8 100644 --- a/modules/user.rules.inc +++ b/modules/user.rules.inc @@ -237,6 +237,16 @@ function rules_user_action_info() { 'base' => 'rules_action_user_send_account_email', 'access callback' => 'rules_user_integration_access', ); + $items['user_create_login_url'] = $defaults + array( + 'label' => t('Generate one-time log in URL'), + 'base' => 'rules_action_user_create_login_url', + 'provides' => array( + 'one_time_login_url' => array( + 'type' => 'uri', + 'label' => t('One-time log in URL for the user.'), + ), + ), + ); return $items; }