% if ($message) {
% }
Login:
New user? Click here to create an account.
%#
%# ========================================================================
%#
<%args>
$action => ''
$name => ''
$password => ''
$login => 'Login'
%args>
%#
<%init>
require CGI::Cookie;
my $message = '';
my $logtime = '+5m';
my $cookie;
my $user_Name;
my %user_Cookie = fetch CGI::Cookie;
my $cookie_Name;
my $cookie_Valid;
if (%user_Cookie){
$cookie_Name = Person->retrieve(cookie => $user_Cookie{'ID'}->value)->name;
}
if ($cookie_Name){
$cookie = new CGI::Cookie (-name=>'ID', -value=>$user_Cookie{'ID'}->value, -expires=>$logtime);
$r->header_out('Set-cookie' => $cookie);
$message = "Welcome back, $user_Name";
$login = "Logout";
}
if ($action =~ /Login/){
if (Person->search(name => $name, password => $password)){
Person->retrieve(name => $name, password => $password)->set(cookie => $password);
$cookie = new CGI::Cookie (-name=>'ID', -value=>$password, -expires=>$logtime);
$r->header_out('Set-cookie' => $cookie);
$message = "Welcome back, $name";
$cookie_Name = 1;
$name = '';
$password = '';
$login = "Logout";
}
else {$message = "Bad Login.";}
}
elsif ($action =~ /Logout/) {
$cookie = new CGI::Cookie (-name=>'ID', -value=>$password, -expires => '+0m');
$r->header_out('Set-cookie' => $cookie);
Person->retrieve(cookie => $cookie_Name)->set(cookie => '');
$cookie_Name = 0;
$name = '';
$password = '';
$login = "Login";
}
%init>