login/login pages and cookie/session-based auth
[freeside.git] / httemplate / loginout / login.html
1 <& /elements/header-minimal.html, 'Login' &>
2 <link href="<%$url_string%>elements/freeside.css" type="text/css" rel="stylesheet">
3
4 <CENTER>
5
6   <BR>
7   <FONT SIZE=5>Login</FONT>
8   <BR><BR>
9
10 % if ( $error ) { 
11   <FONT SIZE="+1" COLOR="#ff0000"><% $error |h %></FONT>
12   <BR><BR>
13 % } 
14              
15 %#  <FORM METHOD="POST" ACTION="<%$url_string%>loginout/login">
16   <FORM METHOD="POST" ACTION="/login">
17     <INPUT TYPE="hidden" NAME="destination" VALUE="<% $r->prev->uri %>">
18
19     <TABLE CELLSPACING=0 CELLPADDING=4 BGCOLOR="#cccccc">
20       <TR>
21         <TD ALIGN="right">Username: </TD>
22         <TD><INPUT TYPE="text" NAME="credential_0" SIZE="13"></TD>
23       </TR>
24       <TR>
25         <TD ALIGN="right">Password: </TD>
26         <TD><INPUT TYPE="password" NAME="credential_1" SIZE="13"></TD>
27       </TR>
28     </TABLE>
29     <BR>
30  
31     <INPUT TYPE="submit" VALUE="Login">
32
33   </FORM>
34
35 </CENTER>
36
37 </BODY></HTML>
38 <%init>
39
40 my %error = (
41   'no_cookie'       => '', #First login, don't display an error
42   'bad_cookie'      => 'Bad Cookie', #timed out?  server reboot?
43   'bad_credentials' => 'Incorrect username / password',
44   'logout'          => 'You have been logged out.',
45 );
46
47 my $url_string = CGI->new->url;
48
49 my $error = $cgi->param('logout') || $r->prev->subprocess_env("AuthCookieReason");
50 $error = exists($error{$error}) ? $error{$error} : $error;
51
52 #fake a freeside path for /login so we get our .css.  shrug
53 $url_string =~ s/login$/freeside\/login/ unless $url_string =~ /freeside\//;
54
55 #even though this is kludgy and false laziness w/CGI.pm
56   $url_string =~ s{ / index\.html /? $ }
57                   {/}x;
58   $url_string =~
59     s{
60        /(login|loginout)
61        ([\w\-\.\/]*)
62        $
63      }
64      {}ix;
65
66   $url_string .= '/' unless $url_string =~ /\/$/;
67
68 </%init>