2012-12-12 1 views
1

Мне нужно записать, когда пользователь меняет свой пароль в drupal 7. Когда зарегистрированный пользователь меняет свой пароль, платформа должна хранить запись в базе данных.Запись в журнале, когда пользователь меняет свой пароль в drupal

Я ценю любые указания.

спасибо :)

ответ

2

мне нужно было сделать что-то похожее на другой день и пришел к этому решению с помощью hook_user_presave()

function MYMODULE_user_presave(&$edit, $account, $category) { 
    if (!empty($edit['pass']) && $account->pass != $edit['pass']) { 
    watchdog('MYMODULE', t('Password changed for %name', array('%name' => $account->name))); 
    } 
} 
+0

большое спасибо, я проверю прямо сейчас – mjimcua

3

Создать hook_form_user_profile_form_alter() и добавить дополнительный #submit обработчик (в форме) в которые вы делаете что-то вроде этого:

if (!empty($form_state['values']['pass']) && $form_state['values']['pass'] != $form_state['values']['current_pass']) { 
    watchdog('user', 'The %name changed his password.', array('%name' => $account->name), WATCHDOG_NOTICE); 
} 
1

у меня есть модуль песочнице, чтобы сделать это: https://drupal.org/sandbox/dhalbert/1695174 («Журнал изменений пароля»).

Он использует hook_user_update(), но в остальном совсем похож на принятый ответ.

 Смежные вопросы

  • Нет связанных вопросов^_^