[LON-CAPA-cvs] cvs: loncom /interface loncommunicate.pm lonmsg.pm
www
lon-capa-cvs@mail.lon-capa.org
Wed, 17 Nov 2004 21:05:26 -0000
www Wed Nov 17 16:05:26 2004 EDT
Modified files:
/loncom/interface loncommunicate.pm lonmsg.pm
Log:
Storing my work on saved comments and smaller menu.
Index: loncom/interface/loncommunicate.pm
diff -u loncom/interface/loncommunicate.pm:1.25 loncom/interface/loncommunicate.pm:1.26
--- loncom/interface/loncommunicate.pm:1.25 Thu Nov 11 15:41:53 2004
+++ loncom/interface/loncommunicate.pm Wed Nov 17 16:05:26 2004
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Communicate
#
-# $Id: loncommunicate.pm,v 1.25 2004/11/11 20:41:53 www Exp $
+# $Id: loncommunicate.pm,v 1.26 2004/11/17 21:05:26 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -56,12 +56,12 @@
}
# ------------------------------------------------------------------------ Menu
$r->print(<<END);
-<form method="post" action="/adm/email">
+<table cellspacing="10" cellpadding="2">
+<tr><td bgcolor="#FFFFAA"><form method="post" action="/adm/email">
<input type="submit" value="$lt{'mnf'}" />
<input type="text" size="15" name="newfolder" value="" />
-</form>
-<table cellspacing="10" cellpadding="2">
-<tr><td bgcolor="#FFFFAA">
+</form></td>
+<td bgcolor="#FFFFAA">
<b><a href="/adm/email?compose=individual">$lt{'smu'}</a></b>
</td></tr>
END
@@ -70,14 +70,14 @@
$r->print(<<END);
<tr><td bgcolor="#FFFFAA">
<b><a href="/adm/email?compose=group">$lt{'bmc'}</a></b>$help{'Course_Broadcast_Message'}
-</td></tr>
-<tr><td bgcolor="#FFFFAA">
+</td>
+<td bgcolor="#FFFFAA">
<b><a href="/adm/email?compose=upload">$lt{'dmu'}</a></b>
</td></tr>
<tr><td bgcolor="#FFFFAA">
<b><a href="/adm/email?recordftf=query">$lt{'unr'}</a></b>$help{'Course_Face_To_Face_Records,Course_Critical_Message'}
-</td></tr>
-<tr><td bgcolor="#FFFFAA">
+</td>
+<td bgcolor="#FFFFAA">
<b><a href="/adm/email?block=display">$lt{'cbs'}</a>
</td></tr>
END
Index: loncom/interface/lonmsg.pm
diff -u loncom/interface/lonmsg.pm:1.119 loncom/interface/lonmsg.pm:1.120
--- loncom/interface/lonmsg.pm:1.119 Mon Nov 15 16:37:44 2004
+++ loncom/interface/lonmsg.pm Wed Nov 17 16:05:26 2004
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Routines for messaging
#
-# $Id: lonmsg.pm,v 1.119 2004/11/15 21:37:44 www Exp $
+# $Id: lonmsg.pm,v 1.120 2004/11/17 21:05:26 www Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1085,7 +1085,10 @@
if ($content{'baseurl'}) {
$disbase='<input type="hidden" name="baseurl" value="'.&Apache::lonnet::escape($content{'baseurl'}).'" />';
if ($ENV{'user.adv'}) {
- $disbase='<input type="checkbox" name="storebasecomment" />'.&mt('Store message for re-use').'<br />';
+ $disbase.='<input type="checkbox" name="storebasecomment" />'.&mt('Store message for re-use').
+ ' <a href="/adm/email?showcommentbaseurl='.
+ &Apache::lonnet::escape($content{'baseurl'}).'" target="comments">'.
+ &mt('Show re-usable messages').'</a><br />';
}
}
}
@@ -1821,10 +1824,45 @@
&header($r,$title,$baseurl);
}
+# ------------------------------------------------------------ Store the comment
+
+sub storecomment {
+ my ($r)=@_;
+ my $msgtxt=&Apache::lonfeedback::clear_out_html($ENV{'form.message'});
+ my $cleanmsgtxt='';
+ foreach (split(/[\n\r]/,$msgtxt)) {
+ unless ($_=~/^\s*(\>|\>\;)/) {
+ $cleanmsgtxt.=$_."\n";
+ }
+ }
+ my $key=&Apache::lonnet::escape($ENV{'form.baseurl'}).'___'.time;
+ &Apache::lonnet::put('nohist_stored_comments',{ $key => $cleanmsgtxt });
+}
+
+sub storedcommentlisting {
+ my ($r)=@_;
+ my %msgs=&Apache::lonnet::dump('nohist_stored_comments',undef,undef,
+ '^'.&Apache::lonnet::escape(&Apache::lonnet::escape($ENV{'form.showcommentbaseurl'})));
+ $r->print('<html><body>');
+ if ((keys %msgs)[0]=~/^error\:/) {
+ $r->print(&mt('No stored comments yet.'));
+ } else {
+ my $found=0;
+ foreach (sort keys %msgs) {
+ $r->print("\n".$msgs{$_}."<hr />");
+ $found=1;
+ }
+ unless ($found) {
+ $r->print(&mt('No stored comments yet for this resource.'));
+ }
+ }
+}
+
# ---------------------------------------------------------------- Send an email
sub sendoffmail {
- my ($r)=@_;
+ my ($r,$folder)=@_;
+ my $suffix=&foldersuffix($folder);
my $sendstatus='';
if ($ENV{'form.send'}) {
&printheader($r,'','Messages being sent.');
@@ -1833,17 +1871,17 @@
undef %content;
if ($ENV{'form.forwid'}) {
my $msgid=$ENV{'form.forwid'};
- my %message=&Apache::lonnet::get('nohist_email',[$msgid]);
+ my %message=&Apache::lonnet::get('nohist_email'.$suffix,[$msgid]);
%content=&unpackagemsg($message{$msgid},1);
- &statuschange($msgid,'forwarded');
+ &statuschange($msgid,'forwarded',$folder);
$ENV{'form.message'}.="\n\n-- Forwarded message --\n\n".
$content{'message'};
}
if ($ENV{'form.replyid'}) {
my $msgid=$ENV{'form.replyid'};
- my %message=&Apache::lonnet::get('nohist_email',[$msgid]);
+ my %message=&Apache::lonnet::get('nohist_email'.$suffix,[$msgid]);
%content=&unpackagemsg($message{$msgid},1);
- &statuschange($msgid,'replied');
+ &statuschange($msgid,'replied',$folder);
}
my %toaddr=();
undef %toaddr;
@@ -1934,7 +1972,8 @@
&Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},
['display','replyto','forward','markread','markdel','markunread',
'sendreply','compose','sendmail','critical','recname','recdom',
- 'recordftf','sortedby','block','folder','startdis','interdis']);
+ 'recordftf','sortedby','block','folder','startdis','interdis',
+ 'showcommentbaseurl']);
$sqs='&sortedby='.$ENV{'form.sortedby'}.
'&startdis='.$ENV{'form.startdis'}.
'&interdis='.$ENV{'form.interdis'};
@@ -2007,10 +2046,11 @@
&printheader($r,'','Displaying Critical Messages');
&discrit($r);
} elsif ($ENV{'form.forward'}) {
- &compout($r,$ENV{'form.forward'});
+ &compout($r,$ENV{'form.forward'},undef,undef,$folder);
} elsif ($ENV{'form.markdel'}) {
&printheader($r,'','Deleted Message');
&statuschange($ENV{'form.markdel'},'deleted',$folder);
+ &Apache::loncommunicate::menu($r);
&disall($r,$folder);
} elsif ($ENV{'form.markedmove'}) {
my $total=0;
@@ -2023,6 +2063,7 @@
}
&printheader($r,'','Moved Messages');
$r->print('Moved '.$total.' message(s)<p>');
+ &Apache::loncommunicate::menu($r);
&disall($r,$folder);
} elsif ($ENV{'form.markeddel'}) {
my $total=0;
@@ -2034,10 +2075,12 @@
}
&printheader($r,'','Deleted Messages');
$r->print('Deleted '.$total.' message(s)<p>');
+ &Apache::loncommunicate::menu($r);
&disall($r,$folder);
} elsif ($ENV{'form.markunread'}) {
&printheader($r,'','Marked Message as Unread');
&statuschange($ENV{'form.markunread'},'new');
+ &Apache::loncommunicate::menu($r);
&disall($r,$folder);
} elsif ($ENV{'form.compose'}) {
&compout($r,'','',$ENV{'form.compose'});
@@ -2046,13 +2089,21 @@
} elsif ($ENV{'form.block'}) {
&examblock($r,$ENV{'form.block'});
} elsif ($ENV{'form.sendmail'}) {
- &sendoffmail($r);
+ &sendoffmail($r,$folder);
+ if ($ENV{'form.storebasecomment'}) {
+ &storecomment($r);
+ }
+ &disall($r,$folder);
} elsif ($ENV{'form.newfolder'}) {
&printheader($r,'','New Folder');
&makefolder($ENV{'form.newfolder'});
+ &Apache::loncommunicate::menu($r);
&disall($r,$ENV{'form.newfolder'});
+ } elsif ($ENV{'form.showcommentbaseurl'}) {
+ &storedcommentlisting($r);
} else {
&printheader($r,'','Display All Messages');
+ &Apache::loncommunicate::menu($r);
&disall($r,$folder);
}
$r->print('</body></html>');