Source of file SimpleTemplateCachingSiteConfigExtension.php
Size: 1,142 Bytes - Last Modified: 2021-12-23T10:46:33+00:00
/var/www/docs.ssmods.com/process/src/src/Extensions/SimpleTemplateCachingSiteConfigExtension.php
1234567891011121314151617181920212223242526272829303132333435363738394041 | <?php namespace Sunnysideup\SimpleTemplateCaching\Extensions; use SilverStripe\Forms\DatetimeField; use SilverStripe\Forms\FieldList; use SilverStripe\ORM\DataExtension; use SilverStripe\ORM\DB; use SilverStripe\ORM\FieldType\DBDatetime; use SilverStripe\SiteConfig\SiteConfig; class SimpleTemplateCachingSiteConfigExtension extends DataExtension { private static $db = [ 'CacheKeyLastEdited' => 'DBDatetime', ]; public function updateCMSFields(FieldList $fields) { $fields->addFieldsToTab( 'Root.Caching', [ DatetimeField::create('CacheKeyLastEdited', 'Content Last Edited') ->setRightTitle('The frontend template cache will be invalidated every time this value changes.'), ] ); } public static function site_cache_key() : string { $obj = SiteConfig::current_site_config(); return strtotime($obj->CacheKeyLastEdited); } public static function update_cache_key() { DB::query('UPDATE "SiteConfig" SET "CacheKeyLastEdited" = \'' . DBDatetime::now()->Rfc2822() . "';"); } } |