From f320ea32fd98178f05d64b784420dfc04bc1d30d Mon Sep 17 00:00:00 2001 From: Hannes Magnusson Date: Thu, 26 Dec 2013 10:05:11 -0800 Subject: [PATCH] Reimplement the news archive caching --- archive/1998.php | 2 +- archive/1999.php | 2 +- archive/2000.php | 2 +- archive/2001.php | 2 +- archive/2002.php | 2 +- archive/2003.php | 2 +- archive/2004.php | 2 +- archive/2005.php | 2 +- archive/2006.php | 2 +- archive/2007.php | 2 +- archive/2008.php | 3 +-- archive/2009.php | 2 +- archive/2010.php | 2 +- archive/2011.php | 3 +-- archive/2012.php | 3 +-- archive/2013.php | 1 + include/header.inc | 11 +++++++++++ include/layout.inc | 1 + 18 files changed, 28 insertions(+), 18 deletions(-) diff --git a/archive/1998.php b/archive/1998.php index a766037bc..b2a600566 100644 --- a/archive/1998.php +++ b/archive/1998.php @@ -3,7 +3,7 @@ $_SERVER['BASE_PAGE'] = 'archive/1998.php'; include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; news_archive_sidebar(); -site_header("News Archive - 1998", array("generate_modified" => true)); +site_header("News Archive - 1998", array("cache" => true)); ?>

News Archive - 1998

diff --git a/archive/1999.php b/archive/1999.php index f2cdad14b..4cdf58c89 100644 --- a/archive/1999.php +++ b/archive/1999.php @@ -3,7 +3,7 @@ $_SERVER['BASE_PAGE'] = 'archive/1999.php'; include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; news_archive_sidebar(); -site_header("News Archive - 1999", array("generate_modified" => true)); +site_header("News Archive - 1999", array("cache" => true)); ?>

News Archive - 1999

diff --git a/archive/2000.php b/archive/2000.php index 89a468190..564e7e5b2 100644 --- a/archive/2000.php +++ b/archive/2000.php @@ -3,7 +3,7 @@ $_SERVER['BASE_PAGE'] = 'archive/2000.php'; include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; news_archive_sidebar(); -site_header("News Archive - 2000", array("generate_modified" => true)); +site_header("News Archive - 2000", array("cache" => true)); ?>

News Archive - 2000

diff --git a/archive/2001.php b/archive/2001.php index 6b82bde5b..50e6df509 100644 --- a/archive/2001.php +++ b/archive/2001.php @@ -3,7 +3,7 @@ $_SERVER['BASE_PAGE'] = 'archive/2001.php'; include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; news_archive_sidebar(); -site_header("News Archive - 2001", array("generate_modified" => true)); +site_header("News Archive - 2001", array("cache" => true)); ?>

News Archive - 2001

diff --git a/archive/2002.php b/archive/2002.php index 136690058..46ee07407 100644 --- a/archive/2002.php +++ b/archive/2002.php @@ -3,7 +3,7 @@ $_SERVER['BASE_PAGE'] = 'archive/2002.php'; include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; news_archive_sidebar(); -site_header("News Archive - 2002", array("generate_modified" => true)); +site_header("News Archive - 2002", array("cache" => true)); ?>

News Archive - 2002

diff --git a/archive/2003.php b/archive/2003.php index 079d16137..6980f69b2 100644 --- a/archive/2003.php +++ b/archive/2003.php @@ -3,7 +3,7 @@ $_SERVER['BASE_PAGE'] = 'archive/2003.php'; include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; news_archive_sidebar(); -site_header("News Archive - 2003", array("generate_modified" => true)); +site_header("News Archive - 2003", array("cache" => true)); ?>

News Archive - 2003

diff --git a/archive/2004.php b/archive/2004.php index 7bad69490..c3906b725 100644 --- a/archive/2004.php +++ b/archive/2004.php @@ -3,7 +3,7 @@ $_SERVER['BASE_PAGE'] = 'archive/2004.php'; include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; news_archive_sidebar(); -site_header("News Archive - 2004", array("generate_modified" => true)); +site_header("News Archive - 2004", array("cache" => true)); ?>

News Archive - 2004

diff --git a/archive/2005.php b/archive/2005.php index d582c6141..4530cff7d 100644 --- a/archive/2005.php +++ b/archive/2005.php @@ -3,7 +3,7 @@ $_SERVER['BASE_PAGE'] = 'archive/2005.php'; include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; news_archive_sidebar(); -site_header("News Archive - 2005", array("generate_modified" => true)); +site_header("News Archive - 2005", array("cache" => true)); ?>

News Archive - 2005

diff --git a/archive/2006.php b/archive/2006.php index 505db796d..1fdeb07e4 100644 --- a/archive/2006.php +++ b/archive/2006.php @@ -3,7 +3,7 @@ $_SERVER['BASE_PAGE'] = 'archive/2006.php'; include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; news_archive_sidebar(); -site_header("News Archive - 2006", array("generate_modified" => true)); +site_header("News Archive - 2006", array("cache" => true)); ?>

