'
+ .$dom.' '.$end_page
);
return OK;
}
@@ -107,7 +119,19 @@ sub handler {
my $iconpath=
&Apache::loncommon::lonhttpdurl($r->dir_config('lonIconsURL'));
+ my $lonhost = $r->dir_config('lonHostID');
my $domain = &Apache::lonnet::default_login_domain();
+ my %domconfhash = &Apache::loncommon::get_domainconf($domain);
+ if ($lonhost ne '') {
+ my $loginvia = $domconfhash{$domain.'.login.loginvia_'.$lonhost};
+ if (($loginvia ne '') && ($loginvia ne $lonhost)) {
+ if (&Apache::lonnet::hostname($loginvia) ne '') {
+ $r->print(&redirect_page($loginvia));
+ return OK;
+ }
+ }
+ }
+
if (($env{'form.domain'}) &&
(&Apache::lonnet::domain($env{'form.domain'},'description'))) {
$domain=$env{'form.domain'};
@@ -115,7 +139,6 @@ sub handler {
my $role = $r->dir_config('lonRole');
my $loadlim = $r->dir_config('lonLoadLim');
my $servadm = $r->dir_config('lonAdmEMail');
- my $lonhost = $r->dir_config('lonHostID');
my $tabdir = $r->dir_config('lonTabDir');
my $include = $r->dir_config('lonIncludes');
my $expire = $r->dir_config('lonExpire');
@@ -170,8 +193,18 @@ sub handler {
if ($uextkey>2147483647) { $uextkey-=4294967296; }
# -------------------------------------------------------- Store away log token
+ my $tokenextras;
+ if ($env{'form.role'}) {
+ $tokenextras = '&role='.&escape($env{'form.role'});
+ }
+ if ($env{'form.symb'}) {
+ if (!$tokenextras) {
+ $tokenextras = '&';
+ }
+ $tokenextras .= '&symb='.&escape($env{'form.symb'});
+ }
my $logtoken=Apache::lonnet::reply(
- 'tmpput:'.$ukey.$lkey.'&'.$firsturl,
+ 'tmpput:'.$ukey.$lkey.'&'.$firsturl.$tokenextras,
$lonhost);
# ------------------- If we cannot talk to ourselves, we are in serious trouble
@@ -241,7 +274,7 @@ my $alink=&Apache::loncommon::designparm
my $mainbg=&Apache::loncommon::designparm('login.mainbg',$domain);
my $logo=&Apache::loncommon::designparm('login.logo',$domain);
my $img=&Apache::loncommon::designparm('login.img',$domain);
-my $domainlogo=&Apache::loncommon::domainlogo($domain);
+my $domainlogo='
');
+#
+# If the loadbalancing yielded just http:// because perhaps there's no loadbalancing?
+# then just us a relative link to authenticate:
+#
+
$r->print(<
@@ -354,7 +397,7 @@ $r->print(<';
}
my $newuserlink;
if ($shownewuserlink) {
@@ -373,18 +416,18 @@ my $noscript_warning='';
my $helpdeskscript;
my $contactblock = &contactdisplay(\%lt,$servadm,$showadminmail,
- $version,$authdomain,\$helpdeskscript);
+ $authdomain,\$helpdeskscript);
my $loginform=(<
+
LFORM
@@ -392,13 +435,9 @@ LFORM
if ($showbanner) {
$r->print(<
-