From 19f0f7fd721f8ef7c35577ad418737790fe10d23 Mon Sep 17 00:00:00 2001 From: JT Smith Date: Tue, 18 Apr 2006 21:01:30 +0000 Subject: [PATCH] more various changes --- docs/changelog/6.x.x.txt | 2 ++ lib/WebGUI/Asset/File.pm | 2 ++ lib/WebGUI/Asset/Wobject.pm | 1 + lib/WebGUI/Asset/Wobject/Layout.pm | 1 + lib/WebGUI/Session/Http.pm | 14 +++++++++++++- lib/WebGUI/i18n/English/Asset_File.pm | 5 ++++- 6 files changed, 23 insertions(+), 2 deletions(-) diff --git a/docs/changelog/6.x.x.txt b/docs/changelog/6.x.x.txt index be6df89cb..4cd79203e 100644 --- a/docs/changelog/6.x.x.txt +++ b/docs/changelog/6.x.x.txt @@ -101,6 +101,8 @@ - added [ 810556 ] larger value field in userSessionScratch table - added [ 881817 ] allowed characters in username - added [ 1231386 ] Insert WebGUI Image + - added [ 1205807 ] ability to report file size in File template + - added [ 1376374 ] WebGUI should return a Last-Modified http/1.x header - fix [ 1178981 ] IE is in "quirks mode" - multi-column layout templates break - fix [ 999590 ] Rating diff --git a/lib/WebGUI/Asset/File.pm b/lib/WebGUI/Asset/File.pm index c06e96732..1ec920ce2 100644 --- a/lib/WebGUI/Asset/File.pm +++ b/lib/WebGUI/Asset/File.pm @@ -19,6 +19,7 @@ use WebGUI::Asset; use WebGUI::Cache; use WebGUI::Storage; use WebGUI::SQL; +use WebGUI::Utility; our @ISA = qw(WebGUI::Asset); @@ -339,6 +340,7 @@ sub view { $var{controls} = $self->getToolbar; $var{fileUrl} = $self->getFileUrl; $var{fileIcon} = $self->getFileIconUrl; + $var{fileSize} = formatBytes($self->get("assetSize")); my $out = $self->processTemplate(\%var,undef,$self->{_viewTemplate}); if (!$self->session->var->isAdminOn && $self->get("cacheTimeout") > 10) { WebGUI::Cache->new($self->session,"view_".$self->getId)->set($out,$self->get("cacheTimeout")); diff --git a/lib/WebGUI/Asset/Wobject.pm b/lib/WebGUI/Asset/Wobject.pm index fa94c1fc7..f4d127b56 100644 --- a/lib/WebGUI/Asset/Wobject.pm +++ b/lib/WebGUI/Asset/Wobject.pm @@ -537,6 +537,7 @@ sub www_view { my $self = shift; my $check = $self->checkView; return $check if (defined $check); + $self->session->http->setLastModified($self->get("revisionDate")); $self->session->http->sendHeader; $self->prepareView; my $style = $self->processStyle("~~~"); diff --git a/lib/WebGUI/Asset/Wobject/Layout.pm b/lib/WebGUI/Asset/Wobject/Layout.pm index eb66b1033..cee1edc53 100644 --- a/lib/WebGUI/Asset/Wobject/Layout.pm +++ b/lib/WebGUI/Asset/Wobject/Layout.pm @@ -286,6 +286,7 @@ sub www_view { my $ad = $adSpace->displayImpression if (defined $adSpace); $out =~ s/\Q$code/$ad/ges; } + $self->session->http->setLastModified($self->get("revisionDate")); $self->session->http->sendHeader; $self->session->output->print($out, 1); return "chunked"; diff --git a/lib/WebGUI/Session/Http.pm b/lib/WebGUI/Session/Http.pm index 7ff37fe55..935f31be7 100644 --- a/lib/WebGUI/Session/Http.pm +++ b/lib/WebGUI/Session/Http.pm @@ -169,6 +169,7 @@ sub sendHeader { $self->session->request->status(301); } else { $self->session->request->content_type($self->{_http}{mimetype} || "text/html"); + $self->session->request->set_last_modified($self->{_http}{lastModified} || time()); if ($self->session->setting->get("preventProxyCache")) { $self->session->request->headers_out->set(Expires => "-1d"); } @@ -251,7 +252,6 @@ sub setCookie { my $cookie = Apache2::Cookie->new($self->session->request, -name=>$name, -value=>$value, - # -domain=>'.'.$self->session->env->get("HTTP_HOST"), -expires=>$ttl, -path=>'/' ); @@ -285,6 +285,18 @@ sub setFilename { +#------------------------------------------------------------------- + +=head2 setLastModified ( epoch ) + +=cut + +sub setLastModified { + my $self = shift; + my $epoch = shift; + $self->{_htt}{lastModified} = $epoch; +} + #------------------------------------------------------------------- =head2 setMimeType ( mimetype ) diff --git a/lib/WebGUI/i18n/English/Asset_File.pm b/lib/WebGUI/i18n/English/Asset_File.pm index 8c18c593b..716a6155f 100644 --- a/lib/WebGUI/i18n/English/Asset_File.pm +++ b/lib/WebGUI/i18n/English/Asset_File.pm @@ -39,6 +39,9 @@ our $I18N = { 'file template body' => { message => q|

The following variables are available in File Templates:

+

fileSize
+The size (in bytes/kilobytes/megabytes, etc) of the file. +

fileIcon
The icon which describes the type of file. @@ -62,7 +65,7 @@ The menu title, displayed in navigations, set for the file when it was uploaded, |, context => 'Describing the file template variables', - lastUpdated => 1130439830, + lastUpdated => 1145388974, },