Diff for /loncom/lonnet/perl/lonnet.pm between versions 1.1172.2.89 and 1.1172.2.90

version 1.1172.2.89, 2017/01/22 17:41:07 version 1.1172.2.90, 2017/01/30 19:29:57
Line 3917  sub flushcourselogs { Line 3917  sub flushcourselogs {
         }          }
     }      }
 #  #
 # Reverse lookup of domain roles (dc, ad, li, sc, dh, au)  # Reverse lookup of domain roles (dc, ad, li, sc, dh, da, au)
 #  #
     my %domrolebuffer = ();      my %domrolebuffer = ();
     foreach my $entry (keys(%domainrolehash)) {      foreach my $entry (keys(%domainrolehash)) {
Line 4064  sub userrolelog { Line 4064  sub userrolelog {
          {$trole.':'.$username.':'.$domain.':'.$env{'user.name'}.':'.$env{'user.domain'}.':'}           {$trole.':'.$username.':'.$domain.':'.$env{'user.name'}.':'.$env{'user.domain'}.':'}
                     =$tend.':'.$tstart;                      =$tend.':'.$tstart;
     }      }
     if ($trole =~ /^(dc|ad|li|au|dg|sc|dh)/ ) {      if ($trole =~ /^(dc|ad|li|au|dg|sc|dh|da)/ ) {
        my (undef,$rudom,$runame,$rsec)=split(/\//,$area);         my (undef,$rudom,$runame,$rsec)=split(/\//,$area);
        $domainrolehash         $domainrolehash
          {$trole.':'.$username.':'.$domain.':'.$runame.':'.$rudom.':'.$rsec}           {$trole.':'.$username.':'.$domain.':'.$runame.':'.$rudom.':'.$rsec}
Line 4348  sub get_my_adhocroles { Line 4348  sub get_my_adhocroles {
         }          }
     }      }
     if (($cdom ne '') && ($cnum ne ''))  {      if (($cdom ne '') && ($cnum ne ''))  {
         if ($env{"user.role.dh./$cdom/"}) {          if (($env{"user.role.dh./$cdom/"}) || ($env{"user.role.da./$cdom/"})) {
             my $then=$env{'user.login.time'};              my $then=$env{'user.login.time'};
             my $update=$env{'user.update.time'};              my $update=$env{'user.update.time'};
             my $liverole = 1;              if (!$update) {
             my ($tstart,$tend)=split(/\./,$env{'user.role.dh./'.$cdom});                  $update = $then;
             my $limit = $update;              }
             if ($env{'request.role'} eq 'dh./'.$cdom.'/') {              my @liveroles;
                 $limit = $then;              foreach my $role ('dh','da') {
             }                  if ($env{"user.role.$role./$cdom/"}) {
             if ($tstart && $tstart>$limit) { $liverole = 0; }                      my ($tstart,$tend)=split(/\./,$env{"user.role.$role./$cdom/"});
             if ($tend   && $tend  <$limit) { $liverole = 0; }                      my $limit = $update;
             if ($liverole) {                      if ($env{'request.role'} eq "$role./$cdom/") {
                           $limit = $then;
                       }
                       my $activerole = 1;
                       if ($tstart && $tstart>$limit) { $activerole = 0; }
                       if ($tend   && $tend  <$limit) { $activerole = 0; }
                       if ($activerole) {
                           push(@liveroles,$role);
                       }
                   }
               }
               if (@liveroles) {
                 if (&homeserver($cnum,$cdom) ne 'no_host') {                  if (&homeserver($cnum,$cdom) ne 'no_host') {
                     my ($accessref,$accessinfo,%access_in_dom);                      my ($accessref,$accessinfo,%access_in_dom);
                     ($roles_by_num,$description,$accessref,$accessinfo) = &get_all_adhocroles($cdom);                      ($roles_by_num,$description,$accessref,$accessinfo) = &get_all_adhocroles($cdom);
Line 4414  sub get_my_adhocroles { Line 4425  sub get_my_adhocroles {
                                     next;                                      next;
                                 } elsif ($curraccess eq 'all') {                                  } elsif ($curraccess eq 'all') {
                                     push(@possroles,$role);                                      push(@possroles,$role);
                                   } elsif ($curraccess eq 'dh') {
                                       if (grep(/^dh$/,@liveroles)) {
                                           push(@possroles,$role);
                                       } else {
                                           next;
                                       }
                                   } elsif ($curraccess eq 'da') {
                                       if (grep(/^da$/,@liveroles)) {
                                           push(@possroles,$role);
                                       } else {
                                           next;
                                       }
                                 } elsif ($curraccess eq 'status') {                                  } elsif ($curraccess eq 'status') {
                                     if (@okstatus) {                                      if (@okstatus) {
                                         if (!@statuses) {                                          if (!@statuses) {
Line 8997  sub assignrole { Line 9020  sub assignrole {
             &courserolelog($role,$uname,$udom,$url,$origstart,$origend,$delflag,              &courserolelog($role,$uname,$udom,$url,$origstart,$origend,$delflag,
                            $selfenroll,$context);                             $selfenroll,$context);
         } elsif (($role eq 'li') || ($role eq 'dg') || ($role eq 'sc') ||          } elsif (($role eq 'li') || ($role eq 'dg') || ($role eq 'sc') ||
                  ($role eq 'au') || ($role eq 'dc') || ($role eq 'dh')) {                   ($role eq 'au') || ($role eq 'dc') || ($role eq 'dh') ||
                    ($role eq 'da')) {
             &domainrolelog($role,$uname,$udom,$url,$origstart,$origend,$delflag,              &domainrolelog($role,$uname,$udom,$url,$origstart,$origend,$delflag,
                            $context);                             $context);
         } elsif (($role eq 'ca') || ($role eq 'aa')) {          } elsif (($role eq 'ca') || ($role eq 'aa')) {

Removed from v.1.1172.2.89  
changed lines
  Added in v.1.1172.2.90


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