--- loncom/auth/lonauth.pm 2005/07/07 06:18:37 1.69 +++ loncom/auth/lonauth.pm 2006/05/31 15:33:39 1.77 @@ -1,7 +1,7 @@ # The LearningOnline Network # User Authentication Module # -# $Id: lonauth.pm,v 1.69 2005/07/07 06:18:37 albertel Exp $ +# $Id: lonauth.pm,v 1.77 2006/05/31 15:33:39 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -113,6 +113,8 @@ sub success { my %userenv=Apache::lonnet::dump('environment',$domain,$username); my ($tmp) = keys(%userenv); if ($tmp !~ /^(con_lost|error|no_such_host)/i) { + # default remote control to off + if ($userenv{'remote'} ne 'on') { $userenv{'remote'} = 'off'; } foreach my $key (keys(%userenv)) { $userenv.="environment.$key=$userenv{$key}\n"; } @@ -152,6 +154,7 @@ sub success { print $idf "browser.localpath=$FORM{'localpath'}\n"; print $idf "browser.localres=$FORM{'localres'}\n"; } + print $idf "server.domain=".$r->dir_config('lonDefDomain')."\n"; print $idf "request.course.fn=\n"; print $idf "request.course.uri=\n"; print $idf "request.course.sec=\n"; @@ -195,7 +198,8 @@ sub success { # ------------------------------------------------------------ Get cookie ready - if ($public) { return $cookie; } + if ($public or $lowerurl eq 'noredirect') { return $cookie; } + $cookie="lonID=$cookie; path=/"; # -------------------------------------------------------- Menu script and info my $windowinfo=&Apache::lonmenu::open($clientos); @@ -203,8 +207,11 @@ sub success { my $remoteinfo=&Apache::lonmenu::load_remote_msg($lowerurl); my $setflags=&Apache::lonmenu::setflags(); my $maincall=&Apache::lonmenu::maincall(); - my $bodytag=&Apache::loncommon::bodytag('Successful Login'); - my $add=&addcontent(); + my $start_page=&Apache::loncommon::start_page('Successful Login', + $startupremote, + {'no_inline_link' => 1,}); + my $end_page =&Apache::loncommon::end_page(); + my $continuelink; if (($env{'browser.interface'} eq 'textual') || ($env{'environment.remote'} eq 'off')) { @@ -212,11 +219,10 @@ sub success { } # ------------------------------------------------- Output for successful login - $r->send_cgi_header(<header_out('Set-cookie' => $cookie); + $r->send_http_header; -ENDHEADER my %lt=&Apache::lonlocal::texthash( 'wel' => 'Welcome', 'mes' => 'Welcome to the LearningOnline Network with CAPA. Please wait while your session is being set up', @@ -224,12 +230,7 @@ ENDHEADER 'log' => 'loginproblems.html', ); $r->print(< - -Successful Login to the LearningOnline Network with CAPA -$startupremote - -$bodytag +$start_page $setflags $windowinfo

$lt{'wel'}

@@ -238,8 +239,7 @@ $lt{'mes'}.

$remoteinfo $maincall $continuelink - - +$end_page ENDSUCCESS } @@ -247,59 +247,41 @@ ENDSUCCESS sub failed { my ($r,$message) = @_; - my $bodytag=&Apache::loncommon::bodytag('Unsuccessful Login'); - my $add=&addcontent(); - $r->send_cgi_header(< 1,}); + my $end_page = &Apache::loncommon::end_page(); + + my %lt=('sorry' => &mt('Sorry ...'), + 'please' => + &mt('Please [_1]log in again[_2].', + "", + ''), + 'problemspage' => &mt('loginproblems.html'), + 'problems' => 'Problems', + ); + &Apache::loncommon::content_type($r,'text/html'); + $r->send_http_header; -ENDFHEADER $r->print(< - -Unsuccessful Login to the LearningOnline Network with CAPA - -$bodytag -

Sorry ...

+$start_page +

$lt{'sorry'}

$message

-

Please log in again.

+

$lt{'please'}

-Problems?

- - +$lt{'problems'}

+$end_page ENDFAILED } -# --------------------------------------------------------------------- Charset - -sub addcontent { - my $encoding=&Apache::lonlocal::current_encoding; - if ($encoding) { - return '; charset='.$encoding; - } else { - return ''; - } -} - # ------------------------------------------------------------------ Rerouting! sub reroute { - my $r=shift; - my $bodytag=&Apache::loncommon::bodytag('Rerouting'); - $r->send_cgi_header(<print(< - -Rerouting Login to the LearningOnline Network with CAPA - -$bodytag -

Sorry ...

-Please log in again. - - -ENDRFAILED + my ($r) = @_; + &Apache::loncommon::content_type($r,'text/html'); + $r->send_http_header; + my $msg='

Sorry ...

+ Please log in again.'; + &Apache::loncommon::simple_error_page($r,'Rerouting',$msg); } # ---------------------------------------------------------------- Main handler @@ -325,24 +307,20 @@ sub handler { my $lonidsdir=$r->dir_config('lonIDsDir'); if ((-e "$lonidsdir/$handle.id") && ($handle ne '')) { # Indeed, a valid token is found - $r->send_cgi_header(<send_http_header; + my $start_page = + &Apache::loncommon::start_page('Already logged in'); + my $end_page = + &Apache::loncommon::end_page(); $r->print(< - -Already logged in - -$bodytag +$start_page

You are already logged in

Please either continue the current session or logout.

Problems?

- - +$end_page ENDFAILED return OK; } @@ -389,9 +367,12 @@ ENDFAILED failed($r,'Information needed to verify your login information is missing, inaccessible or expired.'); return OK; } else { - unless (&Apache::lonnet::reply('tmpdel:'.$FORM{'logtoken'}, - $FORM{'serverid'}) eq 'ok') { + my $reply = &Apache::lonnet::reply('tmpdel:'.$FORM{'logtoken'}, + $FORM{'serverid'}); + if ( $reply ne 'ok' ) { &failed($r,'Session could not be opened.'); + &Apache::lonnet::logthis("ERROR got a reply of $reply when trying to contact ". $FORM{'serverid'}." to get login token"); + return OK; } } my ($key,$firsturl)=split(/&/,$tmpinfo);