version 1.8, 2005/11/15 21:08:47
|
version 1.9, 2005/12/09 00:08:35
|
Line 273 $breadcrumbs
|
Line 273 $breadcrumbs
|
<form method="post" name="$formname"> |
<form method="post" name="$formname"> |
ENDONE |
ENDONE |
|
|
foreach my $server (keys(%sentmail)) { |
foreach my $msgid (keys(%sentmail)) { |
foreach my $msgid (keys(%{$sentmail{$server}})) { |
my %content = &unpackagemail($sentmail{$msgid}); |
my %content = &unpackagemail($sentmail{$server}{$msgid}); |
$msgcount ++; |
if (defined($dcmail{$msgid})) { |
%{$dcmail{$msgid}} = (); |
foreach my $user (keys(%{$content{'recipients'}})) { |
foreach my $item (keys(%content)) { |
|
if ($item eq 'recipients') { |
|
foreach my $user (keys(%{$content{recipients}})) { |
$dcmail{$msgid}{recipients}{$user} = $content{recipients}{$user}; |
$dcmail{$msgid}{recipients}{$user} = $content{recipients}{$user}; |
} |
} |
} else { |
} else { |
$msgcount ++; |
$dcmail{$msgid}{$item} = $content{$item}; |
%{$dcmail{$msgid}} = (); |
|
foreach my $item (keys(%content)) { |
|
if ($item eq 'recipients') { |
|
foreach my $user (keys(%{$content{recipients}})) { |
|
$dcmail{$msgid}{recipients}{$user} = $content{recipients}{$user}; |
|
} |
|
} else { |
|
$dcmail{$msgid}{$item} = $content{$item}; |
|
} |
|
} |
|
} |
} |
} |
} |
} |
} |
Line 849 sub form_elements {
|
Line 841 sub form_elements {
|
|
|
sub store_mail { |
sub store_mail { |
my ($subject,$message,$domain,$recipients,$attachmenturl,$ltext) = @_; |
my ($subject,$message,$domain,$recipients,$attachmenturl,$ltext) = @_; |
my %servers = (); |
my $msgid; |
my $msgid=&packagemail($subject,$message,$domain, |
($msgid,$message) = &packagemail($subject,$message,$domain,$recipients, |
$recipients,\%servers,$attachmenturl); |
$attachmenturl); |
# Store in dc email db files on appropriate servers. |
# Store in dc email db files on primary library server for domain. |
foreach my $server (keys(%servers)) { |
my $server = $Apache::lonnet::domain_primary{$domain}; |
unless (&Apache::lonnet::dcmailput($domain,$msgid,\%servers,$server) eq 'ok') { |
if (defined($server)) { |
&Apache::lonnet::logthis('Storage of dc mail failed for domain'.$domain.' for server: '. |
unless (&Apache::lonnet::dcmailput($domain,$msgid,$message,$server) |
$server.'. Message ID was '.$msgid); |
eq 'ok') { |
|
&Apache::lonnet::logthis('Storage of dc mail failed for domain'. |
|
$domain.' for server: '. $server.'. Message ID was '.$msgid); |
} |
} |
|
} else { |
|
&Apache::lonnet::logthis('Storage of dc mail failed for domain'. |
|
$domain.' as no primary server identified. Message ID was '.$msgid); |
} |
} |
} |
} |
|
|
sub packagemail { |
sub packagemail { |
my ($subject,$message,$dom,$recipients,$servers,$attachmenturl,$ltext) = @_; |
my ($subject,$message,$dom,$recipients,$attachmenturl) = @_; |
my %record = (); |
my %record = (); |
my $partsubj=$subject; |
my $partsubj=$subject; |
$partsubj=&Apache::lonnet::escape($partsubj); |
$partsubj=&Apache::lonnet::escape($partsubj); |
Line 893 sub packagemail {
|
Line 890 sub packagemail {
|
my ($username,$email) = split(/:/,$recip); |
my ($username,$email) = split(/:/,$recip); |
$username = &Apache::lonnet::unescape($username); |
$username = &Apache::lonnet::unescape($username); |
$email = &Apache::lonnet::unescape($email); |
$email = &Apache::lonnet::unescape($email); |
my ($uname,$udom) = split(/:/,$username); |
$username = &HTML::Entities::encode($username,'<>&"'); |
my $uhom=&Apache::lonnet::homeserver($uname,$udom); |
$email = &HTML::Entities::encode($email,'<>&"'); |
if ($uhom ne 'no_host') { |
$result .= '<recipient username="'.$username.'">'. |
$username = &HTML::Entities::encode($username,'<>&"'); |
|
$email = &HTML::Entities::encode($email,'<>&"'); |
|
$record{$uhom} .= '<recipient username="'.$username.'">'. |
|
$email.'</recipient>'; |
$email.'</recipient>'; |
} |
|
} |
|
foreach my $server (keys(%record)) { |
|
$$servers{$server} = $result.$record{$server}; |
|
} |
} |
return $msgid; |
return ($msgid,$result); |
} |
} |
|
|
sub unpackagemail { |
sub unpackagemail { |