Diff for /loncom/auth/lonlogin.pm between versions 1.79 and 1.84

version 1.79, 2006/08/29 20:12:43 version 1.84, 2006/11/15 00:53:48
Line 41  use lib '/home/httpd/lib/perl/'; Line 41  use lib '/home/httpd/lib/perl/';
 use LONCAPA;  use LONCAPA;
     
   
   sub additional_machine_domains {
       my @domains;
       open(my $fh,"<".$Apache::lonnet::perlvar{'lonTabDir'}.'/expected_domains.tab');
       while( my $line = <$fh>) {
    $line =~ s/\s//g;
    push(@domains,$line);
       }
       return @domains;
   }
   
 sub handler {  sub handler {
     my $r = shift;      my $r = shift;
   
Line 130  ENDFAILED Line 140  ENDFAILED
                   $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];      my $testdomain=(split(/\./,$ENV{'HTTP_HOST'}))[0];
     foreach my $posdom (&Apache::lonnet::current_machine_domains()) {      foreach my $posdom (&Apache::lonnet::current_machine_domains(),
    &additional_machine_domains()) {
  if (lc($posdom) eq lc($testdomain)) { $domain=$posdom; }   if (lc($posdom) eq lc($testdomain)) { $domain=$posdom; }
     }      }
     if (($env{'form.domain'}) &&       if (($env{'form.domain'}) && 
Line 139  ENDFAILED Line 150  ENDFAILED
     }      }
     my $role    = $r->dir_config('lonRole');      my $role    = $r->dir_config('lonRole');
     my $loadlim = $r->dir_config('lonLoadLim');      my $loadlim = $r->dir_config('lonLoadLim');
     my $servadm = $r->dir_config('lonAdmEMail');  
     my $sysadm  = $r->dir_config('lonSysEMail');  
     my $lonhost = $r->dir_config('lonHostID');      my $lonhost = $r->dir_config('lonHostID');
     my $tabdir  = $r->dir_config('lonTabDir');      my $tabdir  = $r->dir_config('lonTabDir');
     my $include = $r->dir_config('lonIncludes');      my $include = $r->dir_config('lonIncludes');
Line 164  ENDFAILED Line 173  ENDFAILED
     my $userloadpercent=&Apache::lonnet::userload();      my $userloadpercent=&Apache::lonnet::userload();
   
 # ------------------------------------------------------- Do the load balancing  # ------------------------------------------------------- Do the load balancing
     my $otherserver= &Apache::loncommon::absolute_url($host_name);      my $otherserver= &Apache::lonnet::absolute_url($host_name);
     my $firsturl=      my $firsturl=
     ($env{'request.firsturl'}?$env{'request.firsturl'}:$env{'form.firsturl'});      ($env{'request.firsturl'}?$env{'request.firsturl'}:$env{'form.firsturl'});
 # ---------------------------------------- Are we access server and overloaded?  # ---------------------------------------- Are we access server and overloaded?
Line 243  ENDFAILED Line 252  ENDFAILED
 <img src="/adm/lonKaputt/lonlogo_broken.gif" align="right" />  <img src="/adm/lonKaputt/lonlogo_broken.gif" align="right" />
 <h3>This LON-CAPA server is temporarily not available for login</h3>  <h3>This LON-CAPA server is temporarily not available for login</h3>
 <p>Please attempt to login to one of the following servers:</p>$spares  <p>Please attempt to login to one of the following servers:</p>$spares
 <p>If the problem persists, please contact <tt>$servadm</tt>.</p>  
 </body>  </body>
 </html>  </html>
 ENDTROUBLE  ENDTROUBLE
Line 253  ENDTROUBLE Line 261  ENDTROUBLE
 # ----------------------------------------------- Apparently we are in business  # ----------------------------------------------- Apparently we are in business
   
     my $domainlogo=&Apache::loncommon::domainlogo($domain);      my $domainlogo=&Apache::loncommon::domainlogo($domain);
     $servadm=~s/\,/\<br \/\>/g;  
     $sysadm=~s/\,/\<br \/\>/g;  
   
 # --------------------------------------------------- Print login screen header  # --------------------------------------------------- Print login screen header
     $r->print(<<ENDHEADER);      $r->print(<<ENDHEADER);
Line 296  my %lt=&Apache::lonlocal::texthash( Line 302  my %lt=&Apache::lonlocal::texthash(
   'perc' => 'percent',    'perc' => 'percent',
   'load' => 'Load',    'load' => 'Load',
                   'userload' => 'User Load',                    'userload' => 'User Load',
                   'about'  => 'aboutlon.gif',                    'about'  => 'About LON-CAPA',
                   'access' => 'accessbutton.gif',                    'access' => 'Accessibility Options',
                     'catalog' => 'Course Catalog',
   'auth' => 'userauthentication.gif',    'auth' => 'userauthentication.gif',
   'log' => 'Log in',    'log' => 'Log in',
   'help' => 'Help',    'help' => 'Log-in Help',
   'serv' => 'Server',    'serv' => 'Server',
                   'servadm' => 'Server Administration',                    'helpdesk' => 'Contact Helpdesk',
                   'sysadm' => 'System Administration',                    'forgotpw' => 'Forgot password?');
                   'helpdesk' => 'Contact Helpdesk');  
 # -------------------------------------------------- Change password field name  # -------------------------------------------------- Change password field name
     my $now=time;      my $now=time;
       my $forgotpw = &forgotpwdisplay(%lt);
       my $loginhelp = &loginhelpdisplay(%lt);
 # ---------------------------------------------------------- Serve rest of page  # ---------------------------------------------------------- Serve rest of page
     $r->print(<<ENDSCRIPT);      $r->print(<<ENDSCRIPT);
   
Line 410  ENDSERVERFORM Line 418  ENDSERVERFORM
   </tr>    </tr>
   <tr>    <tr>
         
    <!-- A cell that will hold the 'access' and 'about' buttons -->     <!-- A cell that will hold the 'access', 'about', and 'catalog' links -->
    <!-- Row 3 Column 1 -->     <!-- Row 3 Column 1 -->
    <td valign="top" height=60 align="center" bgcolor="$sidebg">     <td valign="top" height=60 align="left" bgcolor="$sidebg">
     <a href="/adm/login?interface=textual"><img src="$iconpath/$lt{'access'}" border=0 alt="Accessibility Options" /></a>      <table cellpadding="0" cellspacing="2" border="0">
     <br />       <tr>
     <a href="/adm/about.html"><img src="$iconpath/$lt{'about'}" border=0 alt="About LON-CAPA" /></a>        <td>&nbsp;</td>
    </td>        <td><a href="/adm/login?interface=textual"><b>$lt{'access'}</b></a></td>
       </tr>
       <tr>
        <td>&nbsp;</td>
        <td><a href="/adm/about.html"><b>$lt{'about'}</b></a></td>
       </tr>
       <tr>
        <td>&nbsp;</td>
        <td><a href="/adm/coursecatalog"><b>$lt{'catalog'}</b></a></td>
       </tr>
       <tr>
         <td colspan="2">&nbsp;</td>
       </tr>
      </table>
    <!-- The shaded space between the two main columns -->     <!-- The shaded space between the two main columns -->
    <!-- Row 3 Column 2 -->     <!-- Row 3 Column 2 -->
    <td width=27 height=60 background="$iconpath/fillleft.gif"><img src="$iconpath/fillleft.gif" alt="" /></td>     <td width=27 height=60 background="$iconpath/fillleft.gif"><img src="$iconpath/fillleft.gif" alt="" /></td>
Line 451  ENDTOP Line 471  ENDTOP
 <label><input type="checkbox" name="embedsuppress" /> Suppress rendering of embedded multimedia</label><br />  <label><input type="checkbox" name="embedsuppress" /> Suppress rendering of embedded multimedia</label><br />
 <label><input type="checkbox" name="fontenhance" /> Increase font size</label><br />  <label><input type="checkbox" name="fontenhance" /> Increase font size</label><br />
 <label><input type="checkbox" name="blackwhite" /> Switch to black and white mode</label><br />  <label><input type="checkbox" name="blackwhite" /> Switch to black and white mode</label><br />
 <p>If you have accessibility needs that are not addressed by this interface,   
 please  
 contact the system administrator at <tt>$sysadm</tt>.</p><br />  
 <input type="checkbox" name="remember" /> Remember these settings for next login<hr />  <input type="checkbox" name="remember" /> Remember these settings for next login<hr />
 ENDACCESSOPTIONS  ENDACCESSOPTIONS
 } else {  } else {
Line 486  ENDNOOPT Line 503  ENDNOOPT
        <td bgcolor="$mainbg"><input type="text" name="udom" size="10" value="$authdomain" /></td>         <td bgcolor="$mainbg"><input type="text" name="udom" size="10" value="$authdomain" /></td>
       </tr>        </tr>
       <tr>        <tr>
        <td bgcolor="$mainbg">&nbsp;&nbsp;&nbsp;<a href="/adm/loginproblems.html">$lt{'help'}</a></td>         <td bgcolor="$mainbg">&nbsp;</td>
        <td bgcolor="$mainbg" valign="bottom" align="center">         <td bgcolor="$mainbg" valign="bottom" align="center">
         <br />          <br />
         <input type="submit" value="$lt{'log'}" />          <input type="submit" value="$lt{'log'}" />
        </td>         </td>
       </tr>        </tr>
         <tr>
          <td bgcolor="$mainbg" valign="bottom" align="left" colspan="2">
           $loginhelp
           $forgotpw
          </td>
         </tr>
      </table>       </table>
      <!-- End sub-table -->       <!-- End sub-table -->
     </form>      </form>
 ENDLOGIN  ENDLOGIN
     if ($fullgraph) {      if ($fullgraph) {
         my $helpdeskscript;          my $helpdeskscript;
         my $contactblock = &contactdisplay(\%lt,$sysadm,$servadm,$version,$authdomain,\$helpdeskscript);          my $contactblock = &contactdisplay(\%lt,$version,$authdomain,\$helpdeskscript);
  $r->print(<<ENDDOCUMENT);   $r->print(<<ENDDOCUMENT);
    </td>     </td>
   
Line 594  ENDDOCUMENT Line 617  ENDDOCUMENT
 }  }
   
 sub contactdisplay {  sub contactdisplay {
     my ($lt,$sysadm,$servadm,$version,$authdomain,$helpdeskscript) = @_;      my ($lt,$version,$authdomain,$helpdeskscript) = @_;
     my $contactblock;      my $contactblock;
     my $showsysadm = 1;  
     my $showservadm = 1;  
     my $showhelpdesk = 0;      my $showhelpdesk = 0;
     my $requestmail = $Apache::lonnet::perlvar{'lonSupportEMail'};      my $requestmail = $Apache::lonnet::perlvar{'lonSupportEMail'};
     if ($requestmail =~ m/^[^\@]+\@[^\@]+$/) {      if ($requestmail =~ m/^[^\@]+\@[^\@]+$/) {
         $showhelpdesk = 1;          $showhelpdesk = 1;
     }      }
     if ($showsysadm) {  
         $contactblock .= '<b>&nbsp;&nbsp;&nbsp;'.$$lt{'sysadm'}.':</b><br />'.  
                          '<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.$sysadm.'</tt><br />';  
     }  
     if ($showservadm) {  
         $contactblock .= '<b>&nbsp;&nbsp;&nbsp;'.$$lt{'servadm'}.':</b><br />'.  
                          '<tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'.$servadm.'</tt><br />&nbsp;<br />';  
     }  
     if ($showhelpdesk) {      if ($showhelpdesk) {
         $contactblock .= '<b>&nbsp;&nbsp;&nbsp;<a href="javascript:helpdesk()">'.$$lt{'helpdesk'}.'</a></b><br />';          $contactblock .= '<b>&nbsp;&nbsp;&nbsp;<a href="javascript:helpdesk()"><font size="+1">'.$lt->{'helpdesk'}.'</font></a></b><br />';
         my $thisurl = &escape('/adm/login');          my $thisurl = &escape('/adm/login');
         $$helpdeskscript = <<"ENDSCRIPT";          $$helpdeskscript = <<"ENDSCRIPT";
 <script type="text/javascript">  <script type="text/javascript">
Line 633  ENDSCRIPT Line 646  ENDSCRIPT
 ENDBLOCK  ENDBLOCK
     return $contactblock;      return $contactblock;
 }  }
    
   sub forgotpwdisplay {
       my (%lt) = @_;
       my $prompt_for_resetpw = 1; 
       if ($prompt_for_resetpw) {
           return '<br />&nbsp;&nbsp;&nbsp;<a href="/adm/resetpw">'.$lt{'forgotpw'}.'</a></b><br /><br />';
       }
       return;
   }
   
   sub loginhelpdisplay {
       my (%lt) = @_;
       my $login_help = 1;
       if ($login_help) {
           return '&nbsp;&nbsp;&nbsp;<a href="/adm/loginproblems.html">'.$lt{'help'}.'</a></b>';
       }
       return;
   }
   
 1;  1;
 __END__  __END__

Removed from v.1.79  
changed lines
  Added in v.1.84


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>
500 Internal Server Error

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator at root@localhost to inform them of the time this error occurred, and the actions you performed just before this error.

More information about this error may be available in the server error log.