Diff for /loncom/auth/lonroles.pm between versions 1.332 and 1.333

version 1.332, 2017/06/26 01:57:02 version 1.333, 2017/08/08 20:10:55
Line 1240  sub gather_roles { Line 1240  sub gather_roles {
     my $advanced = $env{'user.adv'};      my $advanced = $env{'user.adv'};
     my $tryagain = $env{'form.tryagain'};      my $tryagain = $env{'form.tryagain'};
     my @ids = &Apache::lonnet::current_machine_ids();      my @ids = &Apache::lonnet::current_machine_ids();
       my (%willtrust,%trustchecked);
     if (ref($roles_in_env) eq 'HASH') {      if (ref($roles_in_env) eq 'HASH') {
         my %adhocdesc;          my %adhocdesc;
         foreach my $envkey (sort(keys(%{$roles_in_env}))) {          foreach my $envkey (sort(keys(%{$roles_in_env}))) {
Line 1308  sub gather_roles { Line 1309  sub gather_roles {
                 if (($role eq 'ca') || ($role eq 'aa')) {                  if (($role eq 'ca') || ($role eq 'aa')) {
                     my $home = &Apache::lonnet::homeserver($trest,$tdom);                      my $home = &Apache::lonnet::homeserver($trest,$tdom);
                     my $allowed=0;                      my $allowed=0;
                       my $prohibited;
                     foreach my $id (@ids) { if ($id eq $home) { $allowed=1; } }                      foreach my $id (@ids) { if ($id eq $home) { $allowed=1; } }
                     if (!$allowed) {                      if (!$allowed) {
                         $button=0;                          $button=0;
                         $switchserver='otherserver='.$home.'&role='.$trolecode;                          unless ($trustchecked{$tdom}) {
                               if ((&Apache::lonnet::will_trust('othcoau',$tdom,$env{'user.domain'})) &&
                                   (&Apache::lonnet::will_trust('coremau',$env{'user.domain'},$tdom))) {
                                   $willtrust{$tdom} = 1;
                                   $trustchecked{$tdom} = 1;
                               }
                           } 
                           if ($willtrust{$tdom}) {
                               $switchserver='otherserver='.$home.'&role='.$trolecode;
                           } else {
                               $prohibited = 1;
                               $tremark .= &mt('Session switch required but prohibited.');
                           }
                     }                      }
                     #next if ($home eq 'no_host');                      #next if ($home eq 'no_host');
                     $home = &Apache::lonnet::hostname($home);                      $home = &Apache::lonnet::hostname($home);
Line 1320  sub gather_roles { Line 1334  sub gather_roles {
                         ': '.$tdom.'<br />'.                          ': '.$tdom.'<br />'.
                         ' '.&mt('Server').':&nbsp;'.$home;                          ' '.&mt('Server').':&nbsp;'.$home;
                     $env{'course.'.$tdom.'_'.$trest.'.description'}='ca';                      $env{'course.'.$tdom.'_'.$trest.'.description'}='ca';
                     $tremark.=&Apache::lonhtmlcommon::authorbombs('/res/'.$tdom.'/'.$trest.'/');                      unless ($prohibited) {
                           $tremark.=&Apache::lonhtmlcommon::authorbombs('/res/'.$tdom.'/'.$trest.'/');
                       }
                     $sortkey=$role."$trest:$tdom";                      $sortkey=$role."$trest:$tdom";
                 } elsif ($role eq 'au') {                  } elsif ($role eq 'au') {
                     # Authors                      # Authors

Removed from v.1.332  
changed lines
  Added in v.1.333


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