version 1.9, 2006/04/23 05:34:45
|
version 1.12, 2006/04/25 19:45:50
|
Line 392 sub sortedmessages {
|
Line 392 sub sortedmessages {
|
my %descriptions; |
my %descriptions; |
my %status_cache = |
my %status_cache = |
&Apache::lonnet::get('email_status'.&Apache::lonmsg::foldersuffix($folder),\@messages); |
&Apache::lonnet::get('email_status'.&Apache::lonmsg::foldersuffix($folder),\@messages); |
foreach (@messages) { |
|
my $msgid=&Apache::lonnet::escape($_); |
my $get_received; |
|
if ($folder eq 'sent' |
|
&& ($env{'form.sortedby'} =~ m/^(rev)?(user|domain)$/)) { |
|
$get_received = 1; |
|
} |
|
|
|
foreach my $msgid (@messages) { |
|
my $esc_msgid=&Apache::lonnet::escape($msgid); |
my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$fromcid)= |
my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$fromcid)= |
&Apache::lonmsg::unpackmsgid($msgid,$folder,undef, |
&Apache::lonmsg::unpackmsgid($esc_msgid,$folder,undef, |
\%status_cache); |
\%status_cache); |
my $description = &get_course_desc($fromcid,\%descriptions); |
my $description = &get_course_desc($fromcid,\%descriptions); |
my @temp1 = ($sendtime,$shortsubj,$fromname,$fromdomain,$status, |
my @temp1 = ($sendtime,$shortsubj,$fromname,$fromdomain,$status, |
$msgid,$description); |
$esc_msgid,$description); |
|
if ($get_received) { |
|
my %message = &Apache::lonnet::get('nohist_email'.$suffix, |
|
[$msgid]); |
|
my %content = &Apache::lonmsg::unpackagemsg($message{$msgid}); |
|
push(@temp1,$content{'recuser'},$content{'recdomain'}); |
|
} |
# Check whether message was sent during blocking period. |
# Check whether message was sent during blocking period. |
if ($sendtime >= $startblock && ($sendtime <= $endblock && $endblock > 0) ) { |
if ($sendtime >= $startblock && ($sendtime <= $endblock && $endblock > 0) ) { |
my $escid = &Apache::lonnet::unescape($msgid); |
$$blocked{$msgid} = 'ON'; |
$$blocked{$escid} = 'ON'; |
|
$$numblocked ++; |
$$numblocked ++; |
} else { |
} else { |
push @temp ,\@temp1; |
push @temp ,\@temp1; |
Line 418 sub sortedmessages {
|
Line 430 sub sortedmessages {
|
@temp = sort {$b->[0] <=> $a->[0]} @temp; |
@temp = sort {$b->[0] <=> $a->[0]} @temp; |
} |
} |
if ($env{'form.sortedby'} eq "user"){ |
if ($env{'form.sortedby'} eq "user"){ |
@temp = sort {lc($a->[2]) cmp lc($b->[2])} @temp; |
if ($get_received) { |
|
@temp = sort {lc($a->[7][0]) cmp lc($b->[7][0])} @temp; |
|
} else { |
|
@temp = sort {lc($a->[2]) cmp lc($b->[2])} @temp; |
|
} |
} |
} |
if ($env{'form.sortedby'} eq "revuser"){ |
if ($env{'form.sortedby'} eq "revuser"){ |
@temp = sort {lc($b->[2]) cmp lc($a->[2])} @temp; |
if ($get_received) { |
|
@temp = sort {lc($b->[7][0]) cmp lc($a->[7][0])} @temp; |
|
} else { |
|
@temp = sort {lc($b->[2]) cmp lc($a->[2])} @temp; |
|
} |
} |
} |
if ($env{'form.sortedby'} eq "domain"){ |
if ($env{'form.sortedby'} eq "domain"){ |
@temp = sort {$a->[3] cmp $b->[3]} @temp; |
if ($get_received) { |
|
@temp = sort {$a->[8][0] cmp $b->[8][0]} @temp; |
|
} else { |
|
@temp = sort {$a->[3] cmp $b->[3]} @temp; |
|
} |
} |
} |
if ($env{'form.sortedby'} eq "revdomain"){ |
if ($env{'form.sortedby'} eq "revdomain"){ |
@temp = sort {$b->[3] cmp $a->[3]} @temp; |
if ($get_received) { |
|
@temp = sort {$b->[8][0] cmp $a->[8][0]} @temp; |
|
} else { |
|
@temp = sort {$b->[3] cmp $a->[3]} @temp; |
|
} |
} |
} |
if ($env{'form.sortedby'} eq "subject"){ |
if ($env{'form.sortedby'} eq "subject"){ |
@temp = sort {lc($a->[1]) cmp lc($b->[1])} @temp; |
@temp = sort {lc($a->[1]) cmp lc($b->[1])} @temp; |
Line 662 ENDDISHEADER
|
Line 690 ENDDISHEADER
|
|
|
my $suffix = &Apache::lonmsg::foldersuffix($folder); |
my $suffix = &Apache::lonmsg::foldersuffix($folder); |
for (my $n=$firstdis;$n<=$lastdis;$n++) { |
for (my $n=$firstdis;$n<=$lastdis;$n++) { |
my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$origID,$description)= @{$temp[$n]}; |
my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$origID, |
|
$description,$recv_name,$recv_domain)= |
|
@{$temp[$n]}; |
if (($status ne 'deleted') && defined($sendtime) && $sendtime!~/error/) { |
if (($status ne 'deleted') && defined($sendtime) && $sendtime!~/error/) { |
if ($status eq 'new') { |
if ($status eq 'new') { |
$r->print('<tr class="LC_mail_new">'); |
$r->print('<tr class="LC_mail_new">'); |
Line 675 ENDDISHEADER
|
Line 705 ENDDISHEADER
|
} |
} |
my ($dis_name,$dis_domain) = ($fromname,$fromdomain); |
my ($dis_name,$dis_domain) = ($fromname,$fromdomain); |
if ($folder eq 'sent') { |
if ($folder eq 'sent') { |
my $msg_id = &Apache::lonnet::unescape($origID); |
if (defined($recv_name) && !defined($recv_domain)) { |
my %message=&Apache::lonnet::get('nohist_email'.$suffix, |
$dis_name = join('<br />',@{$recv_name}); |
[$msg_id]); |
$dis_domain = join('<br />',@{$recv_domain}); |
my %content=&Apache::lonmsg::unpackagemsg($message{$msg_id}); |
} else { |
$dis_name = join('<br />',@{$content{'recuser'}}); |
my $msg_id = &Apache::lonnet::unescape($origID); |
$dis_domain = join('<br />',@{$content{'recdomain'}}); |
my %message = &Apache::lonnet::get('nohist_email'.$suffix, |
|
[$msg_id]); |
|
my %content = &Apache::lonmsg::unpackagemsg($message{$msg_id}); |
|
$dis_name = join('<br />',@{$content{'recuser'}}); |
|
$dis_domain = join('<br />',@{$content{'recdomain'}}); |
|
} |
} |
} |
$r->print('<td><input type="checkbox" name="delmark_'.$origID.'" /></td><td><a href="/adm/email?display='.$origID.$sqs. |
$r->print('<td><input type="checkbox" name="delmark_'.$origID.'" /></td><td><a href="/adm/email?display='.$origID.$sqs. |
'">'.&mt('Open').'</a></td><td>'. |
'">'.&mt('Open').'</a></td><td>'. |
Line 1730 sub sendoffmail {
|
Line 1765 sub sendoffmail {
|
my ($recuname,$recdomain)=split(/\:/,$_); |
my ($recuname,$recdomain)=split(/\:/,$_); |
my $msgtxt = $savemsg; |
my $msgtxt = $savemsg; |
if ($toaddr{$_}) { $msgtxt.='<hr />'.$toaddr{$_}; } |
if ($toaddr{$_}) { $msgtxt.='<hr />'.$toaddr{$_}; } |
my $thismsg; |
my @thismsg; |
if ((($env{'form.critmsg'}) || ($env{'form.sendbck'})) && |
if ((($env{'form.critmsg'}) || ($env{'form.sendbck'})) && |
(&Apache::lonnet::allowed('srm',$env{'request.course.id'}) |
(&Apache::lonnet::allowed('srm',$env{'request.course.id'}) |
|| &Apache::lonnet::allowed('srm',$env{'request.course.id'}. |
|| &Apache::lonnet::allowed('srm',$env{'request.course.id'}. |
'/'.$env{'request.course.sec'}))) { |
'/'.$env{'request.course.sec'}))) { |
$r->print(&mt('Sending critical message').' '.$recuname.'@'.$recdomain.': '); |
$r->print(&mt('Sending critical message').' '.$recuname.'@'.$recdomain.': '); |
$thismsg=&Apache::lonmsg::user_crit_msg($recuname,$recdomain,$msgsubj,$msgtxt, |
@thismsg=&Apache::lonmsg::user_crit_msg($recuname,$recdomain,$msgsubj,$msgtxt, |
$env{'form.sendbck'},$env{'form.permanent'}, |
$env{'form.sendbck'},$env{'form.permanent'}, |
\$sentmessage{$_}); |
\$sentmessage{$_}); |
} else { |
} else { |
$r->print(&mt('Sending').' '.$recuname.'@'.$recdomain.': '); |
$r->print(&mt('Sending').' '.$recuname.'@'.$recdomain.': '); |
$thismsg=&Apache::lonmsg::user_normal_msg($recuname,$recdomain,$msgsubj,$msgtxt, |
@thismsg=&Apache::lonmsg::user_normal_msg($recuname,$recdomain,$msgsubj,$msgtxt, |
$content{'citation'},undef,undef,$env{'form.permanent'},\$sentmessage{$_}); |
$content{'citation'},undef,undef,$env{'form.permanent'},\$sentmessage{$_}); |
} |
} |
if (($env{'request.course.id'}) && (($msgtype eq 'critical') || |
if (($env{'request.course.id'}) && (($msgtype eq 'critical') || |
($env{'form.sendmode'} eq 'group'))) { |
($env{'form.sendmode'} eq 'group'))) { |
$specialmsg_status{$recuname.':'.$recdomain} = $thismsg; |
$specialmsg_status{$recuname.':'.$recdomain} = |
if ($thismsg eq 'ok') { |
join(' ',@thismsg); |
$numspecial ++; |
foreach my $result (@thismsg) { |
} |
if ($result eq 'ok') { |
|
$numspecial++; |
|
} |
|
} |
} |
} |
$r->print($thismsg.'<br />'); |
$r->print(join(' ',@thismsg).'<br />'); |
$sendstatus.=' '.$thismsg; |
$sendstatus.=' '.join(' ',@thismsg); |
} |
} |
if (($env{'request.course.id'}) && (($env{'form.sendmode'} eq 'group') |
if (($env{'request.course.id'}) && (($env{'form.sendmode'} eq 'group') |
|| ($msgtype eq 'critical'))) { |
|| ($msgtype eq 'critical'))) { |
Line 1934 sub handler {
|
Line 1972 sub handler {
|
my ($result,$msg) = |
my ($result,$msg) = |
&statuschange($env{'form.markdel'},'deleted',$folder); |
&statuschange($env{'form.markdel'},'deleted',$folder); |
if (!$result) { |
if (!$result) { |
$r->print('<p class="LC_error">Failed to delete the message.</p>'. |
$r->print('<p class="LC_error">'. |
|
&mt('Failed to delete the message.').'</p>'. |
'<p class="LC_error">'.$msg."</p>\n"); |
'<p class="LC_error">'.$msg."</p>\n"); |
} |
} |
&Apache::loncommunicate::menu($r); |
&Apache::loncommunicate::menu($r); |
Line 1957 sub handler {
|
Line 1996 sub handler {
|
&printheader($r,'','Moved Messages'); |
&printheader($r,'','Moved Messages'); |
if ($failed) { |
if ($failed) { |
$r->print('<p class="LC_error"> |
$r->print('<p class="LC_error"> |
Failed to move '.$failed.' message(s)</p>'); |
'.&mt('Failed to move [_1] message(s)',$failed). |
|
'</p>'); |
$r->print('<p class="LC_error">'. |
$r->print('<p class="LC_error">'. |
join("</p>\n<p class=\"LC_error\">",@failed_msg). |
join("</p>\n<p class=\"LC_error\">",@failed_msg). |
"</p>\n"); |
"</p>\n"); |
} |
} |
$r->print('Moved '.$total.' message(s)<p>'); |
$r->print(&mt('Moved [_1] message(s)',$total).'<p>'); |
&Apache::loncommunicate::menu($r); |
&Apache::loncommunicate::menu($r); |
&disall($r,($folder?$folder:$dismode)); |
&disall($r,($folder?$folder:$dismode)); |
} elsif ($env{'form.markeddel'}) { |
} elsif ($env{'form.markeddel'}) { |
Line 1983 sub handler {
|
Line 2023 sub handler {
|
&printheader($r,'','Deleted Messages'); |
&printheader($r,'','Deleted Messages'); |
if ($failed) { |
if ($failed) { |
$r->print('<p class="LC_error"> |
$r->print('<p class="LC_error"> |
Failed to delete '.$failed.' message(s)</p>'); |
'.&mt('Failed to delete [_1] message(s)',$failed). |
|
'</p>'); |
$r->print('<p class="LC_error">'. |
$r->print('<p class="LC_error">'. |
join("</p>\n<p class=\"LC_error\">",@failed_msg). |
join("</p>\n<p class=\"LC_error\">",@failed_msg). |
"</p>\n"); |
"</p>\n"); |
} |
} |
$r->print('Deleted '.$total.' message(s)<p>'); |
$r->print(&mt('Deleted [_1] message(s)',$total).'<p>'); |
&Apache::loncommunicate::menu($r); |
&Apache::loncommunicate::menu($r); |
&disall($r,($folder?$folder:$dismode)); |
&disall($r,($folder?$folder:$dismode)); |
} elsif ($env{'form.markunread'}) { |
} elsif ($env{'form.markunread'}) { |