#!/usr/local/bin/perl # virt_index.cgi # Display a menu for some specific virtual server, or the default server require './apache-lib.pl'; &ReadParse(); ($conf, $v) = &get_virtual_config($in{'virt'}); &can_edit_virt($v) || &error($text{'virt_ecannot'}); $desc = &text('virt_header', &virtual_name($v)); &ui_print_header($desc, $text{'virt_title'}, "", undef, undef, undef, undef, &restart_button()); # Display header and icons print &ui_subheading($text{'virt_opts2'}); $sw_icon = { "icon" => "images/show.gif", "name" => $text{'virt_show'}, "link" => "show.cgi?virt=$in{'virt'}" }; if ($in{'virt'} && $access{'types'} eq '*') { $ed_icon = { "icon" => "images/edit.gif", "name" => $text{'virt_edit'}, "link" => "manual_form.cgi?virt=$in{'virt'}" }; } &config_icons("virtual", "edit_virt.cgi?virt=$in{'virt'}&", $sw_icon, $ed_icon ? $ed_icon : ()); # Display per-directory options @dir = ( &find_directive_struct("Directory", $conf) , &find_directive_struct("DirectoryMatch", $conf), &find_directive_struct("Files", $conf), &find_directive_struct("FilesMatch", $conf), &find_directive_struct("Location", $conf), &find_directive_struct("LocationMatch", $conf), &find_directive_struct("Proxy", $conf) ); if (@dir) { print "
\n"; } # Show form to create a dir print &ui_form_start("create_dir.cgi", "post"); print &ui_hidden("virt", $in{'virt'}); print &ui_table_start($text{'virt_adddir'}, undef, 2); print &ui_table_row($text{'virt_type'}, &ui_select("type", undef, [ map { [ $_, $text{'virt_'.$_} ] } $httpd_modules{'core'} >= 2.0 ? ( "Directory", "Files", "Location", "Proxy" ) : $httpd_modules{'core'} >= 1.2 ? ( "Directory", "Files", "Location" ) : ( "Directory", "Location" ) ])); if ($httpd_modules{'core'} >= 1.2) { print &ui_table_row($text{'virt_regexp'}, &ui_radio("regexp", 0, [ [ 0, $text{'virt_exact'} ], [ 1, $text{'virt_re'} ] ])); } print &ui_table_row($text{'virt_path'}, &ui_textbox("path", undef, 50)); print &ui_table_end(); print &ui_form_end([ [ "", $text{'create'} ] ]); if ($in{'virt'} && $access{'vaddr'}) { # Show form for changing virtual server print "