#!/usr/local/bin/perl # manual.cgi # Display a text box for manually editing directives require './htaccess-lib.pl'; &ReadParse(); if (defined($in{'idx'})) { # files within .htaccess file $hconf = &get_htaccess_config($in{'file'}); $d = $hconf->[$in{'idx'}]; $file = $in{'file'}; $start = $d->{'line'}+1; $end = $d->{'eline'}-1; $title = &text('htfile_header', &dir_name($d), "$in{'file'}"); $return = "htaccess_index.cgi"; $rmsg = $text{'htindex_return'}; } else { # .htaccess file $file = $in{'file'}; $title = &text('htindex_header', "$in{'file'}"); $return = "htaccess_index.cgi"; $rmsg = $text{'htindex_return'}; $dir = "files_index.cgi"; } &ui_print_header($title, $text{'manual_title'}, ""); print &text('manual_header', "$file"),"

\n"; print "

\n"; foreach $h ('virt', 'idx', 'file') { if (defined($in{$h})) { print "\n"; push(@args, "$h=$in{$h}"); } } $args = join('&', @args); print "
\n"; &ui_print_footer("$return?$args", $rmsg); # print_directives(&list, indent) sub print_directives { foreach $c (@{$_[0]}) { next if ($c->{'name'} eq 'dummy'); if ($c->{'type'}) { print $_[1],"<",$c->{'name'}," ",$c->{'value'},">\n"; &print_directives($c->{'members'}, $_[1].' '); print $_[1],"{'name'},">\n"; } else { print $_[1],$c->{'name'}," ",$c->{'value'},"\n"; } } }