default to a session cookie instead of setting an explicit timeout, weird timezone...
[freeside.git] / httemplate / loginout / login.html
1 <& /elements/header-minimal.html, 'Login' &>
2 <link href="<%$url_string%>elements/freeside.css?v=<% $FS::VERSION %>" 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 %  my $uri = $r->prev->uri;
17 %  $uri .= '?'. $r->prev->args if length( $r->prev->args );
18   <FORM METHOD="POST" ACTION="/login">
19     <INPUT TYPE="hidden" NAME="destination" VALUE="<% $uri %>">
20
21     <TABLE CELLSPACING=0 CELLPADDING=4 CLASS="fsinnerbox">
22       <TR>
23         <TD ALIGN="right">Username: </TD>
24         <TD><INPUT TYPE="text" NAME="credential_0" SIZE="13"></TD>
25       </TR>
26       <TR>
27         <TD ALIGN="right">Password: </TD>
28         <TD><INPUT TYPE="password" NAME="credential_1" SIZE="13"></TD>
29       </TR>
30       <TR>
31         <TD ALIGN="right">One-time code: </TD>
32         <TD><INPUT TYPE="text" NAME="credential_2" SIZE="13"></TD>
33       </TR>
34     </TABLE>
35     <BR>
36  
37     <INPUT TYPE="submit" VALUE="Login">
38
39   </FORM>
40
41 </CENTER>
42
43 </BODY></HTML>
44 <%init>
45
46 my %error = (
47   'no_cookie'       => '', #First login, don't display an error
48   'bad_cookie'      => 'Bad Cookie', #timed out?
49   'bad_credentials' => 'Incorrect username / password / one-time code',
50   #'logout'          => 'You have been logged out.',
51 );
52
53 my $error = # $cgi->param('logout') ||
54             $r->prev->subprocess_env('AuthCookieReason');
55
56 $error = exists($error{$error}) ? $error{$error} : $error;
57
58
59 my $url_string = $r->uri;
60
61 #fake a freeside path for /login so we get our .css.  shrug
62 $url_string =~ s/login$/freeside\/login/ unless $url_string =~ /freeside\//;
63
64 #even though this is kludgy and false laziness w/CGI.pm
65 $url_string =~ s{ / index\.html /? $ }
66                 {/}x;
67 $url_string =~
68   s{
69      /(login|loginout)
70      ([\w\-\.\/]*)
71      $
72    }
73    {}ix;
74
75 $url_string .= '/' unless $url_string =~ /\/$/;
76
77 </%init>