--- loncom/auth/migrateuser.pm 2021/05/04 18:47:37 1.50 +++ loncom/auth/migrateuser.pm 2021/08/07 20:49:10 1.51 @@ -1,7 +1,7 @@ # The LearningOnline Network # Starts a user off based of an existing token. # -# $Id: migrateuser.pm,v 1.50 2021/05/04 18:47:37 raeburn Exp $ +# $Id: migrateuser.pm,v 1.51 2021/08/07 20:49:10 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -711,9 +711,6 @@ sub handler { $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)) { @@ -734,19 +731,19 @@ sub handler { } else { &Apache::lonnet::appenv({'user.linkproturi' => $deeplink}); } - } elsif ($data{'deeplink.login'}) { + } elsif ($data{'linkkey'}) { 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}); + 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 ($deeplink) { if ($env{'user.keyedlinkuri'}) { my @keyeduris = split(/,/,$env{'user.keyedlinkuri'}); unless (grep(/^\Q$deeplink\E$/,@keyeduris)) { @@ -757,6 +754,8 @@ sub handler { &Apache::lonnet::appenv({'user.keyedlinkuri' => $deeplink}); } } + } + if ($data{'deeplink.login'}) { &Apache::lonnet::appenv({'request.deeplink.login' => $data{'deeplink.login'}}); } if ($data{'lti.login'}) {