version 1.156, 2018/12/26 20:10:21
|
version 1.157, 2019/01/27 16:02:43
|
Line 302 sub failed {
|
Line 302 sub failed {
|
my $firsturl = &Apache::loncommon::cleanup_html($form->{firsturl});
|
my $firsturl = &Apache::loncommon::cleanup_html($form->{firsturl});
|
if ($firsturl ne '') {
|
if ($firsturl ne '') {
|
$retry .= (($retry=~/\?/)?'&':'?').'firsturl='.$firsturl;
|
$retry .= (($retry=~/\?/)?'&':'?').'firsturl='.$firsturl;
|
|
if ($firsturl =~ m{^/tiny/$match_domain/\w+$}) {
|
|
unless (exists($form->{linkprot})) {
|
|
if (exists($form->{linkkey})) {
|
|
$retry .= 'linkkey='.$form->{linkkey};
|
|
}
|
|
}
|
|
}
|
}
|
}
|
}
|
}
|
if (exists($form->{linkprot})) {
|
if (exists($form->{linkprot})) {
|
Line 374 sub handler {
|
Line 381 sub handler {
|
my $dest = '/adm/roles';
|
my $dest = '/adm/roles';
|
if ($env{'form.firsturl'} ne '') {
|
if ($env{'form.firsturl'} ne '') {
|
$dest = $env{'form.firsturl'};
|
$dest = $env{'form.firsturl'};
|
|
if ($env{'form.firsturl'} =~ m{^/tiny/$match_domain/\w+$}) {
|
|
&Apache::lonnet::appenv({'request.deeplink.login' => $env{'form.firsturl'}});
|
|
}
|
}
|
}
|
$r->print(
|
$r->print(
|
$start_page
|
$start_page
|
Line 445 sub handler {
|
Line 455 sub handler {
|
return OK;
|
return OK;
|
}
|
}
|
|
|
my ($key,$firsturl,$rolestr,$symbstr,$iptokenstr,$linkprotstr)=split(/&/,$tmpinfo);
|
my ($key,$firsturl,$rolestr,$symbstr,$iptokenstr,$linkstr)=split(/&/,$tmpinfo);
|
if ($rolestr) {
|
if ($rolestr) {
|
$rolestr = &unescape($rolestr);
|
$rolestr = &unescape($rolestr);
|
}
|
}
|
Line 455 sub handler {
|
Line 465 sub handler {
|
if ($iptokenstr) {
|
if ($iptokenstr) {
|
$iptokenstr = &unescape($iptokenstr);
|
$iptokenstr = &unescape($iptokenstr);
|
}
|
}
|
if ($linkprotstr) {
|
if ($linkstr) {
|
$linkprotstr = &unescape($linkprotstr);
|
$linkstr = &unescape($linkstr);
|
}
|
}
|
if ($firsturl =~ m{^/tiny/$match_domain/\w+$}) {
|
if ($firsturl =~ m{^/tiny/$match_domain/\w+$}) {
|
$form{'firsturl'} = $firsturl;
|
$form{'firsturl'} = $firsturl;
|
Line 470 sub handler {
|
Line 480 sub handler {
|
if ($iptokenstr =~ /^iptoken=/) {
|
if ($iptokenstr =~ /^iptoken=/) {
|
(undef,$form{'iptoken'}) = split('=',$iptokenstr);
|
(undef,$form{'iptoken'}) = split('=',$iptokenstr);
|
}
|
}
|
if ($linkprotstr =~ /^linkprot=/) {
|
if ($linkstr =~ /^linkprot=/) {
|
(undef,$form{'linkprot'}) = split('=',$linkprotstr);
|
(undef,$form{'linkprot'}) = split('=',$linkstr);
|
|
} elsif ($linkstr =~ /^linkkey=/) {
|
|
(undef,$form{'linkkey'}) = split('=',$linkstr);
|
}
|
}
|
|
|
my $upass = $ENV{HTTPS} ? $form{'upass0'}
|
my $upass = $ENV{HTTPS} ? $form{'upass0'}
|
Line 655 sub handler {
|
Line 667 sub handler {
|
}
|
}
|
if ($form{'linkprot'}) {
|
if ($form{'linkprot'}) {
|
$env{'request.linkprot'} = $form{'linkprot'};
|
$env{'request.linkprot'} = $form{'linkprot'};
|
|
} elsif ($form{'firsturl'} =~ m{^/tiny/$match_domain/\w+$}) {
|
|
if ($form{'linkkey'}) {
|
|
$env{'request.linkkey'} = $form{'linkkey'};
|
|
}
|
|
$env{'request.deeplink.login'} = $form{'firsturl'};
|
}
|
}
|
$r->internal_redirect($switchto);
|
$r->internal_redirect($switchto);
|
} else {
|
} else {
|
Line 679 sub handler {
|
Line 696 sub handler {
|
}
|
}
|
if ($form{'linkprot'}) {
|
if ($form{'linkprot'}) {
|
$env{'request.linkprot'} = $form{'linkprot'};
|
$env{'request.linkprot'} = $form{'linkprot'};
|
|
} elsif ($form{'firsturl'} =~ m{^/tiny/$match_domain/\w+$}) {
|
|
if ($form{'linkkey'}) {
|
|
$env{'request.linkkey'} = $form{'linkkey'};
|
|
}
|
|
$env{'request.deeplink.login'} = $form{'firsturl'};
|
|
|
}
|
}
|
$r->internal_redirect($switchto);
|
$r->internal_redirect($switchto);
|
} else {
|
} else {
|
Line 711 sub handler {
|
Line 734 sub handler {
|
undef,\%form);
|
undef,\%form);
|
if ($form{'linkprot'}) {
|
if ($form{'linkprot'}) {
|
$env{'request.linkprot'} = $form{'linkprot'};
|
$env{'request.linkprot'} = $form{'linkprot'};
|
|
} elsif ($form{'firsturl'} =~ m{^/tiny/$match_domain/\w+$}) {
|
|
if ($form{'linkkey'}) {
|
|
$env{'request.linkkey'} = $form{'linkkey'};
|
|
}
|
|
$env{'request.deeplink.login'} = $form{'firsturl'};
|
}
|
}
|
$r->internal_redirect('/adm/switchserver?otherserver='.$unloaded.'&origurl='.$firsturl);
|
$r->internal_redirect('/adm/switchserver?otherserver='.$unloaded.'&origurl='.$firsturl);
|
return OK;
|
return OK;
|
Line 726 sub handler {
|
Line 754 sub handler {
|
$extra_env = {'user.linkprotector' => $linkprotector,
|
$extra_env = {'user.linkprotector' => $linkprotector,
|
'user.linkproturi' => $uri,};
|
'user.linkproturi' => $uri,};
|
}
|
}
|
|
} elsif ($form{'firsturl'} =~ m{^/tiny/$match_domain/\w+$}) {
|
|
if ($form{'linkkey'}) {
|
|
$extra_env = {'user.deeplinkkey' => $form{'linkkey'},
|
|
'user.keyedlinkuri' => $form{'firsturl'},
|
|
'request.deeplink.login' => $form{'firsturl'}};
|
|
} else {
|
|
$extra_env = {'request.deeplink.login' => $form{'firsturl'}};
|
|
}
|
}
|
}
|
&success($r,$form{'uname'},$form{'udom'},$authhost,$firsturl,$extra_env,
|
&success($r,$form{'uname'},$form{'udom'},$authhost,$firsturl,$extra_env,
|
\%form);
|
\%form);
|
Line 793 sub check_can_host {
|
Line 829 sub check_can_host {
|
$form);
|
$form);
|
if ($form->{'linkprot'}) {
|
if ($form->{'linkprot'}) {
|
$env{'request.linkprot'} = $form->{'linkprot'};
|
$env{'request.linkprot'} = $form->{'linkprot'};
|
|
} elsif ($form->{'firsturl'} =~ m{^/tiny/$match_domain/\w+$}) {
|
|
if ($form->{'linkkey'}) {
|
|
$env{'request.linkkey'} = $form->{'linkkey'};
|
|
}
|
|
$env{'request.deeplink.login'} = $form->{'firsturl'};
|
}
|
}
|
my ($otherserver) = &Apache::lonnet::choose_server($udom);
|
my ($otherserver) = &Apache::lonnet::choose_server($udom);
|
$r->internal_redirect('/adm/switchserver?otherserver='.$otherserver);
|
$r->internal_redirect('/adm/switchserver?otherserver='.$otherserver);
|