File: source.inc

package info (click to toggle)
libapache-asp-perl 2.63-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 4,120 kB
  • sloc: perl: 6,044; php: 409; sh: 62; lisp: 22; makefile: 10
file content (48 lines) | stat: -rw-r--r-- 1,257 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

<!--#include file=header.inc-->

<% 
$Response->{Clean} = 0;
use File::Basename;

my $file = $Request->QueryString('file');
if($file) {
    ## print contents of file here	
    local *FILE;
    my $basefile = &File::Basename::basename($file);
    $basefile =~ s/[^a-z\.\_]//sg;
    unless(open(FILE, $basefile)) {
	print "Can't read $basefile\n";
	$Response->End();
    }
    local $/ = undef;
    my $data = <FILE>;
    close FILE;
    $data =~ s|^\#\!\/[^\n]+\n||sg;
    $data =~ s/^\s+//s;
    $data =~ s/\s+$//s;
    my $escaped = $Server->HTMLEncode($data);
    $escaped =~ s/(&lt;%=?)(.*?)(%&gt;)/
	"<b><font color=#cc0000 face=\"courier new\">$1<font color=#000099>$2<\/font>$3<\/font><\/b>";
	/egsx;
    $escaped =~ s/(&lt;\!\-\-\s*\#include\s*file\s*\=)(.*?)(\-\-&gt;)/
      "<b><font color=#009900 face=\"courier new\">$1<font color=#555555>$2<\/font>$3<\/font><\/b>";
    /egsx;
    $escaped =~ s/(&lt;\/?)([\w-]+:[\w-]+)/$1\<font color=\#008000\><b>$2<\/b>\<\/font\>/isg;
    $escaped =~ s/(&lt;\/?)([a-z]+)/$1\<font color=#007070\><b>$2<\/b>\<\/font\>/isg;
    %>

<h3>Source of file <%=$file%>:</h3>
<pre>
<%= $escaped %>
</pre>	     

    <%	
} else {
    $Response->Write("No file to be displayed");
}
%>

<!--#include file=footer.inc-->