Source of file CachedContentFilter.php
Size: 0,974 Bytes - Last Modified: 2021-12-23T10:36:17+00:00
/var/www/docs.ssmods.com/process/src/src/Filters/CachedContentFilter.php
1234567891011121314151617181920212223242526272829303132333435363738394041 | <?php namespace SilverStripe\VersionFeed\Filters; use SilverStripe\Core\Config\Config; /** * Caches results of a callback */ class CachedContentFilter extends ContentFilter { /** * Enable caching * * @config * @var boolean */ private static $cache_enabled = true; public function getContent($key, $callback) { $cache = $this->getCache(); // Return cached value if available $cacheEnabled = Config::inst()->get(get_class(), 'cache_enabled'); $result = (isset($_GET['flush']) || !$cacheEnabled) ? null : $cache->get($key); if ($result) { return $result; } // Fallback to generate result $result = parent::getContent($key, $callback); $lifetime = Config::inst()->get(ContentFilter::class, 'cache_lifetime') ?: null; $cache->set($key, $result, $lifetime); return $result; } } |