--- loncom/interface/lonfeedback.pm 2020/12/18 15:23:02 1.384 +++ loncom/interface/lonfeedback.pm 2021/10/18 22:29:20 1.385 @@ -1,7 +1,7 @@ # The LearningOnline Network # Feedback # -# $Id: lonfeedback.pm,v 1.384 2020/12/18 15:23:02 raeburn Exp $ +# $Id: lonfeedback.pm,v 1.385 2021/10/18 22:29:20 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -118,10 +118,16 @@ sub list_discussion { $outputtarget = 'export'; } } + my ($nofooter,$nodisclink,$nofdbklink); if (not &discussion_visible($status)) { if ($mode ne 'board') { - &Apache::lonenc::check_encrypt(\$ressymb); - return '
"; + ($nofooter,$nodisclink,$nofdbklink) = &check_menucoll(); + if ($nofooter || $nofdbklink) { + return '
'; + } else { + &Apache::lonenc::check_encrypt(\$ressymb); + return '
"; + } } } if ($group ne '' && $mode eq 'board') { @@ -136,13 +142,21 @@ sub list_discussion { $blocktext = '
'; + ($nofooter,$nodisclink,$nofdbklink) = &check_menucoll(); + unless ($nofooter || $nofdbklink) { + $blocktext.=&send_message_link($ressymb); + } + $blocktext.=''; }else{ $blocktext.=""; } return $blocktext; } + unless ($outputtarget eq 'export') { + ($nofooter,$nodisclink,$nofdbklink) = &check_menucoll(); + } + my @bgcols = ("LC_disc_old_item","LC_disc_new_item"); my $discussiononly=0; if ($mode eq 'board') { $discussiononly=1; } @@ -774,33 +788,60 @@ END &mt('This discussion is closed.').''; } } elsif ($outputtarget ne 'tex') { - $discussion.=''; } return $discussion; } +sub check_menucoll { + my ($nofooter,$nodisclink,$nofdbklink); + my ($menucoll,$deeplinkmenu,$menuref) = &Apache::loncommon::menucoll_in_effect(); + if ($menucoll) { + if (ref($menuref) eq 'HASH') { + if ($menuref->{'foot'} eq 'n') { + $nofooter = 1; + } else { + unless ($menuref->{'disc'}) { + $nodisclink = 1; + } + unless ($menuref->{'fdbk'}) { + $nofdbklink = 1; + } + } + } + } + return ($nofooter,$nodisclink,$nofdbklink); +} + sub can_see_hidden { my ($mode,$ressymb,$feedurl,$group,$cdom,$cnum,$crs) = @_; my $seehidden;