--- loncom/auth/lonacc.pm 2022/08/24 20:58:50 1.206 +++ loncom/auth/lonacc.pm 2022/09/17 23:38:50 1.207 @@ -1,7 +1,7 @@ # The LearningOnline Network # Cookie Based Access Handler # -# $Id: lonacc.pm,v 1.206 2022/08/24 20:58:50 raeburn Exp $ +# $Id: lonacc.pm,v 1.207 2022/09/17 23:38:50 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -394,6 +394,8 @@ sub sso_login { if ($firsturl =~ m{^/tiny/$match_domain/\w+$}) { $form{'origurl'} = $firsturl; $deeplinkurl = $firsturl; + } elsif ($firsturl eq '/adm/email') { + $form{'origurl'} = $firsturl; } if ($form{'linkprot'}) { $linkprot = $form{'linkprot'}; @@ -540,6 +542,12 @@ sub sso_login { $env{'request.linkkey'} = $linkkey; } } + if (($r->uri eq '/adm/sso') && ($form{'origurl'} eq '/adm/email')) { + if ($form{'display'} && ($env{'form.mailrecip'} eq $user.':'.$domain)) { + $env{'request.display'} = $form{'display'}; + $env{'request.mailrecip'} = $env{'form.mailrecip'}; + } + } $env{'request.sso.login'} = 1; if (defined($r->dir_config("lonSSOReloginServer"))) { $env{'request.sso.reloginserver'} = @@ -594,6 +602,12 @@ sub sso_login { $info{'linkkey'} = $linkkey; } } + if (($r->uri eq '/adm/sso') && ($form{'origurl'} eq '/adm/email')) { + if ($form{'display'} && ($form{'mailrecip'} eq $user.':'.$domain)) { + $info{'display'} = &escape($form{'display'}); + $info{'mailrecip'} = &escape($form{'mailrecip'}); + } + } if ($r->dir_config("ssodirecturl") == 1) { $info{'origurl'} = $r->uri; }