#!/usr/local/bin/perl # htaccess_index.cgi # Display a menu of icons for a per-directory options file require './htaccess-lib.pl'; &ReadParse(); $conf = &get_htaccess_config($in{'file'}); $desc = "".&html_escape($in{'file'}).""; &ui_print_header($desc, $text{'htindex_title'}, "", undef, undef, undef, undef, "$text{'htindex_delete'}"); print &ui_subheading($text{'htindex_opts'}); $sw_icon = { "icon" => "images/show.gif", "name" => $text{'htindex_show'}, "link" => "show.cgi?file=".&urlize($in{'file'}) }; $ed_icon = { "icon" => "images/edit.gif", "name" => $text{'htindex_edit'}, "link" => "manual_form.cgi?file=".&urlize($in{'file'}) }; &config_icons("htaccess", "edit_htaccess.cgi?file=".&urlize($in{'file'})."&", $sw_icon, $ed_icon ? ( $ed_icon ) : ( )); @file = ( &find_directive_struct("Files", $conf), &find_directive_struct("FilesMatch", $conf) ); if (@file && $httpd_modules{'core'} >= 1.2) { # Files sub-directives print "
\n"; print &ui_subheading($text{'htindex_file'}); print "\n"; foreach $f (@file) { if ($i%3 == 0) { print "\n"; } $what = &dir_name($f); substr($what, 0, 1) = uc(substr($what, 0, 1)); print "\n"; if ($i++%3 == 2) { print "\n"; } } while($i++%3) { print "\n"; } print "
\n"; &generate_icon("images/dir.gif", $what, "files_index.cgi?idx=".&indexof($f, @$conf). "&file=".&urlize($in{'file'})); print "

\n"; } if ($httpd_modules{'core'} >= 1.2) { print "

\n"; print "\n"; print "\n"; print "\n"; print "
$text{'htindex_create'}
\n"; print "\n"; $regex = $d->{'words'}->[0] eq "~" || $d->{'name'} =~ /Match/; printf "\n", $regex ? "checked" : "", $text{'htindex_re'}; print "\n"; printf "\n", $d->{'words'}->[0] eq "~" ? $d->{'words'}->[1] : $d->{'words'}->[0]; print "\n"; print "
$text{'htindex_regexp'} %s\n", $regex ? "" : "checked", $text{'htindex_exact'}; printf " %s
$text{'htindex_path'}", "
\n"; } &ui_print_footer("", $text{'index_return'});