--- loncom/auth/lonauth.pm 2012/04/11 11:40:07 1.121 +++ loncom/auth/lonauth.pm 2012/12/18 20:52:18 1.124 @@ -1,7 +1,7 @@ # The LearningOnline Network # User Authentication Module # -# $Id: lonauth.pm,v 1.121 2012/04/11 11:40:07 goltermann Exp $ +# $Id: lonauth.pm,v 1.124 2012/12/18 20:52:18 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -103,7 +103,7 @@ sub success { if ($destsymb =~ /___/) { # FIXME Need to deal with encrypted symbs and urls as needed. my ($map,$resid,$desturl)=split(/___/,$destsymb); - unless ($desturl=~/^(adm|uploaded|editupload|public)/) { + unless ($desturl=~/^(adm|editupload|public)/) { $desturl = &Apache::lonnet::clutter($desturl); } $desturl = &HTML::Entities::encode($desturl,'"<>&'); @@ -139,15 +139,19 @@ sub success { my %lt=&Apache::lonlocal::texthash( 'wel' => 'Welcome', 'pro' => 'Login problems?', - 'log' => 'loginproblems.html', ); + my $loginhelp = &loginhelpdisplay($domain); + if ($loginhelp) { + $loginhelp = '

'.$lt{'pro'}.'

'; + } + my $welcome = &mt('Welcome to the Learning[_1]Online[_2] Network with CAPA. Please wait while your session is being set up.','',''); $r->print(<$lt{'wel'} -$welcome

-$lt{'pro'}

+$welcome +$loginhelp $continuelink $end_page ENDSUCCESS @@ -169,13 +173,18 @@ sub failed { my $end_page = &Apache::loncommon::end_page(); &Apache::loncommon::content_type($r,'text/html'); $r->send_http_header; + my $loginhelp = &loginhelpdisplay($form->{'udom'}); + if ($loginhelp) { + $loginhelp = '

'.&mt('Login problems?').'

'; + } + $r->print( $start_page .'

'.&mt('Sorry ...').'

' .'

'.&mt($message).'

' .'

'.&mt('Please [_1]log in again[_2].','','') .'

' - .'

'.&mt('Login problems?').'

' + .$loginhelp .$end_page ); } @@ -543,6 +552,33 @@ sub noswitch { return $result; } +sub loginhelpdisplay { + my ($authdomain) = @_; + my $login_help = 1; + my $lang = &Apache::lonlocal::current_language(); + if ($login_help) { + my $dom = $authdomain; + if ($dom eq '') { + $dom = &Apache::lonnet::default_login_domain(); + } + my %domconfhash = &Apache::loncommon::get_domainconf($dom); + my $loginhelp_url; + if ($lang) { + $loginhelp_url = $domconfhash{$dom.'.login.helpurl_'.$lang}; + if ($loginhelp_url ne '') { + return $loginhelp_url; + } + } + $loginhelp_url = $domconfhash{$dom.'.login.helpurl_nolang'}; + if ($loginhelp_url ne '') { + return $loginhelp_url; + } else { + return '/adm/loginproblems.html'; + } + } + return; +} + 1; __END__