openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 321bc9524c47609fe2e6934b0f28fe5bdf0ccc10
parent 298449f1ddcaff5e3d15cf52cad8fecc76ca9155
Author: dankert <devnull@localhost>
Date:   Fri, 16 Jun 2006 23:26:29 +0200

Methode maxAge(), setzen von Expires-Headern im HTTP-Header.

Diffstat:
actionClasses/Action.class.php | 26++++++++++++++++++++++----
actionClasses/BackgroundAction.class.php | 9+++++++--
actionClasses/BorderAction.class.php | 7++++++-
3 files changed, 35 insertions(+), 7 deletions(-)

diff --git a/actionClasses/Action.class.php b/actionClasses/Action.class.php @@ -20,7 +20,10 @@ // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // --------------------------------------------------------------------------- // $Log$ -// Revision 1.21 2006-02-27 19:17:04 dankert +// Revision 1.22 2006-06-16 21:26:29 dankert +// Methode maxAge(), setzen von Expires-Headern im HTTP-Header. +// +// Revision 1.21 2006/02/27 19:17:04 dankert // Aenderung in "callSubAction()": Kein Aufruf von "forward()" // // Revision 1.20 2006/01/29 17:17:49 dankert @@ -407,7 +410,7 @@ class Action if ( ! $conf['cache']['conditional_get'] ) return; - $lastModified = substr(date('r',$time),0,-5).'GMT'; + $lastModified = substr(date('r',$time-date('Z')),0,-5).'GMT'; $etag = '"'.md5($lastModified).'"'; // Header senden @@ -416,7 +419,7 @@ class Action // Die vom Interpreter sonst automatisch gesetzten // Header uebersteuern - header('Cache-Control:'); + header('Cache-Control: must-revalidate'); header('Pragma:' ); // See if the client has provided the required headers @@ -437,7 +440,22 @@ class Action header('HTTP/1.0 304 Not Modified'); exit; // Sofortiges Skript-Ende } - + + + + /** + * @param max Anzahl der Sekunden, die die Seite im Browsercache bleiben darf + */ + function maxAge( $max=3600 ) + { + // Die Header "Last-Modified" und "ETag" wurden bereits in der + // Methode "lastModified()" gesetzt. + + header("Expires: ".substr(date('r',time()-date('Z')+$max),0,-5).'GMT' ); +// header("Pragma: public"); // 'Pragma' ist eigentlich Bullshit und + // wird von den meisten Browsern ignoriert. + header("Cache-Control: max-age=".$max.", s-maxage=".$max.", must-revalidate"); + } diff --git a/actionClasses/BackgroundAction.class.php b/actionClasses/BackgroundAction.class.php @@ -20,7 +20,10 @@ // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // --------------------------------------------------------------------------- // $Log$ -// Revision 1.1 2006-01-11 22:38:33 dankert +// Revision 1.2 2006-06-16 21:26:29 dankert +// Methode maxAge(), setzen von Expires-Headern im HTTP-Header. +// +// Revision 1.1 2006/01/11 22:38:33 dankert // Neue Aktionsklassen f?r neue Darstellungsart // // Revision 1.21 2005/04/16 21:35:23 dankert @@ -113,7 +116,9 @@ class BackgroundAction extends Action $this->setTemplateVar( 'stylesheet',$user->style ); $this->setTemplateVar( 'css_body_class','background' ); - + + $this->maxAge( 4*60*60 ); // 1 Stunde Browsercache + $this->forward( 'border' ); } } diff --git a/actionClasses/BorderAction.class.php b/actionClasses/BorderAction.class.php @@ -20,7 +20,10 @@ // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // --------------------------------------------------------------------------- // $Log$ -// Revision 1.1 2006-01-11 22:38:33 dankert +// Revision 1.2 2006-06-16 21:26:29 dankert +// Methode maxAge(), setzen von Expires-Headern im HTTP-Header. +// +// Revision 1.1 2006/01/11 22:38:33 dankert // Neue Aktionsklassen f?r neue Darstellungsart // // Revision 1.21 2005/04/16 21:35:23 dankert @@ -113,6 +116,8 @@ class BorderAction extends Action $this->setTemplateVar( 'stylesheet',$user->style ); $this->setTemplateVar( 'css_body_class','border' ); + $this->maxAge( 4*60*60 ); // 1 Stunde Browsercache + $this->forward( 'border' ); } }