-use URI::Escape;
-
-#$escape_these = "\;\/\?\:\@\&\=\+\,\$";
-$escape_these = "&=;:?";
-$esc_getter_url = uri_escape($getter_url, $escape_these);
-$esc_processor_url = uri_escape($processor_url, $escape_these);
-$esc_getter_url_get_uri = uri_escape($getter_url_get_uri, $escape_these);
-$esc_html_keys = uri_escape($html_keys, $escape_these);
-
-$baseuri0 = $dirname = $uri = $ENV{"REQUEST_URI"};
-
-$dirname =~ s/$helm_url_path//;
-$dirname = $library_dir_on_line.$dirname;
-
-$baseuri0 =~ s/$helm_url_path//;
-
-opendir(DIR, $dirname);
-@filenames = readdir(DIR);
-closedir(DIR);
-
-$output = "";
-foreach $i (@filenames) {
- if ($i eq "..") {
- $output .= <<EOT;
-<tr>
-<td><img border="0" src="/icons/back.gif" alt="[BACK]"></td>
-<td><a href="$uri$i">Parent Directory</a></td>
-</tr>
-EOT
- } elsif ($i !~ /^\./) {
- # hidden files excluded
- (undef,undef,$mode) = stat("$dirname$i");
- if ($mode &= 16384) {
- # directory
- $output .= <<EOT;
-<tr>
-<td><img border="0" src="/icons/folder.gif" alt="[DIR]"></td>
-<td><a href="$uri$i">$i</a></td>
-</tr>
-EOT
- } else {
- # file
- if ($i =~ /\.(con|var|ind)(\.types)?\.xml(\.gz)?$/) {
- my $i_without_xml = $i;
- $i_without_xml =~ s/(.*)\.xml(\.gz)/$1/;
- # cic file
- my $baseuri = "cic:".$baseuri0;
- $output .= <<EOT;
-<tr>
-<td><img border="0" src="/icons/generic.red.gif" alt="[DIR]"></td>
-<td><a href="$uri$i">$i</a></td>
-<td><a href="$processor_url/apply?key=C1&xmluri=$esc_getter_url_get_uri$baseuri$i_without_xml">MathML Content</a></td>
-<td><a href="$processor_url/apply?key=C1&key=C2&xmluri=$esc_getter_url_get_uri$baseuri$i_without_xml">MathML Presentation</a></td>
-<!--
-<td><a href="$processor_url/apply?key=C1&key=C2&key=R2A&xmluri=$esc_getter_url_get_uri$baseuri$i_without_xml">MathML P Abs</a></td>
--->
-<td><a href="$processor_url/apply?$html_keys¶m.getterURL=$esc_getter_url¶m.processorURL=$esc_processor_url¶m.keys=$esc_html_keys&xmluri=$esc_getter_url_get_uri$baseuri$i_without_xml">HTML</a></td>
-</tr>
-EOT
- } elsif ($i =~ /\.(con|var|ind)\.ann\.xml(\.gz)?$/) {
- my $i_without_xml = $i;
- my $i_without_ann_and_xml = $i;
- $i_without_xml =~ s/(.*)\.xml(\.gz)/$1/;
- $i_without_ann_and_xml =~ s/(.*)\.ann\.xml/$1/;
- # cic file
- my $baseuri = "cic:".$baseuri0;
- $output .= <<EOT;
-<tr>
-<td><img border="0" src="/icons/text.gif" alt="[DIR]"></td>
-<td><a href="$uri$i">$i</a></td>
-<td><a href="$processor_url/apply?key=C1&xmluri=$esc_getter_url_get_uri$baseuri$i_without_ann_and_xml&annuri=$baseuri$i_without_xml">MathML Content</a></td>
-<td><a href="$processor_url/apply?key=C1&key=C2&xmluri=$esc_getter_url_get_uri$baseuri$i_without_ann_and_xml&annuri=$baseuri$i_without_xml">MathML Presentation</a></td>
-<!--
-<td><a href="$processor_url/apply?key=C1&key=C2&key=R2A&xmluri=$esc_getter_url_get_uri$baseuri$i_without_xml">MathML P Abs</a></td>
--->
-<td><a href="$processor_url/apply$html_keys¶m.getterURL=$esc_getter_url¶m.processorURL=$esc_processor_url¶m.keys=$esc_html_keys&xmluri=$esc_getter_url_get_uri$baseuri$i_without_ann_and_xml&annuri=$baseuri$i_without_xml">HTML</a></td>
-</tr>
-EOT
- } elsif ($i =~ /\.theory\.xml(\.gz)?$/) {
- my $i_without_xml = $i;
- $i_without_xml =~ s/(.*)\.xml(\.gz)/$1/;
- # theory file
- my $baseuri = "theory:".$baseuri0; $output .= <<EOT;
-<tr>
-<td><img border="0" src="/icons/layout.gif" alt="[DIR]"></td>
-<td><a href="$uri$i">$i</a></td>
-<td><a href="$processor_url/apply?key=T1&xmluri=$esc_getter_url_get_uri$baseuri$i_without_xml">MathML Content</a></td>
-<td><a href="$processor_url/apply?key=T1&key=T2&xmluri=$esc_getter_url_get_uri$baseuri$i_without_xml">MathML Presentation</a></td>
-<td><a href="$processor_url/apply?key=T1&key=T2&xmluri=$esc_getter_url_get_uri$baseuri$i_without_xml">HTML</a></td>
-</tr>
-EOT
- } else {
- # other file
- $output .= <<EOT;
-<tr>
-<td><img border="0" src="/icons/unknown.gif" alt="[DIR]"></td>
-<td><a href="$uri$i">$i</a></td>
-</tr>
-EOT
- }
- }
- }
-}