diff --git a/acl/lang/en b/acl/lang/en index c0843614f..92189a318 100644 --- a/acl/lang/en +++ b/acl/lang/en @@ -420,8 +420,12 @@ sql_eprefix=Missing or invalid base DN (no spaces allowed) sql_eprefix2=Invalid-looking base DN - should be like dc=mydomain,dc=com sql_title2=Create Missing Tables sql_tableerr=User and group database settings are valid, but some tables needed by Webmin are missing : $1 -sql_tableerr2=Click the Create Tables to have them created automatically, or manually run the SQL below. +sql_tableerr2=Click the Create Tables button below to have them created automatically, or manually run the SQL below. sql_make=Create Tables +sql_title3=Create Missing DN +sql_dnerr=User and group database settings are valid, but the LDAP DN needed by Webmin is missing : $1 +sql_dnerr2=Click the Create DN button below to have it create automatically, or add it to your LDAP server manually. +sql_makedn=Create DN make_title=Create User and Group Tables make_err=Failed to create user and group tables diff --git a/acl/save_sql.cgi b/acl/save_sql.cgi index f5d61e3e6..1d8778498 100755 --- a/acl/save_sql.cgi +++ b/acl/save_sql.cgi @@ -58,7 +58,7 @@ if ($p) { # Make sure tables exist $err = &validate_userdb($str, 0); -if ($err) { +if ($err && ($p eq "mysql" || $p eq "postgresql")) { # Tables are missing, need to create first &ui_print_header(undef, $text{'sql_title2'}, ""); @@ -76,6 +76,19 @@ if ($err) { } print &ui_table_end(); + &ui_print_footer("", $text{'index_return'}); + } +elsif ($err && $p eq "ldap") { + # LDAP DN is missing + &ui_print_header(undef, $text{'sql_title3'}, ""); + + print &text('sql_dnerr', $err),"
\n"; + print $text{'sql_dnerr2'},"
\n"; + print &ui_form_start("makedn.cgi"); + print &ui_hidden("userdb", $str); + print &ui_hidden("userdb_addto", $in{'addto'}); + print &ui_form_end([ [ undef, $text{'sql_makedn'} ] ]); + &ui_print_footer("", $text{'index_return'}); } else {