Server IP : 195.201.23.43 / Your IP : 18.119.143.234 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/webmin/ldap-server/ |
Upload File : |
#!/usr/bin/perl # Show a form for adding a new object require './ldap-server-lib.pl'; &ReadParse(); $ldap = &connect_ldap_db(); ref($ldap) || &error($ldap); if ($in{'clone'}) { # Get original object $rv = $ldap->search(base => $in{'base'}, filter => '(objectClass=*)', scope => 'base'); if (!$rv || $rv->code) { &error(&text('oadd_eget', "<tt>$in{'base'}</tt>", &ldap_error($rv))); } ($bo) = $rv->all_entries; if ($in{'base'} =~ /^([^=]+)=([^,]+)[, ]*(.*)$/) { $dn1 = $1; $dn2 = $2; $base = $3; } @classes = $bo->get_value("objectClass"); foreach $a ($bo->attributes()) { next if ($a eq "objectClass"); local @av = $bo->get_value($a); push(@attrs, [ $a, @av == 1 ? $av[0] : \@av ]); } push(@attrs, [ ], [ ]); } else { # Under some object $base = $in{'base'}; $dn1 = "cn"; for($i=0; $i<$config{'attr_count'}; $i++) { push(@attrs, [ ]); } } &ui_print_header(undef, $text{'oadd_title'}, "", "oadd"); print &ui_form_start("add.cgi", "post"); print &ui_table_start($text{'oadd_header'}, undef, 2); # New object print &ui_table_row($text{'oadd_dn'}, &ui_textbox("dn1", $dn1, 10)."=".&ui_textbox("dn2", $dn2, 40)); # Parent object if ($base) { print &ui_hidden("base", $base); print &ui_table_row($text{'oadd_base'}, "<tt>$base</tt>"); } # Object classes print &ui_table_row($text{'oadd_classes'}, &ui_textarea("classes", join("\n", @classes), 4, 40)); # Other attributes $i = 0; $atable = &ui_columns_start([ $text{'browser_name'}, $text{'browser_value'} ]); foreach $a (@attrs) { $atable .= &ui_columns_row([ &ui_textbox("name_$i", $a->[0], 30), ref($a->[1]) ? &ui_textarea("value_$i", join("\n", @{$a->[1]}), scalar(@{$a->[1]}), 50) : &ui_textbox("value_$i", $a->[1], 50), ]); $i++; } $atable .= &ui_columns_end(); print &ui_table_row($text{'oadd_attrs'}, $atable); print &ui_table_end(); print &ui_form_end([ [ undef, $text{'create'} ] ]); &ui_print_footer("edit_browser.cgi?base=".&urlize($in{'base'}), $text{'browser_return'});Private