[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*(\>|\&gt\;)/) {
+	    $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>');