--- loncom/interface/lonblockingstatus.pm 2012/03/31 14:19:24 1.8 +++ loncom/interface/lonblockingstatus.pm 2016/01/27 00:24:09 1.13 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # displays the blocking status table # -# $Id: lonblockingstatus.pm,v 1.8 2012/03/31 14:19:24 raeburn Exp $ +# $Id: lonblockingstatus.pm,v 1.13 2016/01/27 00:24:09 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -44,7 +44,7 @@ sub handler { return OK if $r->header_only; my (%activities,$activity,$origurl); - map { $activities{$_} = 1; } ('boards','chat','msgdisplay','blogs','groups','port','docs'); + map { $activities{$_} = 1; } ('boards','chat','msgdisplay','blogs','groups','port','printout','docs','passwd'); # determine what kind of blocking we want details for &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'},['activity','url']); @@ -52,7 +52,7 @@ sub handler { my $title = 'Communication Blocking Status Information'; - if ($activity eq 'docs') { + if (($activity eq 'docs') || ($activity eq 'printout')) { $title = 'Blocking Status Information'; $origurl = $env{'form.url'}; } @@ -78,16 +78,24 @@ sub blockpage { # we're trying to look at. This information is passed via query string. my ($uname, $udom); - if ($activity eq 'port') { + if (($activity eq 'port') || + (($activity eq 'passwd') && ($env{'user.name'} eq 'public') && ($env{'user.domain'} eq 'public'))) { &Apache::loncommon::get_unprocessed_cgi( $ENV{'QUERY_STRING'}, ['udom', 'uname'] ); ($uname, $udom) = ($env{'form.uname'}, $env{'form.udom'}); if (($uname !~ /^$match_username$/) || ($udom !~ /^$match_domain$/)) { - return ''. - &mt('Information about the owner of the portfolio files you were trying to view was missing or invalid.'). - '
'. - &mt('Without valid owner information, the reason why access is blocked can not be determined'); + if ($activity eq 'port') { + return ''. + &mt('Information about the owner of the portfolio files you were trying to view was missing or invalid.'). + '
'. + &mt('Without valid owner information, the reason why access is blocked can not be determined'); + } else { + return ''. + &mt('Information about the username and/or domain for which you were trying to reset a password was missing or invalid.'). + '
'. + &mt('Without valid information, the reason why access is blocked can not be determined'); + } } } @@ -95,7 +103,7 @@ sub blockpage { # retrieve start/end of possible active blocking my %setters; my ($startblock,$endblock,$triggerblock) = - &Apache::loncommon::blockcheck(\%setters,$activity,$uname,$udom,$url); + &Apache::loncommon::blockcheck(\%setters,$activity,$uname,$udom,$origurl); # nothing to do if there's no active blocking unless ($startblock && $endblock) { return ''; } @@ -108,11 +116,13 @@ sub blockpage { msgdisplay => 'This message', blogs => 'Blogs', groups => 'Groups in this course', + printout => 'Printout generation', docs => 'Course Content', + passwd => 'Changing of passwords', ); if ($activity eq 'groups' || $activity eq 'boards') { - if (&course_type() eq 'Community') { + if (&Apache::loncommon::course_type() eq 'Community') { $descs{'boards'} = 'Discussion posts in this community', $descs{'groups'} = 'Groups in this community', $descs{'docs'} = 'Community Content', @@ -135,11 +145,15 @@ sub blockpage { if ( ref($description) ne 'ARRAY' ) { #default: $description is one of the above descriptions if ($activity eq 'docs') { - $output=&mt( 'Access to the content page you are attempting to + $output=&mt( 'Access to the content page you are attempting to' . ' view will be unavailable between [_1] and [_2] because' - . ' access to selected $description is being blocked.' + . ' access to selected '.$description.' is being blocked.' ,$showstart, $showend); - } + } elsif (($activity eq 'printout') || ($activity eq 'passwd')) { + $output = mt( $description + . ' will be unavailable between [_1] and [_2] because' + . ' this functionality is being blocked.' + ,$showstart, $showend); } else { $output = mt( $description . ' will be inaccessible between [_1] and [_2] because' @@ -174,7 +188,7 @@ sub blockpage { sub build_block_table { my ($setters) = @_; my %lt = &Apache::lonlocal::texthash( - 'cacb' => 'Currently active communication blocks', + 'cacb' => 'Currently active communication/content blocks', 'cour' => 'Course', 'dura' => 'Duration', 'blse' => 'Block set by' @@ -197,7 +211,7 @@ sub build_block_table { { $fullname = Apache::loncommon::aboutmewrapper($fullname,$uname,$udom); } - my $triggertype = $$setters{$course}{times}[$i]; + my $triggertype = $$setters{$course}{triggers}[$i]; if ($triggertype) { $fullname .= &mt(' (triggered by you when starting timer)'); }