version 1.161, 2015/01/23 15:44:20
|
version 1.167, 2017/05/08 22:47:01
|
Line 109 sub cleanup {
|
Line 109 sub cleanup {
|
my ($r)=@_; |
my ($r)=@_; |
if (! $r->is_initial_req()) { return DECLINED; } |
if (! $r->is_initial_req()) { return DECLINED; } |
&Apache::lonnet::save_cache(); |
&Apache::lonnet::save_cache(); |
&Apache::lontexconvert::jsMath_reset(); |
|
return OK; |
return OK; |
} |
} |
|
|
Line 203 sub get_posted_cgi {
|
Line 202 sub get_posted_cgi {
|
$fname=''; |
$fname=''; |
$fmime=''; |
$fmime=''; |
} |
} |
|
if ($i<$#lines && $lines[$i+1]=~/^Content\-Type\:\s*([\w\-\/]+)/i) { |
|
# TODO: something with $1 ! |
|
$i++; |
|
} |
|
if ($i<$#lines && $lines[$i+1]=~/^Content\-transfer\-encoding\:\s*([\w\-\/]+)/i) { |
|
# TODO: something with $1 ! |
|
$i++; |
|
} |
$i++; |
$i++; |
} |
} |
} else { |
} else { |
Line 332 sub sso_login {
|
Line 339 sub sso_login {
|
} |
} |
unless ($hosthere) { |
unless ($hosthere) { |
($is_balancer,$otherserver) = |
($is_balancer,$otherserver) = |
&Apache::lonnet::check_loadbalancing($user,$domain); |
&Apache::lonnet::check_loadbalancing($user,$domain,'login'); |
|
if ($is_balancer) { |
|
if ($otherserver eq '') { |
|
my $lowest_load; |
|
($otherserver,undef,undef,undef,$lowest_load) = &Apache::lonnet::choose_server($domain); |
|
if ($lowest_load > 100) { |
|
$otherserver = &Apache::lonnet::spareserver($lowest_load,$lowest_load,1,$domain); |
|
} |
|
} |
|
if ($otherserver ne '') { |
|
my @hosts = &Apache::lonnet::current_machine_ids(); |
|
if (grep(/^\Q$otherserver\E$/,@hosts)) { |
|
$hosthere = $otherserver; |
|
} |
|
} |
|
} |
} |
} |
|
if (($is_balancer) && (!$hosthere)) { |
if ($is_balancer) { |
|
# login but immediately go to switch server to find us a new |
# login but immediately go to switch server to find us a new |
# machine |
# machine |
&Apache::lonauth::success($r,$user,$domain,$home,'noredirect'); |
&Apache::lonauth::success($r,$user,$domain,$home,'noredirect'); |
Line 353 sub sso_login {
|
Line 374 sub sso_login {
|
} else { |
} else { |
# need to login them in, so generate the need data that |
# need to login them in, so generate the need data that |
# migrate expects to do login |
# migrate expects to do login |
my $ip; |
my $ip = $r->get_remote_host(); |
my $c = $r->connection; |
|
eval { |
|
$ip = $c->remote_ip(); |
|
}; |
|
if ($@) { |
|
$ip = $c->client_ip(); |
|
} |
|
my %info=('ip' => $ip, |
my %info=('ip' => $ip, |
'domain' => $domain, |
'domain' => $domain, |
'username' => $user, |
'username' => $user, |
Line 384 sub sso_login {
|
Line 398 sub sso_login {
|
$info{'sso.reloginserver'} = |
$info{'sso.reloginserver'} = |
$r->dir_config('lonSSOReloginServer'); |
$r->dir_config('lonSSOReloginServer'); |
} |
} |
|
if (($is_balancer) && ($hosthere)) { |
|
$info{'noloadbalance'} = $hosthere; |
|
} |
my $token = |
my $token = |
&Apache::lonnet::tmpput(\%info, |
&Apache::lonnet::tmpput(\%info, |
$r->dir_config('lonHostID')); |
$r->dir_config('lonHostID')); |
Line 508 sub handler {
|
Line 525 sub handler {
|
} |
} |
} elsif ($env{'request.course.id'} && |
} elsif ($env{'request.course.id'} && |
(($requrl =~ m{^/adm/$match_domain/$match_username/aboutme$}) || |
(($requrl =~ m{^/adm/$match_domain/$match_username/aboutme$}) || |
($requrl =~ m{^/public/$cdom/$cnum/syllabus$}))) { |
($requrl eq "/public/$cdom/$cnum/syllabus") || |
|
($requrl =~ m{^/adm/$cdom/$cnum/\d+/ext\.tool$}))) { |
my $query = $r->args; |
my $query = $r->args; |
if ($query) { |
if ($query) { |
foreach my $pair (split(/&/,$query)) { |
foreach my $pair (split(/&/,$query)) { |
Line 656 sub handler {
|
Line 674 sub handler {
|
($requrl=~m|\.problem/smpedit$|) || |
($requrl=~m|\.problem/smpedit$|) || |
($requrl=~/^\/public\/.*\/syllabus$/) || |
($requrl=~/^\/public\/.*\/syllabus$/) || |
($requrl=~/^\/adm\/(viewclasslist|navmaps)$/) || |
($requrl=~/^\/adm\/(viewclasslist|navmaps)$/) || |
($requrl=~/^\/adm\/.*\/aboutme\/portfolio(\?|$)/)) { |
($requrl=~/^\/adm\/.*\/aboutme\/portfolio(\?|$)/) || |
|
($requrl=~m{^/adm/$cdom/$cnum/\d+/ext\.tool$})) { |
# ------------------------------------- This is serious stuff, get symb and log |
# ------------------------------------- This is serious stuff, get symb and log |
my $symb; |
my $symb; |
if ($query) { |
if ($query) { |