Diff for /loncom/lonnet/perl/lonnet.pm between versions 1.1167 and 1.1168

version 1.1167, 2012/05/16 21:19:33 version 1.1168, 2012/05/18 15:31:40
Line 4674  sub rolesinit { Line 4674  sub rolesinit {
             my ($area,$role)=split(/=/,$entry);              my ($area,$role)=split(/=/,$entry);
     $area=~s/\_\w\w$//;      $area=~s/\_\w\w$//;
             my ($trole,$tend,$tstart,$group_privs);              my ($trole,$tend,$tstart,$group_privs);
     if ($role=~/^cr/) {       if ($role=~/^cr/) {
   # Custom role, defined by a user 
   # e.g., user.role.cr/msu/smith/mynewrole
  if ($role=~m|^(cr/$match_domain/$match_username/[a-zA-Z0-9]+)_(.*)$|) {   if ($role=~m|^(cr/$match_domain/$match_username/[a-zA-Z0-9]+)_(.*)$|) {
     ($trole,my $trest)=($role=~m|^(cr/$match_domain/$match_username/[a-zA-Z0-9]+)_(.*)$|);      ($trole,my $trest)=($role=~m|^(cr/$match_domain/$match_username/[a-zA-Z0-9]+)_(.*)$|);
     ($tend,$tstart)=split('_',$trest);      ($tend,$tstart)=split('_',$trest);
Line 4682  sub rolesinit { Line 4684  sub rolesinit {
     $trole=$role;      $trole=$role;
  }   }
             } elsif ($role =~ m|^gr/|) {              } elsif ($role =~ m|^gr/|) {
   # Role of member in a group, defined within a course/community
   # e.g., user.role.gr/msu/04935610a19ee4a5fmsul1/leopards
                 ($trole,$tend,$tstart) = split(/_/,$role);                  ($trole,$tend,$tstart) = split(/_/,$role);
                 next if ($tstart eq '-1');                  next if ($tstart eq '-1');
                 ($trole,$group_privs) = split(/\//,$trole);                  ($trole,$group_privs) = split(/\//,$trole);
                 $group_privs = &unescape($group_privs);                  $group_privs = &unescape($group_privs);
     } else {      } else {
   # Just a normal role, defined in roles.tab
  ($trole,$tend,$tstart)=split(/_/,$role);   ($trole,$tend,$tstart)=split(/_/,$role);
     }      }
     my %new_role = &set_arearole($trole,$area,$tstart,$tend,$domain,      my %new_role = &set_arearole($trole,$area,$tstart,$tend,$domain,
Line 4698  sub rolesinit { Line 4703  sub rolesinit {
  my $spec=$trole.'.'.$area;   my $spec=$trole.'.'.$area;
  my ($tdummy,$tdomain,$trest)=split(/\//,$area);   my ($tdummy,$tdomain,$trest)=split(/\//,$area);
  if ($trole =~ /^cr\//) {   if ($trole =~ /^cr\//) {
   # Custom role, defined by a user
                     &custom_roleprivs(\%allroles,$trole,$tdomain,$trest,$spec,$area);                      &custom_roleprivs(\%allroles,$trole,$tdomain,$trest,$spec,$area);
                 } elsif ($trole eq 'gr') {                  } elsif ($trole eq 'gr') {
   # Role of a member in a group, defined within a course/community
                     &group_roleprivs(\%allgroups,$area,$group_privs,$tend,$tstart);                      &group_roleprivs(\%allgroups,$area,$group_privs,$tend,$tstart);
  } else {   } else {
   # Normal role, defined in roles.tab
                     &standard_roleprivs(\%allroles,$trole,$tdomain,$spec,$trest,$area);                      &standard_roleprivs(\%allroles,$trole,$tdomain,$spec,$trest,$area);
  }   }
                 if ($trole ne 'gr') {                  if ($trole ne 'gr') {

Removed from v.1.1167  
changed lines
  Added in v.1.1168


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