--- loncom/interface/lonblockingmenu.pm	2012/04/04 21:04:56	1.5
+++ loncom/interface/lonblockingmenu.pm	2013/01/04 05:45:50	1.9
@@ -2,7 +2,7 @@
 # Routines for configuring blocking of access to collaborative functions, 
 # and specific resources during an exam
 #
-# $Id: lonblockingmenu.pm,v 1.5 2012/04/04 21:04:56 raeburn Exp $
+# $Id: lonblockingmenu.pm,v 1.9 2013/01/04 05:45:50 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -238,23 +238,6 @@ Output: None
 
 Side Effects: prints web form elements (in a table) for current blocks. 
 
-=item &path_to_trigger()
-
-Provides hierarchy of names of folders/sub-folders containing the current
-item identified as an item with an interval timer set, to be used as a 
-trigger. 
-
-Inputs: 3 
-     - $navmap - navmaps object
-
-     - $map - url for map (either the trigger itself, or map containing
-                           the resource, which is the trigger). 
-
-     - $type - type of trigger: map or resource.
-
-Outputs: 1 @pathitems - array of folder/subfolder names.  
-
-
 =item &convlim()
 
 Convert a time interval used for a timed quiz (in seconds) to
@@ -506,7 +489,7 @@ sub handler {
     }
     &Apache::lonhtmlcommon::add_breadcrumb
         ({href=>'/adm/setblock',
-          text=>'Blocking communication/resource access'});
+          text=>'Blocking communication/content access'});
 
     my $js = &blockingmenu_javascript($blockcount);
 
@@ -515,7 +498,6 @@ sub handler {
         &Apache::lonhtmlcommon::breadcrumbs('Blocking communication/content access'));
 
     my $usertype;
-    my $crstype = &Apache::loncommon::course_type();
     if ($crstype eq 'Community') {
         $usertype = 'members';
     } else {
@@ -565,6 +547,7 @@ sub handler {
             '<li>'.&mt("displaying LON-CAPA messages sent by other $usertype in the $lctype").'</li>'."\n".
             '<li>'.&mt("displaying or posting to LON-CAPA discussion boards or live chat in the $lctype").'</li>'."\n".
             '<li>'.&mt('accessing content in LON-CAPA portfolios or blogs').'</li>'."\n".
+            '<li>'.&mt("generating printouts of $lctype content").'</li>'.
             '<li>'.&mt("accessing $lctype content in specified folders or resources").'</li>'.
             '</ul>'.
             '<p class="LC_warning">'.$lt{'blca'}.'<br />'.$lt{'pobl'}.'</p>'
@@ -1128,49 +1111,8 @@ END
     return;
 }
 
-sub path_to_trigger {
-    my ($navmap,$map,$type) = @_;
-    my @pathitems;
-    if (ref($navmap)) {
-        my $mapres = $navmap->getResourceByUrl($map);
-        if (ref($mapres)) {
-            my $pcslist = $mapres->map_hierarchy();
-            if ($pcslist ne '') {
-                my @pcs = split(/,/,$pcslist);
-                foreach my $pc (@pcs) {    
-                    if ($pc == 1) {
-                        push(@pathitems,&mt('Main Course Documents'));
-                    } else {
-                        my $res = $navmap->getByMapPc($pc);
-                        if (ref($res)) {
-                            my $title = $res->compTitle();
-                            $title =~ s/\W+/_/g;
-                            if ($title ne '') {
-                                push(@pathitems,$title);
-                            }
-                        }
-                    }
-                }
-            }
-        }
-        if ($type eq 'resource') {
-            if ($mapres->{ID} eq '0.0') {
-                push(@pathitems,&mt('Main Course Documents'));
-            } else {
-                my $maptitle = $mapres->compTitle();
-                $maptitle =~ s/\W+/_/g;
-                if ($maptitle ne '') {
-                    push(@pathitems,$maptitle);
-                }
-            }
-        }
-    }
-    return @pathitems;
-}
-
 sub convlim {
     my ($timelimit) = @_;
-    my $output;
     my @order = ('days','hours','minutes','seconds');
     my %catlimits = ( 
                       days    => 86400,
@@ -1180,13 +1122,15 @@ sub convlim {
     my @toshow;
     foreach my $cat (@order) {
         if ($cat eq 'seconds') {
-            last if ($timelimit <= 0);
+            if ($timelimit > 0) {
+                push(@toshow,&mt("[_1] $cat",$timelimit));
+            }
         } elsif ($timelimit >= $catlimits{$cat}) {
             my $val = int($timelimit/$catlimits{$cat});
             if ($val > 0) {
                 push(@toshow,&mt("[_1] $cat",$val));
             }
-            $timelimit =- $val*$catlimits{$cat};
+            $timelimit -= $val*$catlimits{$cat};
         }
     }
     my $output = join(', ',@toshow);
@@ -1457,10 +1401,12 @@ sub show_timer_path {
     return unless(ref($navmap));
     my @pathitems;
     if ($type eq 'map') {
-        @pathitems = &path_to_trigger($navmap,$item,$type);
+        @pathitems = 
+            &Apache::loncommon::get_folder_hierarchy($navmap,$item);
     } elsif ($type eq 'resource') {
         my ($map,$id,$resource) = &Apache::lonnet::decode_symb($item);
-        @pathitems = &path_to_trigger($navmap,$map,$type);
+        @pathitems = 
+            &Apache::loncommon::get_folder_hierarchy($navmap,$map,1);
     }
     if (@pathitems) {
         return join(' &raquo; ',@pathitems);