--- loncom/auth/migrateuser.pm 2023/06/02 01:20:26 1.67 +++ loncom/auth/migrateuser.pm 2024/02/09 20:08:17 1.68 @@ -1,7 +1,7 @@ # The LearningOnline Network # Starts a user off based of an existing token. # -# $Id: migrateuser.pm,v 1.67 2023/06/02 01:20:26 raeburn Exp $ +# $Id: migrateuser.pm,v 1.68 2024/02/09 20:08:17 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -752,7 +752,7 @@ sub handler { if ($handle) { &Apache::lonnet::transfer_profile_to_env($r->dir_config('lonIDsDir'), $handle); - my $checklaunch; + my ($checklaunch,$prevlaunch); if ($data{'origurl'} =~ m{^/tiny/$match_domain/\w+$}) { unless ($env{'request.linkprot'} eq $data{'linkprot'}) { $checklaunch = 1; @@ -842,6 +842,9 @@ sub handler { } } if ($data{'deeplink.login'}) { + if (($env{'request.deeplink.login'}) && ($env{'request.deeplink.login'} ne $data{'deeplink.login'})) { + $prevlaunch = $env{'request.deeplink.login'}; + } &Apache::lonnet::appenv({'request.deeplink.login' => $data{'deeplink.login'}}); } if ($data{'lti.login'}) { @@ -938,6 +941,7 @@ sub handler { $info{'origurl'} = $data{'origurl'}; if ($checklaunch) { $info{'checklaunch'} = 1; + $info{'prevlaunch'} = $prevlaunch; } my $token = &Apache::lonnet::tmpput(\%info,$r->dir_config('lonHostID'),'link'); unless (($token eq 'con_lost') || ($token eq 'refused') || ($token =~ /^error:/) ||