Viewing file: edit_base.cgi (2.47 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl # Show a form for editing the LDAP search bases for users, groups other objects
require './ldap-client-lib.pl'; &ui_print_header(undef, $text{'base_title'}, "", "base");
$conf = &get_config(); print &ui_form_start("save_base.cgi", "post"); print &ui_table_start($text{'base_header'}, "width=100%", 2);
@bases = &find_value("base", $conf); @scopes = &find_value("scope", $conf); @filters = &find_value("filter", $conf);
if (&get_ldap_client() eq "nss") { # Base is just one directive $base = $bases[0]; $scope = $scopes[0]; $filter = $filters[0]; } else { # Default base, scope and filter are the ones with no DB ($base) = grep { /^\S+$/ } @bases; ($scope) = grep { /^\S+$/ } @scopes; ($filter) = grep { /^\S+$/ } @filters; } print &ui_table_row($text{'base_base'}, &ui_textbox("base", $base, 50)."\n". &base_chooser_button("base", 0));
$scopes = [ [ "", $text{'default'} ], [ "sub", $text{'base_ssub'} ], [ "one", $text{'base_sone'} ], [ "base", $text{'base_sbase'} ] ]; print &ui_table_row($text{'base_scope'}, &ui_select("scope", $scope, $scopes));
print &ui_table_row($text{'base_timelimit'}, &ui_opt_textbox("timelimit", &find_svalue("timelimit", $conf), 5, $text{'default'})." ".$text{'base_secs'});
$sp = " " x 5; foreach $b (@base_types) { local ($base, $scope, $filter); if (&get_ldap_client() eq "nss") { # Older LDAP config uses directives like nss_base_passwd, with # the scope and filter separated by ? $base = &find_svalue("nss_base_".$b, $conf); if ($base =~ /^(.*)\?(.*)\?(.*)$/) { $base = $1; $scope = $2; $filter = $3; } elsif ($base =~ /^(.*)\?(.*)$/) { $base = $1; $scope = $2; } } else { # Newer LDAP config uses ($base) = map { /^\S+\s+(\S+)/; $1 } grep { /^\Q$b\E\s/ } @bases; ($scope) = map { /^\S+\s+(\S+)/; $1 } grep { /^\Q$b\E\s/ } @scopes; ($filter) = map { /^\S+\s+(\S+)/; $1 } grep { /^\Q$b\E\s/ } @filters; } print &ui_table_row($text{'base_'.$b}, &ui_opt_textbox("base_$b", $base, 50, $text{'base_global'})." ". &base_chooser_button("base_$b", 0). "<br><table>\n". "<tr> <td>$sp</td> <td><b>$text{'base_bscope'}</b></td>\n". "<td>".&ui_select("scope_$b", $scope, $scopes)."</td> </tr>\n". "<tr> <td>$sp</td> <td><b>$text{'base_bfilter'}</b></td>\n". "<td>".&ui_textbox("filter_$b", $filter, 50)."</td> </tr>\n". "</table>"); }
print &ui_table_end(); print &ui_form_end([ [ "save", $text{'save'} ] ]);
&ui_print_footer("", $text{'index_return'});
|