#!/usr/local/bin/perl # anon_index.cgi # Display a menu for anonymous section options require './proftpd-lib.pl'; &ReadParse(); ($conf, $v) = &get_virtual_config($in{'virt'}); $anonstr = &find_directive_struct("Anonymous", $conf); if (!$anonstr) { # Go to the anon options page &redirect("edit_aserv.cgi?virt=$in{'virt'}&init=1"); exit; } $anon = $anonstr->{'members'}; # Display header and config icons $desc = $in{'virt'} eq '' ? $text{'anon_header2'} : &text('anon_header1', $v->{'value'}); &ui_print_header($desc, $text{'anon_title'}, "", undef, undef, undef, undef, &restart_button()); print "

$text{'anon_opts'}

\n"; $anon_icon = { "icon" => "images/anon.gif", "name" => $text{'anon_anon'}, "link" => "edit_aserv.cgi?virt=$in{'virt'}" }; &config_icons("anon", "edit_anon.cgi?virt=$in{'virt'}&", $anon_icon); # Display per-directory/limit options @dir = ( &find_directive_struct("Directory", $anon) , &find_directive_struct("Limit", $anon) ); if (@dir) { print &ui_hr(); print "

$text{'virt_header'}

\n"; foreach $d (@dir) { if ($d->{'name'} eq 'Limit') { push(@links, "limit_index.cgi?virt=$in{'virt'}&". "anon=1&limit=".&indexof($d, @$anon)); push(@titles, &text('virt_limit', $d->{'value'})); push(@icons, "images/limit.gif"); } else { push(@links, "dir_index.cgi?virt=$in{'virt'}&". "anon=1&idx=".&indexof($d, @$anon)); push(@titles, &text('virt_dir', $d->{'value'})); push(@icons, "images/dir.gif"); } } &icons_table(\@links, \@titles, \@icons, 3); } print "
\n"; print "
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
$text{'virt_adddir'}
\n"; print "\n"; print "\n"; print "
$text{'virt_path'}\n"; print "
\n"; print "
\n"; print "
\n"; print "\n"; print "\n"; print "\n"; print "\n"; print "
$text{'virt_addlimit'}
\n"; print "\n"; print "\n"; print "
$text{'virt_cmds'}\n"; print "
\n"; print "
\n"; &ui_print_footer("virt_index.cgi?virt=$in{'virt'}", $text{'virt_return'}, "", $text{'index_return'});