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);