Diff for /loncom/interface/lonaboutme.pm between versions 1.70.4.1 and 1.70.4.4

version 1.70.4.1, 2009/05/18 21:51:26 version 1.70.4.4, 2010/11/01 13:35:42
Line 396  sub in_course { Line 396  sub in_course {
  $cdom = $env{'course.'.$cid.'.domain'};   $cdom = $env{'course.'.$cid.'.domain'};
  $cnum = $env{'course.'.$cid.'.num'};   $cnum = $env{'course.'.$cid.'.num'};
     }      }
     my %roles = &Apache::lonnet::dump('roles',$udom,$uname);      my $typesref;
     my @course_roles = grep(m{^/\Q$cdom\E/\Q$cnum\E[/_]}, keys(%roles));      if ($type eq 'all') {
     return 0 if (!@course_roles);          $typesref = ['active','previous','future'];
     return 1 if ($type eq 'any');      } elsif ($type eq 'previous' || $type eq 'future') {
     my $now = time();          $typesref = [$type];
     foreach my $role (@course_roles) {      }
  my (undef,$role_end,$role_start)=split(/\_/,$roles{$role});      my %roles = &Apache::lonnet::get_my_roles($uname,$udom,'userroles',
  my $status = 'active';                                               $typesref,undef,[$cdom]);
  if ($role_start > 0 && $now < $role_start) {      my ($tmp) = keys(%roles);
     $status = 'future';      return 0 if ($tmp =~ /^(con_lost|error|no_such_host)/i);
  }      my @course_roles = grep(/^\Q$cnum\E:\Q$cdom\E:/, keys(%roles));
  if ($role_end > 0 && $now > $role_end) {      if (@course_roles > 0) {
     $status = 'previous';          return 1;
  }  
  return 1 if ($status eq $type);  
     }      }
     return 0;      return 0;
 }  }
Line 777  sub aboutme_access { Line 775  sub aboutme_access {
     my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};      my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'};
     my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};      my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'};
     if (($cdom eq '') || ($cnum eq '')) {      if (($cdom eq '') || ($cnum eq '')) {
         my %coursehash = &coursedescription($env{'request.course.id'});          my %coursehash = &Apache::lonnet::coursedescription($env{'request.course.id'});
         $cdom = $coursehash{'domain'};          $cdom = $coursehash{'domain'};
         $cnum = $coursehash{'cnum'};          $cnum = $coursehash{'cnum'};
     }      }
     if ((&Apache::lonnetallowed('srm',$privcheck)) ||       if ((&Apache::lonnet::allowed('srm',$privcheck)) || 
         (&Apache::lonnet::allowed('dff',$privcheck))) {          (&Apache::lonnet::allowed('dff',$privcheck))) {
         if (&in_course($uname,$udom,$cnum,$cdom)) {          if (&in_course($uname,$udom,$cnum,$cdom)) {
             return 1;              return 1;

Removed from v.1.70.4.1  
changed lines
  Added in v.1.70.4.4


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