# HG changeset patch # User Tom Fredrik Blenning Klaussen # Date 1350053959 -7200 # Node ID 88904282b8880232be4e633b7bcfb267d27e173d # Parent 9b490aa11124a1510b2f565526d7e71ae9aa5a39 Documentation fixes. diff -r 9b490aa11124 -r 88904282b888 Page.inc --- a/Page.inc Fri Oct 12 16:47:25 2012 +0200 +++ b/Page.inc Fri Oct 12 16:59:19 2012 +0200 @@ -8,37 +8,85 @@ /// @endcond /** - * Functionality for generating a page + * Master class for generating a page */ class Page { private $cache; - function __construct($cache) + /** + * Constructs a page + * + * @param $cache optionally sets a cache + */ + function __construct($cache = null) { $this->setCache($cache); } + /** + * Set the cache + * + * @param $cache The cache object + */ protected function setCache($cache) { $this->cache = $cache; } + /** + * Get the cache + * + * @return The cache object + */ protected function getCache() { return $this->cache; } + /** + * Decide wether or not this page may be compressed. + * + * Normally this is a check for http headers, but some pages + * eg. pictures may not want to be compressed, and may override this + * function. + * + * @return bool if this page may be compressed + */ function mayCompress() { return (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')); } + /** + * Turns on compression for this page + * + * @note This may not be reversed + */ function startCompression() { ob_start("ob_gzhandler"); } + /** + * Generates the actual content of the page + * + * @return the content buffer + */ + abstract function generateContent(); + + /** + * Finishes all necessary processing to determine the cacheset of this page. + * + * @return bool if this page may be cached + */ + abstract function cacheCheck(); + + /** + * Generates an appropriate response to the request. + * + * Eg. 302 NOT CHANGED, error message or the actual content + */ function genPage() { if ($this->cacheCheck()) {