--- loncom/interface/lonfeedback.pm 2004/02/13 15:03:39 1.77
+++ loncom/interface/lonfeedback.pm 2004/04/28 21:13:13 1.78
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Feedback
#
-# $Id: lonfeedback.pm,v 1.77 2004/02/13 15:03:39 www Exp $
+# $Id: lonfeedback.pm,v 1.78 2004/04/28 21:13:13 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -55,6 +55,20 @@ sub list_discussion {
$symb=&Apache::lonnet::symbread();
}
unless ($symb) { return ''; }
+
+ my %dischash = &Apache::lonnet::restore($symb,$ENV{'request.course.id'}.'_discuss',$ENV{'user.domain'},$ENV{'user.name'});
+ my %readids = ();
+ my $showonlyunread;
+ foreach my $key (keys %dischash) {
+ if ($key eq 'showonlyunread') {
+ $showonlyunread = $dischash{$key};
+ } else {
+ if ($dischash{$key} eq 'read') {
+ $readids{$key} = 1;
+ }
+ }
+ }
+
my $seeid=&Apache::lonnet::allowed('rin',$crs);
my $viewgrades=(&Apache::lonnet::allowed('vgr',$crs)
&& ($symb=~/\.(problem|exam|quiz|assess|survey|form)$/));
@@ -107,6 +121,11 @@ sub list_discussion {
my $message=$contrib{$idx.':message'};
$message=~s/\n/\
/g;
$message=&Apache::lontexconvert::msgtexconverted($message);
+ my $subject=$contrib{$idx.':subject'};
+ if (defined($subject)) {
+ $subject=~s/\n/\
/g;
+ $subject=&Apache::lontexconvert::msgtexconverted($subject);
+ }
if ($contrib{$idx.':attachmenturl'}) {
my ($fname,$ft)
=($contrib{$idx.':attachmenturl'}=~/\/(\w+)\.(\w+)$/);
@@ -161,6 +180,16 @@ sub list_discussion {
$ressymb.':::'.$idx.'" '.$target.'>'.&mt('Reply').'';
}
my $vgrlink;
+ my $ctlink;
+ if ($readids{$idx} == 1) {
+ $ctlink = ''.&mt('Mark unread').'? '.
+ '';
+ } else {
+ $ctlink = ''.&mt('Mark read').'? '.
+ '';
+ }
if ($viewgrades) {
$vgrlink=&Apache::loncommon::submlink('Submissions',
$contrib{$idx.':sendername'},$contrib{$idx.':senderdomain'},$symb);
@@ -172,24 +201,43 @@ sub list_discussion {
}
$alldiscussion{$thisindex}=$idx;
$index[$idx]=$thisindex;
- $discussionitems[$idx]='
'.$sender.' '.$vgrlink.' ('. - localtime($contrib{$idx.':timestamp'}). - '):
'.$message. - ''; - } - } + $discussionitems[$idx]='
'.$subject.' '. + $sender.' '.$vgrlink.' ('. + localtime($contrib{$idx.':timestamp'}). + ') | '.$ctlink.' |
Check "Show all posts?" or "Mark unread?", then "Save read settings" to display message |
'.$message.''; + } + } + } } } my $discussion=''; if ($visible) { # Print a the discusssion + $discussion .= ''; } if ($discussiononly) { $discussion.=(<
Attachment (128 KB max size):
@@ -241,6 +296,7 @@ sub mail_screen {
my $title=&Apache::lonnet::gettitle($feedurl);
if (!$title) { $title = $feedurl; }
my $quote='';
+ my $subject = '';
if ($ENV{'form.replydisc'}) {
my ($symb,$idx)=split(/\:\:\:/,$ENV{'form.replydisc'});
my %contrib=&Apache::lonnet::restore($symb,$ENV{'request.course.id'},
@@ -250,6 +306,7 @@ sub mail_screen {
my $message=$contrib{$idx.':message'};
$message=~s/\n/\
/g;
$quote='
'.&Apache::lontexconvert::msgtexconverted($message).''; + $subject = 'Re: '.$contrib{$idx.':subject'}; } } my $latexHelp = Apache::loncommon::helpLatexCheatsheet(); @@ -315,6 +372,8 @@ $quote
My question/comment/feedback:
$latexHelp +Title:
+
@@ -588,7 +647,7 @@ sub send_msg {
}
sub adddiscuss {
- my ($symb,$email,$anon,$attachmenturl)=@_;
+ my ($symb,$email,$anon,$attachmenturl,$subject)=@_;
my $status='';
if (&Apache::lonnet::allowed('pch',$ENV{'request.course.id'}.
($ENV{'request.course.sec'}?'/'.$ENV{'request.course.sec'}:''))) {
@@ -601,7 +660,8 @@ sub adddiscuss {
$ENV{'environment.middlename'}.' '.
$ENV{'environment.lastname'}.' '.
$ENV{'enrironment.generation'},
- 'attachmenturl'=> $attachmenturl);
+ 'attachmenturl'=> $attachmenturl,
+ 'subject' => $subject);
if ($ENV{'form.replydisc'}) {
$contrib{'replyto'}=(split(/\:\:\:/,$ENV{'form.replydisc'}))[1];
}
@@ -641,7 +701,11 @@ sub show_preview {
my $message=&clear_out_html($ENV{'form.comment'});
$message=~s/\n/\
/g;
$message=&Apache::lontexconvert::msgtexconverted($message);
+ my $subject=&clear_out_html($ENV{'form.subject'});
+ $subject=~s/\n/\
/g;
+ $subject=&Apache::lontexconvert::msgtexconverted($subject);
$r->print('
'.
+ 'Subject: '.$subject.' '. $message.' |