merging 7.1.4 changes
This commit is contained in:
parent
acaee576c9
commit
8b20bebc32
4 changed files with 38 additions and 34 deletions
|
|
@ -31,6 +31,8 @@
|
||||||
- fix: WebGUI::Text::splitCsv no longer removes trailing empty fields
|
- fix: WebGUI::Text::splitCsv no longer removes trailing empty fields
|
||||||
- fix: Product add-to-group would always try to add a user to a group
|
- fix: Product add-to-group would always try to add a user to a group
|
||||||
- Made many minor changes recommended by Perl::Critic.
|
- Made many minor changes recommended by Perl::Critic.
|
||||||
|
- Made many minor code efficiency changes.
|
||||||
|
- fix: Two cookies and incorrect Last-Modified date in HTTP header
|
||||||
|
|
||||||
7.1.3
|
7.1.3
|
||||||
- fix: SQLReport now returns error if can't find DatabaseLink
|
- fix: SQLReport now returns error if can't find DatabaseLink
|
||||||
|
|
|
||||||
|
|
@ -93,42 +93,42 @@ sub contentHandler {
|
||||||
### Open new or existing user session based on user-agent's cookie.
|
### Open new or existing user session based on user-agent's cookie.
|
||||||
my $request = Apache2::Request->new($r);
|
my $request = Apache2::Request->new($r);
|
||||||
my $session = WebGUI::Session->open($s->dir_config('WebguiRoot'),$configFile, $request, $s);
|
my $session = WebGUI::Session->open($s->dir_config('WebguiRoot'),$configFile, $request, $s);
|
||||||
|
my ($env, $http, $setting, $output, $errorHandler, $config) = $session->quick(qw(env http setting output errorHandler config));
|
||||||
if ($session->env->get("HTTP_X_MOZ") eq "prefetch") { # browser prefetch is a bad thing
|
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.");
|
$http->setStatus("403","We don't allow prefetch, because it increases bandwidth, hurts stats, and can break web sites.");
|
||||||
$session->http->sendHeader;
|
$http->sendHeader;
|
||||||
} elsif ($session->setting->get("specialState") eq "upgrading") {
|
} elsif ($setting->get("specialState") eq "upgrading") {
|
||||||
upgrading($session);
|
upgrading($session);
|
||||||
} else {
|
} else {
|
||||||
my $output = processOperations($session);
|
my $out = processOperations($session);
|
||||||
if ($output ne "") {
|
if ($out ne "") {
|
||||||
# do nothing because we have operation output to display
|
# do nothing because we have operation output to display
|
||||||
$output = undef if ($output eq "chunked");
|
$out = undef if ($out eq "chunked");
|
||||||
} elsif ($session->setting->get("specialState") eq "init") {
|
} elsif ($setting->get("specialState") eq "init") {
|
||||||
$output = setup($session);
|
$out = setup($session);
|
||||||
} elsif ($session->errorHandler->canShowPerformanceIndicators) {
|
} elsif ($errorHandler->canShowPerformanceIndicators) {
|
||||||
my $t = [Time::HiRes::gettimeofday()];
|
my $t = [Time::HiRes::gettimeofday()];
|
||||||
$output = page($session);
|
$out = page($session);
|
||||||
$t = Time::HiRes::tv_interval($t) ;
|
$t = Time::HiRes::tv_interval($t) ;
|
||||||
if ($output =~ /<\/title>/) {
|
if ($out =~ /<\/title>/) {
|
||||||
$output =~ s/<\/title>/ : ${t} seconds<\/title>/i;
|
$out =~ s/<\/title>/ : ${t} seconds<\/title>/i;
|
||||||
} else {
|
} else {
|
||||||
# Kludge.
|
# Kludge.
|
||||||
my $mimeType = $session->http->getMimeType();
|
my $mimeType = $http->getMimeType();
|
||||||
if ($mimeType eq 'text/css') {
|
if ($mimeType eq 'text/css') {
|
||||||
$session->output->print("\n/* Page generated in $t seconds. */\n");
|
$output->print("\n/* Page generated in $t seconds. */\n");
|
||||||
} elsif ($mimeType eq 'text/html') {
|
} elsif ($mimeType eq 'text/html') {
|
||||||
$session->output->print("\nPage generated in $t seconds.\n");
|
$output->print("\nPage generated in $t seconds.\n");
|
||||||
} else {
|
} else {
|
||||||
# Don't apply to content when we don't know how
|
# Don't apply to content when we don't know how
|
||||||
# to modify it semi-safely.
|
# to modify it semi-safely.
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$output = page($session);
|
$out = page($session);
|
||||||
}
|
}
|
||||||
$session->http->setCookie($session->config->getCookieName,$session->var->getId, $session->config->getCookieTTL, $session->config->get("cookieDomain")) unless $session->var->getId eq $session->http->getCookies->{$session->config->getCookieName};
|
my $filename = $http->getStreamedFile();
|
||||||
my $filename = $session->http->getStreamedFile();
|
if ((defined $filename) && ($config->get("enableStreamingUploads") eq "1")) {
|
||||||
if ((defined $filename) && ($session->config->get("enableStreamingUploads") eq "1")) {
|
|
||||||
my $ct = guess_media_type($filename);
|
my $ct = guess_media_type($filename);
|
||||||
my $oldContentType = $r->content_type($ct);
|
my $oldContentType = $r->content_type($ct);
|
||||||
if ($r->sendfile($filename) ) {
|
if ($r->sendfile($filename) ) {
|
||||||
|
|
@ -137,11 +137,11 @@ sub contentHandler {
|
||||||
$r->content_type($oldContentType);
|
$r->content_type($oldContentType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$session->http->sendHeader();
|
$http->sendHeader();
|
||||||
unless ($session->http->isRedirect()) {
|
unless ($http->isRedirect()) {
|
||||||
$session->output->print($output);
|
$output->print($out);
|
||||||
if ($session->errorHandler->canShowDebug()) {
|
if ($errorHandler->canShowDebug()) {
|
||||||
$session->output->print($session->errorHandler->showDebug(),1);
|
$output->print($errorHandler->showDebug(),1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
WebGUI::Affiliate::grabReferral($session); # process affiliate tracking request
|
WebGUI::Affiliate::grabReferral($session); # process affiliate tracking request
|
||||||
|
|
|
||||||
|
|
@ -182,22 +182,20 @@ Returns error messages if a user can't view due to publishing problems, otherwis
|
||||||
sub checkView {
|
sub checkView {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
return $self->session->privilege->noAccess() unless $self->canView;
|
return $self->session->privilege->noAccess() unless $self->canView;
|
||||||
if ($self->session->var->isAdminOn && $self->get("state") =~ /^trash/) { # show em trash
|
my ($var, $http) = $self->session->quick(qw(var http));
|
||||||
$self->session->http->setRedirect($self->getUrl("func=manageTrash"));
|
if ($var->isAdminOn && $self->get("state") =~ /^trash/) { # show em trash
|
||||||
|
$http->setRedirect($self->getUrl("func=manageTrash"));
|
||||||
return "redirect";
|
return "redirect";
|
||||||
} elsif ($self->session->var->isAdminOn && $self->get("state") =~ /^clipboard/) { # show em clipboard
|
} elsif ($var->isAdminOn && $self->get("state") =~ /^clipboard/) { # show em clipboard
|
||||||
$self->session->http->setRedirect($self->getUrl("func=manageClipboard"));
|
$http->setRedirect($self->getUrl("func=manageClipboard"));
|
||||||
return "redirect";
|
return "redirect";
|
||||||
} elsif ($self->get("state") ne "published" && $self->get("state") ne "archived") { # tell em it doesn't exist anymore
|
} elsif ($self->get("state") ne "published" && $self->get("state") ne "archived") { # tell em it doesn't exist anymore
|
||||||
$self->session->http->setStatus("410");
|
$http->setStatus("410");
|
||||||
my $notFound = WebGUI::Asset->getNotFound($self->session);
|
my $notFound = WebGUI::Asset->getNotFound($self->session);
|
||||||
$self->session->asset($notFound);
|
$self->session->asset($notFound);
|
||||||
return $notFound->www_view;
|
return $notFound->www_view;
|
||||||
}
|
}
|
||||||
$self->logView();
|
$self->logView();
|
||||||
# must find a way to do this next line better
|
|
||||||
my $cookieName = $self->session->config->getCookieName;
|
|
||||||
$self->session->http->setCookie($cookieName,$self->session->var->getId, $self->session->config->getCookieTTL, $self->session->config->get("cookieDomain")) unless $self->session->var->getId eq $self->session->http->getCookies->{$cookieName};
|
|
||||||
return undef;
|
return undef;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -249,9 +249,13 @@ sub sendHeader {
|
||||||
return undef if ($self->{_http}{noHeader});
|
return undef if ($self->{_http}{noHeader});
|
||||||
return $self->_sendMinimalHeader if $self->session->dbNotAvailable;
|
return $self->_sendMinimalHeader if $self->session->dbNotAvailable;
|
||||||
|
|
||||||
my ($request, $datetime) = $self->session->quick(qw(request datetime));
|
my ($request, $datetime, $config, $var) = $self->session->quick(qw(request datetime config var));
|
||||||
return undef unless $request;
|
return undef unless $request;
|
||||||
my $userId = $self->session->var->get("userId");
|
my $userId = $var->get("userId");
|
||||||
|
|
||||||
|
# send webgui session cookie
|
||||||
|
my $cookieName = $config->getCookieName;
|
||||||
|
$self->setCookie($cookieName,$var->getId, $config->getCookieTTL, $config->get("cookieDomain")) unless $var->getId eq $self->getCookies->{$cookieName};
|
||||||
|
|
||||||
$self->setNoHeader(1);
|
$self->setNoHeader(1);
|
||||||
my %params;
|
my %params;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue