Show address_mail.html syntax highlighted
% # vim:set syntax=mason:
<%args>
@tolist => ()
@cclist => ()
@bcclist => ()
</%args>
<%init>
my $user = Apache::SiteControl->getCurrentUser($r);
my $book = new AlphaMail::AddressBook($user->getUsername(), $user->getAttribute('imap'), $config);
my $composition = load_composition($r, $user);
my (@tl, @cl, @bl);
my ($k, $a);
{
local $" = ", ";
for $k (@tolist) {
$a = $book->get_entry($k) || $k;
push @tl, $a;
}
for $k (@cclist) {
$a = $book->get_entry($k) || $k;
push @cl, $a;
}
for $k (@bcclist) {
$a = $book->get_entry($k) || $k;
push @bl, $a;
}
# Add in the old addresses, if they are not duplicates:
my (@addrs, @old);
@old = Email::Address->parse($composition->{to});
@addrs = Email::Address->parse("@tl");
for my $a (@old) {
if(!grep { $a->address eq $_->address } @addrs) {
push @tl, $a->format;
}
}
@old = Email::Address->parse($composition->{cc});
@addrs = Email::Address->parse("@cl");
for my $a (@old) {
if(!grep { $a->address eq $_->address } @addrs) {
push @cl, $a->format;
}
}
@old = Email::Address->parse($composition->{bcc});
@addrs = Email::Address->parse("@bl");
for my $a (@old) {
if(!grep { $a->address eq $_->address } @addrs) {
push @bl, $a->format;
}
}
$composition->{to} = "@tl";
$composition->{cc} = "@cl";
$composition->{bcc} = "@bl";
}
save_composition($r, $user, $composition->{to}, $composition->{cc},
$composition->{bcc}, $composition->{subject}, $composition->{message},
$composition->{replyflag}, $composition->{forwardflag},
$composition->{forwardsize}, $composition->{"ref"},
$composition->{attachments}, $composition->{sizes},
$composition->{richtext});
$m->redirect("/mail/compose.html");
</%init>
<%once>
use AlphaMail::SessionUtil qw(load_composition save_composition);
our $logger = Log::Log4perl->get_logger('alphamail');
</%once>
See more files for this project here