Code Search for Developers
 
 
  

targz.html from AlphaMail at Krugle


Show targz.html syntax highlighted

% # vim: set syntax=mason: 
<%args>
$file => -1
</%args>
<%init>
my ($user, $prefix);
eval {
   $user = Apache2::SiteControl->getCurrentUser($r);
   $prefix = $config->getScratchDir($user);
};
if($@) {
   $logger->error("Unable to get attachment: $@");
   $m->redirect(build_url("$base/mail/index.html", { message => "Request failed" }));
}
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 $username = $user->getUsername();
my $tar = $config->get("tar");
my $sandbox_dir = $config->get('sandbox');
my $sandbox = $config->get('sandbox_util');

$file =~ s/\\/\\\\/g; # Un-escape escapes

if($file == -1) {
   $m->redirect(build_url("$base/mail/index.html", { message => "No filename for attachment." }));
} elsif($file =~ m!(^|/)\.\./!) {
   $logger->error("Security Violation! $username attempted to view $file. Prefix was $prefix");
   $m->redirect(build_url("$base/mail/index.html", { message => "Security violation on filename $file" }));
}

my $name = $file;
$name =~ s!^.*/([^/]*)$!$1!;
unlink "$sandbox_dir/tmp/$name";
link "$prefix/$file", "$sandbox_dir/tmp/$name" or $logger->error("Could not create link from $file to $sandbox_dir/tmp");

my @files = qx($sandbox $tar tvzf '/tmp/$name' 2>&1);
unlink "$sandbox_dir/tmp/$name";
</%init>
<& /mail/header.mhtml, title => "File List", folder => $folder &>

<a href="<% $base %>/mail/read.html?folder=<% $folder |u %>&sorted_offset=<% $sorted_offset %>&uidv=<% $uidv %>&uid=<% $uid %>&sortby=<% $sortby |h %>">Back to message</a>


<pre>
% for my $f (@files) {
%    chomp $f;
<% $f |h %>
% }
</pre>
<& /mail/footer.mhtml &>
<%once>
our $logger = Log::Log4perl->get_logger('alphamail');
our $base = $config->get('base_uri');
</%once>




See more files for this project here

AlphaMail

AlphaMail is an accelerated web mail interface with a C++ middleware layer that is more effective than an IMAP proxy which is a highly scalable (10k+ users). The interface includes modern features, Section 508 compliance, and universal browser support.

Project homepage: http://sourceforge.net/projects/alphamail
Programming language(s): C++,Java,JavaScript,Perl
License: other

  excel.html
  html.html
  targz.html
  text.html
  word.html
  zip.html