Source of file DynamicCacheControllerExtension.php
Size: 1,117 Bytes - Last Modified: 2021-12-23T10:53:29+00:00
/var/www/docs.ssmods.com/process/src/code/DynamicCacheControllerExtension.php
12345678910111213141516171819202122232425262728293031323334353637383940 | <?php /** * Dynamic caching enhancements for page controller * * @author Damian Mooyman * @package dynamiccache */ class DynamicCacheControllerExtension extends Extension { public function onBeforeInit() { // Determine if this page is of a non-cacheable type $ignoredClasses = DynamicCache::config()->ignoredPages; $ignoredByClass = false; if ($ignoredClasses) { foreach ($ignoredClasses as $ignoredClass) { if (is_a($this->owner->data(), $ignoredClass, true)) { $ignoredByClass = true; break; } } } // Set header disabling caching if // - current page is an ignored page type // - current_stage is not live if ($ignoredByClass) { $header = DynamicCache::config()->optOutHeaderString; header($header); } // Flush cache if requested if (isset($_GET['cache']) && ($_GET['cache'] === 'flush') && Permission::check('ADMIN')) { DynamicCache::inst()->clear(); } } } |