--- loncom/interface/lonmsg.pm 2003/10/15 21:10:24 1.69
+++ loncom/interface/lonmsg.pm 2003/12/30 20:39:30 1.74
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Routines for messaging
#
-# $Id: lonmsg.pm,v 1.69 2003/10/15 21:10:24 www Exp $
+# $Id: lonmsg.pm,v 1.74 2003/12/30 20:39:30 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -284,6 +284,38 @@ sub author_res_msg {
return 'no_host';
}
+# =========================================== Retrieve author resource messages
+
+sub retrieve_author_res_msg {
+ my ($author,$domain,$url)=@_;
+ $url=&Apache::lonnet::declutter($url);
+ my %errormsgs=&Apache::lonnet::dump('nohist_res_msgs',$1,$2);
+ my $msgs='';
+ foreach (keys %errormsgs) {
+ if ($_=~/^\Q$url\E\_\d+$/) {
+ my %content=&unpackagemsg($errormsgs{$_});
+ $msgs.='
'.
+ $content{'time'}.': '.$content{'message'}.
+ '
';
+ }
+ }
+ return $msgs;
+}
+
+
+# =============================== Delete all author messages related to one URL
+
+sub del_url_author_res_msg {
+ my ($author,$domain,$url)=@_;
+ $url=&Apache::lonnet::declutter($url);
+}
+
+# ================= Return hash with URLs for which there is a resource message
+
+sub all_url_author_res_msg {
+ my ($author,$domain)=@_;
+}
+
# ================================================== Critical message to a user
sub user_crit_msg_raw {
@@ -1060,7 +1092,7 @@ $content{'sendername'},$content{'senderd
&statuschange($msgid,'replied');
if ((($ENV{'form.critmsg'}) || ($ENV{'form.sendbck'})) &&
(&Apache::lonnet::allowed('srm',$ENV{'request.course.id'}))) {
- $r->print(&mt('Sending critical').': '.
+ $r->print(&mt('Sending critical message').': '.
&user_crit_msg($content{'sendername'},
$content{'senderdomain'},
&Apache::lonfeedback::clear_out_html($ENV{'form.subject'}),
@@ -1118,6 +1150,7 @@ $content{'sendername'},$content{'senderd
} elsif ($ENV{'form.recordftf'}) {
&facetoface($r,$ENV{'form.recordftf'});
} elsif ($ENV{'form.sendmail'}) {
+ my $sendstatus='';
if ($ENV{'form.send'}) {
my %content=();
undef %content;
@@ -1160,24 +1193,32 @@ $content{'sendername'},$content{'senderd
if ($toaddr{$_}) { $msgtxt.='
'.$toaddr{$_}; }
if ((($ENV{'form.critmsg'}) || ($ENV{'form.sendbck'})) &&
(&Apache::lonnet::allowed('srm',$ENV{'request.course.id'}))) {
- $r->print('Sending critical: '.
- &user_crit_msg($recuname,$recdomain,
+ $r->print(&mt('Sending critical message').' ...');
+ $sendstatus.=' '.&user_crit_msg($recuname,$recdomain,
&Apache::lonfeedback::clear_out_html($ENV{'form.subject'}),
$msgtxt,
- $ENV{'form.sendbck'}));
+ $ENV{'form.sendbck'});
} else {
- $r->print('Sending: '.&user_normal_msg($recuname,$recdomain,
- &Apache::lonfeedback::clear_out_html($ENV{'form.subject'}),
+ $r->print(&mt('Sending').' ...');
+ $sendstatus.=' '.&user_normal_msg($recuname,$recdomain,
+ &Apache::lonfeedback::clear_out_html($ENV{'form.subject'}),
$msgtxt,
- $content{'citation'}));
+ $content{'citation'});
}
$r->print('
');
}
}
- if ($ENV{'form.displayedcrit'}) {
- &discrit($r);
+ if ($sendstatus=~/^(\s*(?:ok|con_delayed)\s*)*$/) {
+ if ($ENV{'form.displayedcrit'}) {
+ &discrit($r);
+ } else {
+ &disall($r);
+ }
} else {
- &disall($r);
+ $r->print(
+ ''.&mt('Could not deliver message').'
'.
+ &mt('Please use the browser "Back" button and correct the recipient addresses')
+ );
}
} else {
&disall($r);