News Archive - 2006

diff --git a/archive/2007.php b/archive/2007.php index f9ed0d111..435403777 100644 --- a/archive/2007.php +++ b/archive/2007.php @@ -3,7 +3,7 @@ $_SERVER['BASE_PAGE'] = 'archive/2007.php'; include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; news_archive_sidebar(); -site_header("News Archive - 2007", array("generate_modified" => true)); +site_header("News Archive - 2007", array("cache" => true)); ?>

News Archive - 2007

diff --git a/archive/2008.php b/archive/2008.php index 0095086f7..324f6a090 100644 --- a/archive/2008.php +++ b/archive/2008.php @@ -2,9 +2,8 @@ // $Id$ $_SERVER['BASE_PAGE'] = 'archive/2008.php'; include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/pregen-news.inc'; news_archive_sidebar(); -site_header("News Archive - 2008", array("generate_modified" => true)); +site_header("News Archive - 2008", array("cache" => true)); ?>

News Archive - 2008

diff --git a/archive/2009.php b/archive/2009.php index 07f7b3c8a..1cb75be05 100644 --- a/archive/2009.php +++ b/archive/2009.php @@ -3,7 +3,7 @@ $_SERVER['BASE_PAGE'] = 'archive/2009.php'; include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; news_archive_sidebar(); -site_header("News Archive - 2009"); +site_header("News Archive - 2009", array("cache" => true)); ?>

News Archive - 2009

diff --git a/archive/2010.php b/archive/2010.php index c0264b5fb..2b347acac 100644 --- a/archive/2010.php +++ b/archive/2010.php @@ -3,7 +3,7 @@ $_SERVER['BASE_PAGE'] = 'archive/2010.php'; include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; news_archive_sidebar(); -site_header("News Archive - 2010"); +site_header("News Archive - 2010", array("cache" => true)); ?>

News Archive - 2010

diff --git a/archive/2011.php b/archive/2011.php index 42d649735..2dc77be1d 100644 --- a/archive/2011.php +++ b/archive/2011.php @@ -2,9 +2,8 @@ // $Id: 2010.php 293613 2010-01-16 13:38:42Z bjori $ $_SERVER['BASE_PAGE'] = 'archive/2011.php'; include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/pregen-news.inc'; news_archive_sidebar(); -site_header("News Archive - 2011"); +site_header("News Archive - 2011", array("cache" => true)); ?>

News Archive - 2011

diff --git a/archive/2012.php b/archive/2012.php index 7e935ce1c..9931e3d28 100644 --- a/archive/2012.php +++ b/archive/2012.php @@ -2,9 +2,8 @@ // $Id: 2010.php 293613 2010-01-16 13:38:42Z bjori $ $_SERVER['BASE_PAGE'] = 'archive/2012.php'; include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; -include_once $_SERVER['DOCUMENT_ROOT'] . '/include/pregen-news.inc'; news_archive_sidebar(); -site_header("News Archive - 2012"); +site_header("News Archive - 2012", array("cache" => true)); ?>

News Archive - 2012

diff --git a/archive/2013.php b/archive/2013.php index ddf1fc5c8..5f8762500 100644 --- a/archive/2013.php +++ b/archive/2013.php @@ -5,6 +5,7 @@ include_once $_SERVER['DOCUMENT_ROOT'] . '/include/prepend.inc'; include_once $_SERVER['DOCUMENT_ROOT'] . '/include/pregen-news.inc'; news_archive_sidebar(); site_header("News Archive - 2013"); +//site_header("News Archive - 2013", array("cache" => true)); ?>

News Archive - 2013

diff --git a/include/header.inc b/include/header.inc index 88203374c..798f314da 100755 --- a/include/header.inc +++ b/include/header.inc @@ -14,6 +14,17 @@ if (isset($shortname) && $shortname) { header("Link: <$shorturl>; rel=shorturl"); } +if ($config["cache"]) { + $timestamp = filemtime($_SERVER["DOCUMENT_ROOT"] . "/" .$_SERVER["BASE_PAGE"]); + $tsstring = gmdate("D, d M Y H:i:s ", $timestamp) . "GMT"; + + if (isset($_SERVER["HTTP_IF_MODIFIED_SINCE"]) && $_SERVER["HTTP_IF_MODIFIED_SINCE"] == $tsstring) { + header("HTTP/1.1 304 Not Modified"); + exit; + } + header("Last-Modified: " . $tsstring); +} + ?> diff --git a/include/layout.inc b/include/layout.inc index 1e0305a37..3007e8840 100644 --- a/include/layout.inc +++ b/include/layout.inc @@ -521,6 +521,7 @@ function site_header($title = '', $config = array()) "meta-navigation" => array(), 'classes' => '', 'layout_span' => 9, + "cache" => false, ); $config = array_merge($defaults, $config);