Diff for /rat/lonuserstate.pm between versions 1.158 and 1.162

version 1.158, 2020/03/03 01:16:31 version 1.162, 2021/04/19 21:12:53
Line 293  sub loadmap { Line 293  sub loadmap {
     # Handle randomization and random selection      # Handle randomization and random selection
   
     if ($randomize) {      if ($randomize) {
         my $advanced;          unless (&is_advanced($courseid)) {
         if ($env{'request.course.id'}) {  
             $advanced = (&Apache::lonnet::allowed('adv') eq 'F');  
         } else {  
             $env{'request.course.id'} = $courseid;  
             $advanced = (&Apache::lonnet::allowed('adv') eq 'F');  
             $env{'request.course.id'} = '';  
         }  
         unless ($advanced) {  
             # Order of resources is not randomized if user has and advanced role in the course.              # Order of resources is not randomized if user has and advanced role in the course.
     my $seed;      my $seed;
   
Line 384  sub loadmap { Line 376  sub loadmap {
     }      }
 }  }
   
   sub is_advanced {
       my ($courseid) = @_;
       my $advanced;
       if ($env{'request.course.id'}) {
           $advanced = (&Apache::lonnet::allowed('adv') eq 'F');
       } else {
           $env{'request.course.id'} = $courseid;
           $advanced = (&Apache::lonnet::allowed('adv') eq 'F');
           $env{'request.course.id'} = '';
       }
       return $advanced;
   }
   
 # -------------------------------------------------------------------- Resource  # -------------------------------------------------------------------- Resource
 #  #
Line 566  sub parse_resource { Line 570  sub parse_resource {
     if (($turi=~/\.sequence$/) ||      if (($turi=~/\.sequence$/) ||
  ($turi=~/\.page$/)) {   ($turi=~/\.page$/)) {
  $hash{'is_map_'.$rid}=1;   $hash{'is_map_'.$rid}=1;
  &loadmap($turi,$rid,$courseid);   if ((!$hiddenurl{$rid}) || (&is_advanced($courseid))) {
       &loadmap($turi,$rid,$courseid);
    }
     }       } 
     return $token->[2]->{'id'};      return $token->[2]->{'id'};
 }  }
Line 1205  sub mapcrumbs { Line 1211  sub mapcrumbs {
 # ---------------------------------------------------- Read map and all submaps  # ---------------------------------------------------- Read map and all submaps
   
 sub readmap {  sub readmap {
     my $short=shift;      my ($short,$critmsg_check) = @_;
     $short=~s/^\///;      $short=~s/^\///;
   
     # TODO:  Hidden dependency on current user:      # TODO:  Hidden dependency on current user:
Line 1444  sub readmap { Line 1450  sub readmap {
   
 #  Depends on user must parameterize this as well..or separate as this is:  #  Depends on user must parameterize this as well..or separate as this is:
 #  more part of determining what someone sees on entering a course?  #  more part of determining what someone sees on entering a course?
   #  When lonuserstate::readmap() is called from lonroles.pm, i.e.,
   #  after selecting a role in a course, critical_redirect will be called,
   #  unless the course has a blocking event in effect, when suppresses
   #  critical message checking (users without evb priv).
   #
   
     my @what=&Apache::lonnet::dump('critical',$env{'user.domain'},      if ($critmsg_check) {
    $env{'user.name'});          my ($redirect,$url) = &Apache::loncommon::critical_redirect();
     if ($what[0]) {          if ($redirect) {
  if (($what[0] ne 'con_lost') && ($what[0]!~/^error\:/)) {              $retfurl = $url;
     $retfurl='/adm/email?critical=display';  
         }          }
     }      }
     return ($retfurl,$errtext);      return ($retfurl,$errtext);

Removed from v.1.158  
changed lines
  Added in v.1.162


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>