--- loncom/interface/lonfeedback.pm 2006/11/29 03:55:15 1.221 +++ loncom/interface/lonfeedback.pm 2006/11/29 19:31:48 1.223 @@ -1,7 +1,7 @@ # The LearningOnline Network # Feedback # -# $Id: lonfeedback.pm,v 1.221 2006/11/29 03:55:15 raeburn Exp $ +# $Id: lonfeedback.pm,v 1.223 2006/11/29 19:31:48 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -93,6 +93,11 @@ sub list_discussion { } } + my ($blocked,$blocktext) = &blocking_posts('boards',1); + if ($blocked) { + return $blocktext; + } + my @bgcols = ("#cccccc","#eeeeee"); my $discussiononly=0; if ($mode eq 'board') { $discussiononly=1; } @@ -421,55 +426,10 @@ imscp_v1p1.xsd http://www.imsglobal.org/ |; $discussion.='
'; - $discussion .=''; - + $discussion .= &action_links_bar($colspan,$ressymb,$visible, + $newpostsflag,$group, + $prevread,$markondisp); + my $escsymb=&escape($ressymb); my $numhidden = keys(%notshown); if ($numhidden > 0) { my $colspan = $maxdepth+1; @@ -680,9 +640,13 @@ END
'. - ''; - my $escsymb=&escape($ressymb); - if ($visible>2) { - $discussion.=''; - if ($newpostsflag) { - if (!$markondisp) { - $discussion .=''; - } - } else { - $discussion .= ''; - } - $discussion .= '
'. - ''.&mt('Threaded View').'  '. - ''.&mt('Chronological View').'   - '.&mt('Sorting/Filtering options').'  '; - } else { - $discussion .= ''; - } - $discussion .=''.&mt('Export').'?  '. - &mt('Preferences on what is marked as NEW'). - '
'.&mt('Mark NEW posts no longer new').''; - } else { - $discussion .= '
  
- -

END + $discussion .= &action_links_bar($colspan,$ressymb,$visible, + $newpostsflag,$group, + $prevread,$markondisp); + $discussion .= " + +

\n"; } if ($outputtarget eq 'export') { if ($manifestok) { @@ -779,6 +743,78 @@ END return $discussion; } +sub action_links_bar { + my ($colspan,$ressymb,$visible,$newpostsflag,$group,$prevread,$markondisp) = @_; + my $discussion = ''. + ''; + my $escsymb=&escape($ressymb); + if ($visible>2) { + $discussion .= ''; + if ($newpostsflag) { + if (!$markondisp) { + $discussion .=''; + } + } else { + $discussion .= ''; + } + $discussion .= '
'. + ''.&mt('Threaded View').'  '. + ''.&mt('Chronological View').'   + '.&mt('Sorting/Filtering options').'  '; + } else { + $discussion .= ''; + } + $discussion .=''.&mt('Export').'?  '. + &mt('Preferences on what is marked as NEW'). + '
'.&mt('Mark NEW posts no longer new').''; + } else { + $discussion .= '
  
'; + return $discussion; +} + +sub blocking_posts { + my ($type,$showstatus) = @_; + my %setters; + my ($blocked,$output); + my ($startblock,$endblock) = + &Apache::loncommon::blockcheck(\%setters,$type); + if ($startblock && $endblock) { + $blocked = 1; + if ($showstatus) { + my $showstart = &Apache::lonlocal::locallocaltime($startblock); + my $showend = &Apache::lonlocal::locallocaltime($endblock); + $output = &mt('Discussion postings will not be viewable for resources in this course between [_1] and [_2] because communication is being blocked.',$showstart, $showend).'
'. + &Apache::loncommon::build_block_table($startblock,$endblock, + \%setters); + } + } + return ($blocked,$output); +} + sub postingform_display { my ($mode,$ressymb,$now,$subject,$comment,$outputtarget,$attachnum, $currnewattach,$currdelold,$group) = @_; @@ -2531,15 +2567,21 @@ sub screen_header { &Apache::lonnet::allowed('pch', $env{'request.course.id'}. ($env{'request.course.sec'}?'/'.$env{'request.course.sec'}:''))) { - $discussoptions='
'. - ''.&mt('Change Screenname').''; + my ($blocked) = &blocking_posts('boards'); + if (!$blocked) { + $discussoptions='
'. + ''.&mt('Change Screenname').''; + } + } + my ($blockblog) = &blocking_posts('blogs'); + if (!$blockblog) { + $discussoptions.='
'; } - $discussoptions.='
'; } if ($msgoptions) { $msgoptions='

'.&mt('Sending Messages').'

'.$msgoptions; } if ($discussoptions) {