При установке и настройке ldap_auth обнаружил следующий баг в форме параметров (admin/settings/ldapauth) - не сохранялись данные в БД.
Использую версию модуля 6.x-1.0-alpha2
Пришлось покапаться в кодах модуля. Нашел функцию, которая делает сохранение параметров в базу в таблицу variable (файл ldapauth.admin.inc, форма ldapauth_admin_settings, функция ldapauth_admin_settings_submit)
$op = $form_state['clicked_button']['#value'];
switch ($op) {
case "Save configuration":
$values = $form_state['values'];
variable_set('ldapauth_login_process', $values['ldapauth_login_process']);
variable_set('ldapauth_login_conflict', $values['ldapauth_login_conflict']);
variable_set('ldapauth_forget_passwords', $values['ldapauth_forget_passwords']);
variable_set('ldapauth_disable_pass_change', $values['ldapauth_disable_pass_change']);
variable_set('ldapauth_alter_email_field', $values['ldapauth_alter_email_field']);
drupal_set_message(t('The configuration options have been saved.'));
break;
case "Reset to defaults":
variable_del('ldapauth_login_process');
variable_del('ldapauth_login_conflict');
variable_del('ldapauth_forget_passwords');
variable_del('ldapauth_disable_pass_change');
variable_del('ldapauth_alter_email_field');
drupal_set_message(t('The configuration options have been reset to their default values.'));
break;
}
// Rebuild the menu router.
menu_rebuild();
}
Все было бы хорошо, если бы у меня не стояла русская локализация файла и надписи кнопочек не были бы переведены.
Решил проблему подстановкой функции t в каждый раздел case.
В итоге получилось:
$op = $form_state['clicked_button']['#value'];
switch ($op) {
case t("Save configuration"):
$values = $form_state['values'];
variable_set('ldapauth_login_process', $values['ldapauth_login_process']);
variable_set('ldapauth_login_conflict', $values['ldapauth_login_conflict']);
variable_set('ldapauth_forget_passwords', $values['ldapauth_forget_passwords']);
variable_set('ldapauth_disable_pass_change', $values['ldapauth_disable_pass_change']);
variable_set('ldapauth_alter_email_field', $values['ldapauth_alter_email_field']);
drupal_set_message(t('The configuration options have been saved.'));
break;
case t("Reset to defaults"):
variable_del('ldapauth_login_process');
variable_del('ldapauth_login_conflict');
variable_del('ldapauth_forget_passwords');
variable_del('ldapauth_disable_pass_change');
variable_del('ldapauth_alter_email_field');
drupal_set_message(t('The configuration options have been reset to their default values.'));
break;
}
// Rebuild the menu router.
menu_rebuild();
}
На drupal.org баг запрос не создавал т.к. захожу туда только по необходимости и не смогу его толком отслеживать.
Если есть желающие, добавьте запрос на drupal.org