Code Search for Developers
 
 
  

word.html from AlphaMail at Krugle


Show word.html syntax highlighted

% # vim: set syntax=mason: 
<%args>
$file
$format => 'text'
</%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();
my $antiword = $config->get('antiword');
my $sandbox_dir = $config->get('sandbox');
my $sandbox = $config->get('sandbox_util');

if($file !~ m/^\Q$legal\E/ || $file =~ m!/\.\./!) {
   $logger->logcroak("Security Violation! $username attempted to view $file. Prefix was $prefix");
}
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");

if($format eq 'pdf') {
   $r->content_type('application/pdf');

   my @lines = qx($sandbox $antiword -a letter '/tmp/$name' 2>&1);
   unlink "$sandbox_dir/tmp/$name";
   $m->print(@lines);
}
</%init>
% if($format eq 'text') {
   <& /mail/header.mhtml, title => "Word Document Viewer", folder => $folder &>
   <a href="/mail/read.html?sorted_offset=<% $sorted_offset %>&folder=<% $folder |u %>&uidv=<% $uidv %>&uid=<% $uid %>&sortby=<% $sortby |h %>">Back to message</a>

%    my @lines = qx($sandbox $antiword -f '/tmp/$name' 2>&1);
%    unlink "$sandbox_dir/tmp/$name";

   <pre>
%    for my $l (@lines) {
%       chomp $l;
<% $l |h %>
%    }
   </pre>
   <& /mail/footer.mhtml &>
% }
<%once>
$config = new AlphaMail::Config($r->dir_config('AlphamailParameters'));
</%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