Show text.html syntax highlighted
% # vim: set syntax=mason:
<%args>
$file
$sanitize => 0
</%args>
<%init>
my $user = Apache::SiteControl->getCurrentUser($r);
my $folder = $user->getAttribute('reading_folder');
my $uid = $user->getAttribute('reading_uid');
my $uidv = $user->getAttribute('reading_uidv');
my $sorted_offset = $user->getAttribute('reading_offset');
my $sortby = $user->getAttribute('reading_sortby');
my $logger = Log::Log4perl->get_logger('alphamail');
my $prefix = $config->get("message_tmpdir", "/tmp");
my $legal = "/" . $user->getAttribute('imap') . "_" . $user->getUsername();
my $username = $user->getUsername();
if($file !~ m/^\Q$legal\E/ || $file =~ m!/\.\./!) {
$logger->logcroak("Security Violation! $username attempted to view $file. Prefix was $prefix");
}
$r->content_type('text/html');
open DATA, "<$prefix$file" or die "Could not open file $file";
my @lines = <DATA>;
close(DATA);
{ local $" = "\n";
$m->print(qq(<html><body bgcolor="white"><pre>\n@lines</pre></body></html>));
}
</%init>
<%once>
$config = new AlphaMail::Config($r->dir_config('AlphamailParameters'));
</%once>
See more files for this project here