Diff for /loncom/auth/lonlogin.pm between versions 1.53 and 1.55.2.1

version 1.53, 2003/09/20 17:44:22 version 1.55.2.1, 2004/01/27 23:40:31
Line 25 Line 25
 #  #
 # http://www.lon-capa.org/  # http://www.lon-capa.org/
 #  #
 # 5/21/99,5/22,5/25,5/26,5/31,6/2,6/10,7/12,7/14,  
 # 1/14/00,5/29,5/30,6/1,6/29,7/1,11/9,  
 # 1/17/01 Gerd Kortemeyer  
 #  
 # 2/7/02,2/8,2/12,2/14,2/15,2/19 Josh Brunskole  
 #   
 # 7/10/02 Jeremy Bowers  
   
 package Apache::lonlogin;  package Apache::lonlogin;
   
 use strict;  use strict;
 use Apache::Constants qw(:common);  use Apache::Constants qw(:common);
   use CGI::Cookie();
 use Apache::File ();  use Apache::File ();
 use Apache::lonnet();  use Apache::lonnet();
 use Apache::loncommon();  use Apache::loncommon();
Line 47  sub handler { Line 41  sub handler {
     my $r = shift;      my $r = shift;
     &Apache::loncommon::no_cache($r);      &Apache::loncommon::no_cache($r);
     &Apache::lonlocal::get_language_handle($r);      &Apache::lonlocal::get_language_handle($r);
     $r->content_type('text/html');      &Apache::loncommon::content_type($r,'text/html');
     $r->send_http_header;      $r->send_http_header;
     return OK if $r->header_only;      return OK if $r->header_only;
   
Line 58  sub handler { Line 52  sub handler {
  return OK;   return OK;
     }      }
   
   # -------------------------------- Prevent users from attempting to login twice
       my %cookies=CGI::Cookie->parse($r->header_in('Cookie'));
       my $lonid=$cookies{'lonID'};
       my $cookie;
       if ($lonid) {
    my $handle=$lonid->value;
           $handle=~s/\W//g;
           my $lonidsdir=$r->dir_config('lonIDsDir');
           if ((-e "$lonidsdir/$handle.id") && ($handle ne '')) {
   # Indeed, a valid token is found
       my $bodytag=&Apache::loncommon::bodytag('Already logged in');
       $r->print(<<ENDFAILED);
   <html>
   <head>
   <title>Already logged in</title>
   </head>
   <html>
   $bodytag
   <h1>You are already logged in</h1>
   <p>Please either <a href="/adm/roles">continue the current session</a> or
   <a href="/adm/logout">logout</a>.</p>
   <p>
   <a href="/adm/loginproblems.html">Problems?</a></p>
   </body>
   </html>
   ENDFAILED
              return OK;
    }
       }
   
   # ---------------------------------------------------- No valid token, continue
   
     &Apache::loncommon::get_unprocessed_cgi      &Apache::loncommon::get_unprocessed_cgi
      ($ENV{'QUERY_STRING'}.'&'.$ENV{'request.querystring'},       ($ENV{'QUERY_STRING'}.'&'.$ENV{'request.querystring'},
       ['interface','username','domain','firsturl','localpath','localres']);        ['interface','username','domain','firsturl','localpath','localres']);
Line 83  sub handler { Line 109  sub handler {
     my $iconpath= 'http://'.$ENV{'HTTP_HOST'}.':'.$port_to_use.      my $iconpath= 'http://'.$ENV{'HTTP_HOST'}.':'.$port_to_use.
                   $r->dir_config('lonIconsURL');                    $r->dir_config('lonIconsURL');
     my $domain  = $r->dir_config('lonDefDomain');      my $domain  = $r->dir_config('lonDefDomain');
       my $testdomain=(split(/\./,$ENV{'HTTP_HOST'}))[0];
       foreach my $posdom (values(%Apache::lonnet::hostdom)) {
    if ($posdom eq $testdomain) { $domain=$testdomain; }
       }
     if (($ENV{'form.domain'}) &&       if (($ENV{'form.domain'}) && 
  ($Apache::lonnet::domaindescription{$ENV{'form.domain'}})) {   ($Apache::lonnet::domaindescription{$ENV{'form.domain'}})) {
  $domain=$ENV{'form.domain'};   $domain=$ENV{'form.domain'};

Removed from v.1.53  
changed lines
  Added in v.1.55.2.1


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>