com web/php: Reimplement the news archive caching: archive/1998.php archive/1999.php archive/2000.php archive/2001.php archive/2002.php
archive/2003.php archive/2004.php archive/2005.php archive/2006.php archive/2007.php archive/2008.php archive/2009.php archive/2010.php
archive/2011.php archive/2012.php archive/2013.php include/header.inc include/layout.inc
| From: | Hannes Magnusson | Date: | Thu, 26 Dec 2013 18:05:11 +0000 |
| Subject: | com web/php: Reimplement the news archive caching: archive/1998.php archive/1999.php archive/2000.php archive/2001.php archive/2002.php archive/2003.php archive/2004.php archive/2005.php archive/2006.php archive/2007.php archive/2008.php archive/2009.php archive/2010.php archive/2011.php archive/2012.php archive/2013.php include/header.inc include/layout.inc |
||
| Groups: | php.webmaster | ||
| Request: | Send a blank email to php-webmaster+get-17789@lists.php.net to get a copy of this message | ||
Commit: f320ea32fd98178f05d64b784420dfc04bc1d30d
Author: Hannes Magnusson <bjori@mongodb.com> Thu, 26 Dec 2013 10:05:11 -0800
Parents: 200b3254d673fe6d08e7a5d39809647db90da054
Branches: master
Link: http://git.php.net/?p=web/php.git;a=commitdiff;h=f320ea32fd98178f05d64b784420dfc04bc1d30d
Log:
Reimplement the news archive caching
Changed paths:
M archive/1998.php
M archive/1999.php
M archive/2000.php
M archive/2001.php
M archive/2002.php
M archive/2003.php
M archive/2004.php
M archive/2005.php
M archive/2006.php
M archive/2007.php
M archive/2008.php
M archive/2009.php
M archive/2010.php
M archive/2011.php
M archive/2012.php
M archive/2013.php
M include/header.inc
M include/layout.inc
diff --git a/archive/1998.php b/archive/1998.php index a766037..b2a6005 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)); ?> <h1>News Archive - 1998</h1> diff --git a/archive/1999.php b/archive/1999.php index f2cdad1..4cdf58c 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)); ?> <h1>News Archive - 1999</h1> diff --git a/archive/2000.php b/archive/2000.php index 89a4681..564e7e5 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)); ?> <h1>News Archive - 2000</h1> diff --git a/archive/2001.php b/archive/2001.php index 6b82bde..50e6df5 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)); ?> <h1>News Archive - 2001</h1> diff --git a/archive/2002.php b/archive/2002.php index 1366900..46ee074 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)); ?> <h1>News Archive - 2002</h1> diff --git a/archive/2003.php b/archive/2003.php index 079d161..6980f69 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)); ?> <h1>News Archive - 2003</h1> diff --git a/archive/2004.php b/archive/2004.php index 7bad694..c3906b7 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)); ?> <h1>News Archive - 2004</h1> diff --git a/archive/2005.php b/archive/2005.php index d582c61..4530cff 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)); ?> <h1>News Archive - 2005</h1> diff --git a/archive/2006.php b/archive/2006.php index 505db79..1fdeb07 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)); ?> <h1>News Archive - 2006</h1> diff --git a/archive/2007.php b/archive/2007.php index f9ed0d1..4354037 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)); ?> <h1>News Archive - 2007</h1> diff --git a/archive/2008.php b/archive/2008.php index 0095086..324f6a0 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)); ?> <h1>News Archive - 2008</h1> diff --git a/archive/2009.php b/archive/2009.php index 07f7b3c..1cb75be 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)); ?> <h1>News Archive - 2009</h1> diff --git a/archive/2010.php b/archive/2010.php index c0264b5..2b347ac 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)); ?> <h1>News Archive - 2010</h1> diff --git a/archive/2011.php b/archive/2011.php index 42d6497..2dc77be 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)); ?> <h1>News Archive - 2011</h1> diff --git a/archive/2012.php b/archive/2012.php index 7e935ce..9931e3d 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)); ?> <h1>News Archive - 2012</h1> diff --git a/archive/2013.php b/archive/2013.php index ddf1fc5..5f87625 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)); ?> <h1>News Archive - 2013</h1> diff --git a/include/header.inc b/include/header.inc index 8820337..798f314 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); +} + ?> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" lang="<?php echo $lang?>"> diff --git a/include/layout.inc b/include/layout.inc index 1e0305a..3007e88 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);
diff --git a/archive/1998.php b/archive/1998.php index a766037..b2a6005 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)); ?> <h1>News Archive - 1998</h1> diff --git a/archive/1999.php b/archive/1999.php index f2cdad1..4cdf58c 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)); ?> <h1>News Archive - 1999</h1> diff --git a/archive/2000.php b/archive/2000.php index 89a4681..564e7e5 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)); ?> <h1>News Archive - 2000</h1> diff --git a/archive/2001.php b/archive/2001.php index 6b82bde..50e6df5 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)); ?> <h1>News Archive - 2001</h1> diff --git a/archive/2002.php b/archive/2002.php index 1366900..46ee074 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)); ?> <h1>News Archive - 2002</h1> diff --git a/archive/2003.php b/archive/2003.php index 079d161..6980f69 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)); ?> <h1>News Archive - 2003</h1> diff --git a/archive/2004.php b/archive/2004.php index 7bad694..c3906b7 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)); ?> <h1>News Archive - 2004</h1> diff --git a/archive/2005.php b/archive/2005.php index d582c61..4530cff 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)); ?> <h1>News Archive - 2005</h1> diff --git a/archive/2006.php b/archive/2006.php index 505db79..1fdeb07 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)); ?> <h1>News Archive - 2006</h1> diff --git a/archive/2007.php b/archive/2007.php index f9ed0d1..4354037 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)); ?> <h1>News Archive - 2007</h1> diff --git a/archive/2008.php b/archive/2008.php index 0095086..324f6a0 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)); ?> <h1>News Archive - 2008</h1> diff --git a/archive/2009.php b/archive/2009.php index 07f7b3c..1cb75be 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)); ?> <h1>News Archive - 2009</h1> diff --git a/archive/2010.php b/archive/2010.php index c0264b5..2b347ac 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)); ?> <h1>News Archive - 2010</h1> diff --git a/archive/2011.php b/archive/2011.php index 42d6497..2dc77be 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)); ?> <h1>News Archive - 2011</h1> diff --git a/archive/2012.php b/archive/2012.php index 7e935ce..9931e3d 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)); ?> <h1>News Archive - 2012</h1> diff --git a/archive/2013.php b/archive/2013.php index ddf1fc5..5f87625 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)); ?> <h1>News Archive - 2013</h1> diff --git a/include/header.inc b/include/header.inc index 8820337..798f314 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); +} + ?> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" lang="<?php echo $lang?>"> diff --git a/include/layout.inc b/include/layout.inc index 1e0305a..3007e88 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);