--- loncom/interface/lonmsg.pm 2005/12/09 20:54:26 1.162
+++ loncom/interface/lonmsg.pm 2006/01/03 03:18:58 1.166
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Routines for messaging
#
-# $Id: lonmsg.pm,v 1.162 2005/12/09 20:54:26 raeburn Exp $
+# $Id: lonmsg.pm,v 1.166 2006/01/03 03:18:58 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -105,7 +105,7 @@ users in their domain. The XML packagin
similar. The differences are the use of $uname and
$udom in stored internal messages, compared
with $email in stored
-Domain Coordinator e-mail for teh storage of information about
+Domain Coordinator e-mail for the storage of information about
recipients of the message/e-mail.
=head1 FUNCTIONS
@@ -266,14 +266,17 @@ sub buildmsgid {
}
sub unpackmsgid {
- my ($msgid,$folder)=@_;
+ my ($msgid,$folder,$skipstatus)=@_;
$msgid=&Apache::lonnet::unescape($msgid);
- my $suffix=&foldersuffix($folder);
my ($sendtime,$shortsubj,$fromname,$fromdomain,$count,$fromcid)=split(/\:/,
&Apache::lonnet::unescape($msgid));
- my %status=&Apache::lonnet::get('email_status'.$suffix,[$msgid]);
- if ($status{$msgid}=~/^error\:/) { $status{$msgid}=''; }
- unless ($status{$msgid}) { $status{$msgid}='new'; }
+ my %status=();
+ unless ($skipstatus) {
+ my $suffix=&foldersuffix($folder);
+ %status=&Apache::lonnet::get('email_status'.$suffix,[$msgid]);
+ if ($status{$msgid}=~/^error\:/) { $status{$msgid}=''; }
+ unless ($status{$msgid}) { $status{$msgid}='new'; }
+ }
return ($sendtime,$shortsubj,$fromname,$fromdomain,$status{$msgid},$fromcid);
}
@@ -857,7 +860,10 @@ sub sortedmessages {
my $msgid=&Apache::lonnet::escape($_);
my ($sendtime,$shortsubj,$fromname,$fromdomain,$status,$fromcid)=
&Apache::lonmsg::unpackmsgid($msgid,$folder);
- my $description = &get_course_desc($fromcid);
+ my $description;
+ if ($fromcid) {
+ $description = &get_course_desc($fromcid);
+ }
my @temp1 = ($sendtime,$shortsubj,$fromname,$fromdomain,$status,
$msgid,$description);
# Check whether message was sent during blocking period.
@@ -912,7 +918,8 @@ sub sortedmessages {
sub get_course_desc {
my ($fromcid) = @_;
- my $description;
+ my $description;
+ if ($fromcid =~ /^\d+$/) { return $description; }
if (defined($env{'course.'.$fromcid.'.description'})) {
$description = $env{'course.'.$fromcid.'.description'};
} else {
@@ -952,7 +959,10 @@ sub disnew {
my ($sendtime,$shortsubj,$fromname,$fromdom,$status,$fromcid)=
&Apache::lonmsg::unpackmsgid($_);
if (defined($sendtime) && $sendtime!~/error/) {
- my $description = &get_course_desc($fromcid);
+ my $description;
+ if ($fromcid) {
+ $description = &get_course_desc($fromcid);
+ }
my $numsendtime = $sendtime;
$sendtime = &Apache::lonlocal::locallocaltime($sendtime);
if ($status eq 'new') {