--- loncom/interface/lonblockingstatus.pm 2009/07/27 11:30:05 1.4 +++ loncom/interface/lonblockingstatus.pm 2009/07/27 12:12:48 1.5 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # displays the blocking status table # -# $Id: lonblockingstatus.pm,v 1.4 2009/07/27 11:30:05 kalberla Exp $ +# $Id: lonblockingstatus.pm,v 1.5 2009/07/27 12:12:48 kalberla Exp $ # # Copyright Michigan State University Board of Trustees # @@ -59,13 +59,13 @@ sub handler { 'Communication Blocking Status Information', undef, {'only_body' => 1, })); Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['activity']); - my ($blocked, $blocktext) = print_blocking_table($env{'form.activity'}); + my $blocktext = get_blocking_table($env{'form.activity'}); $r->print($blocktext); $r->print(Apache::loncommon::end_page()); return OK; } -sub print_blocking_table{ +sub get_blocking_table{ my ($activity,$uname,$udom) = @_; my %setters; my ($blocked,$output,$ownitem,$is_course); @@ -117,16 +117,52 @@ sub print_blocking_table{ my $showend = &Apache::lonlocal::locallocaltime($endblock); $output = '
'.&mt('[_1] will be inaccessible between [_2] and [_3] because communication is being blocked.',$category,$showstart,$showend).'
'; if (!($activity eq 'port' && !($ownitem) && !($is_course))) { - $output .= &Apache::loncommon::build_block_table($startblock,$endblock,\%setters); + $output .= build_block_table($startblock,$endblock,\%setters); } } - return ($blocked,$output); + return $output; +} + +sub build_block_table { + my ($startblock,$endblock,$setters) = @_; + my %lt = &Apache::lonlocal::texthash( + 'cacb' => 'Currently active communication blocks', + 'cour' => 'Course', + 'dura' => 'Duration', + 'blse' => 'Block set by' + ); + my $output; + $output = '
'.$lt{'cacb'}.':
'; + $output .= Apache::loncommon::start_data_table(); + $output .= ' + + '.$lt{'cour'}.' + '.$lt{'dura'}.' + '.$lt{'blse'}.' + +'; + foreach my $course (keys(%{$setters})) { + my %courseinfo=&Apache::lonnet::coursedescription($course); + for (my $i=0; $i<@{$$setters{$course}{staff}}; $i++) { + my ($uname,$udom) = @{$$setters{$course}{staff}[$i]}; + my $fullname = Apache::loncommon::plainname($uname,$udom); + if (defined($env{'user.name'}) && defined($env{'user.domain'}) + && $env{'user.name'} ne 'public' + && $env{'user.domain'} ne 'public') { + $fullname = Apache::loncommon::aboutmewrapper($fullname,$uname,$udom); + } + my ($openblock,$closeblock) = @{$$setters{$course}{times}[$i]}; + $openblock = &Apache::lonlocal::locallocaltime($openblock); + $closeblock= &Apache::lonlocal::locallocaltime($closeblock); + $output .= &Apache::loncommon::start_data_table_row(). + ''.$courseinfo{'description'}.''. + ''.$openblock.' to '.$closeblock.''. + ''.$fullname.''. + &Apache::loncommon::end_data_table_row(); + } + } + $output .= Apache::loncommon::end_data_table(); } 1; __END__ - - - - -