--- loncom/interface/lonfeedback.pm 2003/10/15 20:13:31 1.63 +++ loncom/interface/lonfeedback.pm 2003/10/21 00:22:23 1.64 @@ -1,7 +1,7 @@ # The LearningOnline Network # Feedback # -# $Id: lonfeedback.pm,v 1.63 2003/10/15 20:13:31 albertel Exp $ +# $Id: lonfeedback.pm,v 1.64 2003/10/21 00:22:23 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -69,17 +69,13 @@ sub list_discussion { unless ($symb) { return ''; } my $seeid=&Apache::lonnet::allowed('rin',$crs); my $viewgrades=&Apache::lonnet::allowed('vgr',$crs); - my $discussion=''; + my %discussionitems=(); my %contrib=&Apache::lonnet::restore($symb,$ENV{'request.course.id'}, $ENV{'course.'.$ENV{'request.course.id'}.'.domain'}, $ENV{'course.'.$ENV{'request.course.id'}.'.num'}); if ($contrib{'version'}) { - unless ($discussiononly) { - $discussion.= - '

'; - } - my $idx; - for ($idx=1;$idx<=$contrib{'version'};$idx++) { + for (my $id=1;$id<=$contrib{'version'};$id++) { + my $idx=$id; my $hidden=($contrib{'hidden'}=~/\.$idx\./); my $deleted=($contrib{'deleted'}=~/\.$idx\./); unless ((($hidden) && (!$seeid)) || ($deleted)) { @@ -128,6 +124,12 @@ sub list_discussion { $sender.=' '.&mt('Delete').''; } + if (&Apache::lonnet::allowed('pch', + $ENV{'request.course.id'}. + ($ENV{'request.course.sec'}?'/'.$ENV{'request.course.sec'}:''))) { + $sender.=' '.&mt('Reply').''; + } } else { if ($screenname) { $sender=''.$screenname.''; @@ -138,16 +140,17 @@ sub list_discussion { $vgrlink=&Apache::loncommon::submlink('Submissions', $contrib{$idx.':sendername'},$contrib{$idx.':senderdomain'},$symb); } - $discussion.='

'.$sender.' '.$vgrlink.' ('. + $discussionitems{$idx}='

'.$sender.' '.$vgrlink.' ('. localtime($contrib{$idx.':timestamp'}). '):

'.$message. '

'; } } } - unless ($discussiononly) { - $discussion.='
'; - } + } + my $discussion='
'; + foreach (sort { $a <=> $b } keys %discussionitems) { + $discussion.=$discussionitems{$_}; } if ($discussiononly) { $discussion.=(<