| Server IP : 182.53.201.61 / Your IP : 216.73.217.175 Web Server : Apache/2.2.15 (Fedora) System : Linux km10.dyndns.org 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686 User : apache ( 48) PHP Version : 5.3.3 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/libexec/webmin/ldap-server/ |
Upload File : |
#!/usr/bin/perl
# Update the value(s) of an LDAP attribute
require './ldap-server-lib.pl';
&error_setup($text{'save_err'});
$access{'browser'} || &error($text{'browser_ecannot'});
&ReadParse();
$ldap = &connect_ldap_db();
ref($ldap) || &error($ldap);
# Get the base object
$rv = $ldap->search(base => $in{'base'},
filter => '(objectClass=*)',
scope => 'base');
if (!$rv || $rv->code) {
&error(&ldap_error($rv));
}
($bo) = $rv->all_entries;
$bo || &error(&text('save_ebase', "<tt>$in{'base'}</tt>"));
# Update the values
$in{'value'} =~ s/\r//g;
@values = split(/\n+/, $in{'value'});
@values || &error($text{'save_enone'});
$rv = $ldap->modify($bo->dn(),
replace => { $in{'edit'} => \@values });
if (!$rv || $rv->code) {
&error(&text('save_emodify', "<tt>".$bo->dn()."</tt>",
"<tt>$in{'edit'}</tt>",
&ldap_error($rv)));
}
# Return to object
&webmin_log('modify', 'attr', $in{'edit'}, { 'dn' => $in{'base'},
'value' => join(" ", @values) });
&redirect("edit_browser.cgi?base=".&urlize($in{'base'})."&mode=attrs");