Diff for /loncom/auth/migrateuser.pm between versions 1.39 and 1.43

version 1.39, 2018/12/07 23:10:44 version 1.43, 2019/01/27 16:02:43
Line 127  sub canhost { Line 127  sub canhost {
         my %roleshash = &Apache::lonnet::get_my_roles($uname,$udom,'userroles','',['ca','aa'],\@possdoms);          my %roleshash = &Apache::lonnet::get_my_roles($uname,$udom,'userroles','',['ca','aa'],\@possdoms);
         if (keys(%roleshash)) {          if (keys(%roleshash)) {
             foreach my $key (keys(%roleshash)) {              foreach my $key (keys(%roleshash)) {
                 my $audom = (split(/:/,$key))[1];                      my $audom = (split(/:/,$key))[1];
                 if ((&Apache::lonnet::will_trust('othcoau',$udom,$audom)) &&                  if ((&Apache::lonnet::will_trust('othcoau',$udom,$audom)) &&
                     (&Apache::lonnet::will_trust('coaurem',$audom,$udom))) {                      (&Apache::lonnet::will_trust('coaurem',$audom,$udom))) {
                     $canhost = 1;                      $canhost = 1;
Line 626  sub handler { Line 626  sub handler {
             return &goto_login($r,$udom,\%data);              return &goto_login($r,$udom,\%data);
         }          }
     }      }
       
     my $rolemsg;      my $rolemsg;
     if ($data{'role'}) {      if ($data{'role'}) {
         $rolemsg = "role: $data{'role'}";          $rolemsg = "role: $data{'role'}";
Line 672  sub handler { Line 672  sub handler {
  if ($handle) {   if ($handle) {
     &Apache::lonnet::transfer_profile_to_env($r->dir_config('lonIDsDir'),      &Apache::lonnet::transfer_profile_to_env($r->dir_config('lonIDsDir'),
      $handle);       $handle);
               if ($data{'linkprot'} ne '') {
                   my ($linkprotector,$deeplink) = split(/:/,$data{'linkprot'},2);
                   if ($deeplink ne '') {
                       &Apache::lonnet::appenv({'request.deeplink.login' => $deeplink});
                   }
                   if ($env{'user.linkprotector'}) {
                       my @protectors = split(/,/,$env{'user.linkprotector'});
                       unless (grep(/^\Q$linkprotector\E$/,@protectors)) {
                           push(@protectors,$linkprotector);
                           @protectors = sort { $a <=> $b } @protectors;
                           &Apache::lonnet::appenv({'user.linkprotector' => join(',',@protectors)});
                       }
                   } else {
                       &Apache::lonnet::appenv({'user.linkprotector' => $linkprotector });
                   }
                   if ($env{'user.linkproturi'}) {
                       my @proturis = split(/,/,$env{'user.linkproturi'});
                       unless(grep(/^\Q$deeplink\E$/,@proturis)) {
                           push(@proturis,$deeplink);
                           @proturis = sort @proturis;
                           &Apache::lonnet::appenv({'user.linkproturi' => join(',',@proturis)});
                       }
                   } else {
                       &Apache::lonnet::appenv({'user.linkproturi' => $deeplink});
                   }
               } elsif ($data{'deeplink.login'}) {
                   my $deeplink = $data{'deeplink.login'};
                   if ($data{'linkkey'}) {
                       my $linkkey = $data{'linkkey'};
                       if ($env{'user.deeplinkkey'}) {
                           my @linkkeys = split(/,/,$env{'user.deeplinkkey'});
                           unless (grep(/^\Q$linkkey\E$/,@linkkeys)) {
                               push(@linkkeys,$linkkey);
                               &Apache::lonnet::appenv({'user.deeplinkkey' => join(',',sort(@linkkeys))});
                           }
                       } else {
                           &Apache::lonnet::appenv({'user.deeplinkkey' => $linkkey});
                       }
                       if ($env{'user.keyedlinkuri'}) {
                           my @keyeduris = split(/,/,$env{'user.keyedlinkuri'});
                           unless (grep(/^\Q$deeplink\E$/,@keyeduris)) {
                               push(@keyeduris,$deeplink);
                               &Apache::lonnet::appenv({'user.keyedlinkuri' => join(',',sort(@keyeduris))});
                           }
                       } else {
                           &Apache::lonnet::appenv({'user.keyedlinkuri' => $deeplink});
                       }
                   }
                   &Apache::lonnet::appenv({'request.deeplink.login' => $data{'deeplink.login'}});
               }
             if ($data{'lti.login'}) {              if ($data{'lti.login'}) {
                 my $needslogout;                  my $needslogout;
                 if ($env{'request.lti.login'}) {                  if ($env{'request.lti.login'}) {
Line 765  sub handler { Line 815  sub handler {
                         $desturl .= (($desturl =~/\?/)?'&':'?').'navmap=1';                          $desturl .= (($desturl =~/\?/)?'&':'?').'navmap=1';
                     }                      }
                 }                  }
                   if ($data{'linkprot'}) {
                       my ($linkprotector,$linkuri) = split(/:/,$data{'linkprot'},2);
                       if ($linkprotector) {
                           if (ref($extra_env) eq 'HASH') {
                               $extra_env->{'user.linkprotector'} = $linkprotector;
                               $extra_env->{'user.linkproturi'} = $linkuri;
                           } else {
                               $extra_env = {'user.linkprotector' => $linkprotector,
                                             'user.linkproturi' => $linkuri,};
                           }
                       }
                   } elsif ($data{'deeplink.login'}) {
                       if ($data{'linkkey'}) {
                           if (ref($extra_env) eq 'HASH') {
                               $extra_env->{'user.deeplinkkey'} = $data{'linkkey'};
                               $extra_env->{'user.keyedlinkuri'} = $data{'deeplink.login'},
                           } else {
                               $extra_env = {'user.deeplinkkey' => $data{'linkkey'},
                                             'user.keyedlinkuri' => $data{'deeplink.login'}};
                           }
                       }
                       if (ref($extra_env) eq 'HASH') {
                           $extra_env->{'request.deeplink.login' => $data{'deeplink.login'}};
                       } else {
                           $extra_env = {'request.deeplink.login' => $data{'deeplink.login'}};
                       }
                   }
             }              }
             my $skipcritical;              my $skipcritical;
             if (($data{'lti.login'}) && ($data{'lti.reqcrs'}) &&              if (($data{'lti.login'}) && ($data{'lti.reqcrs'}) &&

Removed from v.1.39  
changed lines
  Added in v.1.43


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