sub new {
my ($package, $cgi) = @_;
my $state = new VShop::State($cgi);
my $self = {cgi => $cgi, state => $state};
my @params = $cgi->param;
my $sessions = TBI->open("Session");
if (@params > 0) {
foreach my $param (@params) {
$self->{params}->{$param} = $cgi->param($param);
}
my $session = $self->{params}->{session};
$self->{session} = $session
if defined $session && $sessions->exists($session);
}
$self->{session} = new_sessionid()
unless defined $self->{session};
$state->set("session", $self->{session});
$self->{login} = $sessions->getfield($self->{session},
"login");
$self->{login} = undef unless $self->{login};
$sessions->modify($self->{session},
lastuse => timestamp());
return bless $self, $package;
}
|