more session fixes.

This commit is contained in:
Matthew Wilson 2006-01-18 06:26:40 +00:00
parent 8839c094c5
commit 8f12dae29c
4 changed files with 11 additions and 11 deletions

View file

@ -40,10 +40,10 @@ sub handler {
}
my $uploads = $config->get("uploadsURL");
if ($r->uri =~ m/^$uploads/) {
$r->set_handlers(PerlAccessHandler => \&uploadsHandler);
$r->push_handlers(PerlAccessHandler => \&uploadsHandler);
} else {
$r->set_handlers(PerlResponseHandler => \&contentHandler);
$r->set_handlers(PerlTransHandler => sub { return Apache2::Const::OK });
$r->push_handlers(PerlResponseHandler => \&contentHandler);
$r->push_handlers(PerlTransHandler => sub { return Apache2::Const::OK });
}
return Apache2::Const::DECLINED;
}
@ -59,7 +59,7 @@ sub contentHandler {
my $session = WebGUI::Session->open($s->dir_config('WebguiRoot'),$r->dir_config('WebguiConfig'),$r, $s);
if ($session->env->get("HTTP_X_MOZ") eq "prefetch") { # browser prefetch is a bad thing
$session->http->setStatus("403","We don't allow prefetch, because it increases bandwidth, hurts stats, and can break web sites.");
$r->print($session->http->getHeader);
$session->http->getHeader;
} elsif ($session->setting->get("specialState") eq "upgrading") {
upgrading($session);
} elsif ($session->setting->get("specialState") eq "init") {

View file

@ -359,7 +359,7 @@ sub open {
my $self = {_config=>$config, _server=>$server};
bless $self , $class;
$self->{_request} = Apache2::Request->new($request, POST_MAX => 1024 * $self->setting->get("maxAttachmentSize")) if (defined $request);
my $sessionId = shift || $self->http->getCookies->{"wgSession"};
my $sessionId = shift || $self->http->getCookies->{"wgSession"} || $self->id->generate;
$self->{_var} = WebGUI::Session::Var->new($self,$sessionId);
return $self;
}
@ -375,7 +375,7 @@ Returns a WebGUI::Session::Os object.
sub os {
my $self = shift;
unless (exists $self->{_os}) {
$self->{_os} = WebGUI::Session::Os->new;
$self->{_os} = WebGUI::Session::Os->new();
}
return $self->{_os};
}

View file

@ -168,11 +168,11 @@ sub new {
$self->{_var} = $session->db->quickHashRef("select * from userSession where sessionId=".$session->db->quote($sessionId));
if ($self->{_var}{expires} && $self->{_var}{expires} < $session->datetime->time()) {
$self->end;
}
if ($self->{_var}{sessionId} ne "") {
} elsif ($self->{_var}{sessionId} ne "") {
$self->{_var}{lastPageView} = $session->datetime->time();
$self->{_var}{lastIP} = $session->env("REMOTE_ADDR");
$self->{_var}{expires} = $session->datetime->time() + $session->setting->get("sessionTimeout");
$self->session->{_sessionId} = $self->{_var}{sessionId};
$session->db->setRow("userSession","sessionId",$self->{_var});
} else {
$self->start(1,$sessionId);

View file

@ -14,14 +14,14 @@ use lib '../../lib';
use Getopt::Long;
use WebGUI::Session;
# ---- END DO NOT EDIT ----
use Test::More tests => 10; # increment this value for each test you create
use Test::More tests => 14; # increment this value for each test you create
my $session = initialize(); # this line is required
# put your tests here
my $scratch = $session->Scratch;
my $maxCount = 10;
my $scratch = $session->scratch;
my $maxCount = 14;
$scratch->deleteAll();