home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2004 December / PCpro_2004_12.ISO / files / webserver / tsw / TSW_3.4.0.exe / Apache2 / asp / source.inc < prev    next >
Encoding:
Text File  |  2003-09-03  |  1.3 KB  |  49 lines

  1.  
  2. <!--#include file=header.inc-->
  3.  
  4. <% 
  5. $Response->{Clean} = 0;
  6. use File::Basename;
  7.  
  8. my $file = $Request->QueryString('file');
  9. if($file) {
  10.     ## print contents of file here    
  11.     local *FILE;
  12.     my $basefile = &File::Basename::basename($file);
  13.     $basefile =~ s/[^a-z\.\_]//sg;
  14.     unless(open(FILE, $basefile)) {
  15.     print "Can't read $basefile\n";
  16.     $Response->End();
  17.     }
  18.     local $/ = undef;
  19.     my $data = <FILE>;
  20.     close FILE;
  21.     $data =~ s|^\#\!\/[^\n]+\n||sg;
  22.     $data =~ s/^\s+//s;
  23.     $data =~ s/\s+$//s;
  24.     my $escaped = $Server->HTMLEncode($data);
  25.     $escaped =~ s/(<%=?)(.*?)(%>)/
  26.     "<b><font color=#cc0000 face=\"courier new\">$1<font color=#000099>$2<\/font>$3<\/font><\/b>";
  27.     /egsx;
  28.     $escaped =~ s/(<\!\-\-\s*\#include\s*file\s*\=)(.*?)(\-\->)/
  29.       "<b><font color=#009900 face=\"courier new\">$1<font color=#555555>$2<\/font>$3<\/font><\/b>";
  30.     /egsx;
  31.     $escaped =~ s/(<\/?)([\w-]+:[\w-]+)/$1\<font color=\#008000\><b>$2<\/b>\<\/font\>/isg;
  32.     $escaped =~ s/(<\/?)([a-z]+)/$1\<font color=#007070\><b>$2<\/b>\<\/font\>/isg;
  33.     %>
  34.  
  35. <h3>Source of file <%=$file%>:</h3>
  36. <pre>
  37. <%= $escaped %>
  38. </pre>         
  39.  
  40.     <%    
  41. } else {
  42.     $Response->Write("No file to be displayed");
  43. }
  44. %>
  45.  
  46. <!--#include file=footer.inc-->
  47.  
  48.  
  49.