Mercurial > SimpleWebPresenter
diff Page.inc @ 78:7c68015b211a
Common source for all page generators.
Support for compressed output.
| author | Tom Fredrik "BFG" Klaussen <bfg@blenning.no> |
|---|---|
| date | Fri, 12 Oct 2012 16:43:26 +0200 |
| parents | |
| children | 88904282b888 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Page.inc Fri Oct 12 16:43:26 2012 +0200 @@ -0,0 +1,56 @@ +<? +include_once 'ScriptIncludeCache.inc'; + +/// @cond +$baseDir = dirname(__FILE__); +$cache = ScriptIncludeCache::instance(__FILE__); +$cache->includeOnce('Options.inc', dirname(__FILE__)); +/// @endcond + +/** + * Functionality for generating a page + */ +class Page +{ + private $cache; + + function __construct($cache) + { + $this->setCache($cache); + } + + protected function setCache($cache) + { + $this->cache = $cache; + } + + protected function getCache() + { + return $this->cache; + } + + function mayCompress() + { + return (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')); + } + + function startCompression() + { + ob_start("ob_gzhandler"); + } + + function genPage() + { + if ($this->cacheCheck()) { + $this->cache->CheckHttpModified(); + } + $res = $this->generateContent(); + if ($this->mayCompress()) { + $this->startCompression(); + } + print $res; + } + + +} +?>
