3 # Save directory section options
5 require './proftpd-lib.pl';
9 $conf = &get_or_create_global($conf);
12 ($conf, $v) = &get_virtual_config($in{'virt'});
15 $anon = &find_directive_struct("Anonymous", $conf);
16 $conf = $anon->{'members'};
18 $d = $conf->[$in{'idx'}];
19 &error_setup($text{'dserv_err'});
22 # Delete the directory
23 &lock_file($d->{'file'});
25 $lref = &read_file_lines($d->{'file'});
26 splice(@$lref, $d->{'line'}, $d->{'eline'} - $d->{'line'} + 1);
29 &unlock_file($d->{'file'});
30 &webmin_log("dir", "delete", "$v->{'value'}:$d->{'words'}->[0]");
35 &redirect("anon_index.cgi?virt=$in{'virt'}");
38 &redirect("virt_index.cgi?virt=$in{'virt'}");
42 # Update the directory
43 $in{'dir'} =~ /^\S+$/ || &error($text{'dserv_edir'});
44 &lock_file($d->{'file'});
46 $lref = &read_file_lines($d->{'file'});
47 $lref->[$d->{'line'}] = "<Directory $in{'dir'}>";
50 &unlock_file($d->{'file'});
51 &webmin_log("dir", "save", "$v->{'value'}:$d->{'words'}->[0]");
52 &redirect("dir_index.cgi?virt=$in{'virt'}&idx=$in{'idx'}&anon=$in{'anon'}&global=$in{'global'}");