--- loncom/interface/lonfeedback.pm 2003/09/15 18:43:54 1.56 +++ loncom/interface/lonfeedback.pm 2003/11/07 16:37:23 1.68 @@ -1,7 +1,7 @@ # The LearningOnline Network # Feedback # -# $Id: lonfeedback.pm,v 1.56 2003/09/15 18:43:54 www Exp $ +# $Id: lonfeedback.pm,v 1.68 2003/11/07 16:37:23 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -51,9 +51,12 @@ use Apache::Constants qw(:common); use Apache::lonmsg(); use Apache::loncommon(); use Apache::lontexconvert(); +use Apache::lonlocal; sub list_discussion { - my ($discussiononly,$symb)=@_; + my ($mode,$status,$symb)=@_; + my $discussiononly=0; + if ($mode eq 'board') { $discussiononly=1; } unless ($ENV{'request.course.id'}) { return ''; } my $crs='/'.$ENV{'request.course.id'}; if ($ENV{'request.course.sec'}) { @@ -66,30 +69,52 @@ 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'}); + my $visible=0; + my @depth=(); + my @original=(); + my @index=(); + my @replies=(); + my %alldiscussion=(); + my $maxdepth=0; + if ($contrib{'version'}) { - unless ($discussiononly) { - $discussion.= - '
Attachment: '.$fname.'.'.$ft.''; + '">'.$fname.'.'.$ft.'
'; } if ($message) { if ($hidden) { @@ -102,7 +127,7 @@ sub list_discussion { $contrib{$idx.':sendername'}, $contrib{$idx.':senderdomain'}); - my $sender='Anonymous'; + my $sender=&mt('Anonymous'); if ((!$contrib{$idx.':anonymous'}) || ($seeid)) { $sender=&Apache::loncommon::aboutmewrapper( $plainname, @@ -111,19 +136,25 @@ sub list_discussion { $contrib{$idx.':sendername'}.' at '. $contrib{$idx.':senderdomain'}.')'; if ($contrib{$idx.':anonymous'}) { - $sender.=' [anonymous] '. + $sender.=' ['.&mt('anonymous').'] '. $screenname; } if ($seeid) { if ($hidden) { $sender.=' Make Visible'; + $symb.':::'.$idx.'">'.&mt('Make Visible').''; } else { $sender.=' Hide'; + $symb.':::'.$idx.'">'.&mt('Hide').''; } $sender.=' Delete'; + $symb.':::'.$idx.'">'.&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) { @@ -135,16 +166,30 @@ sub list_discussion { $vgrlink=&Apache::loncommon::submlink('Submissions', $contrib{$idx.':sendername'},$contrib{$idx.':senderdomain'},$symb); } - $discussion.=''.$sender.' '.$vgrlink.' ('. +#figure out at what position this needs to print + my $thisindex=$idx; +# if ($ENV{'request.discussions.threaded'}) { + if (1) { + $thisindex=$origindex.substr('00'.$replies[$depth[$idx]],-2,2); + } + $alldiscussion{$thisindex}=$idx; + $index[$idx]=$thisindex; + $discussionitems[$idx]='
'.$sender.' '.$vgrlink.' ('. localtime($contrib{$idx.':timestamp'}). '):
'.$message. ''; } } } - unless ($discussiononly) { - $discussion.=''; + } + my $discussion=''; + if ($visible) { + $discussion.='
".$discussionitems[$alldiscussion{$_}]. + " |
Attachment (128 KB max size):
@@ -179,7 +224,8 @@ sub mail_screen { Feedback to resource author';
- }
- if (&feedback_available(1)) {
- $msgoptions.=
- '
Question about resource content';
- }
- if (&feedback_available(0,1)) {
- $msgoptions.=
- '
'.
- 'Question/Comment/Feedback about course content';
- }
- if (&feedback_available(0,0,1)) {
- $msgoptions.=
- '
'.
- 'Question/Comment/Feedback about course policy';
- }
-
- if ($ENV{'request.course.id'}) {
- if (&Apache::lonnet::allowed('pch',
- $ENV{'request.course.id'}.
- ($ENV{'request.course.sec'}?'/'.$ENV{'request.course.sec'}:''))) {
- $discussoptions=' '.
- 'Contribution to course discussion of resource';
- $discussoptions.='
'.
- 'Anonymous contribution to course discussion of resource'.
- ' (name only visible to course faculty)';
+ my ($feedurl) = @_;
+ my $msgoptions='';
+ my $discussoptions='';
+ unless ($ENV{'form.replydisc'}) {
+ if (($feedurl=~/^\/res\//) && ($feedurl!~/^\/res\/adm/)) {
+ $msgoptions=
+ '
'. + &mt('Feedback to resource author').'
'; + } + if (&feedback_available(1)) { + $msgoptions.= + '