CacheGenerator.php
1.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
namespace Nextend\SmartSlider3\Slider\Cache;
use Nextend\Framework\Cache\Manifest;
use Nextend\Framework\Platform\Platform;
use Nextend\SmartSlider3\Generator\Generator;
use Nextend\SmartSlider3\Slider\Slider;
class CacheGenerator extends Manifest {
/**
* @var Slider
*/
private $slider;
private $generator;
protected $_storageEngine = 'database';
/**
* @param Slider $slider
* @param Generator $generator
*/
public function __construct($slider, $generator) {
parent::__construct($slider->cacheId, false);
$this->slider = $slider;
$this->generator = $generator;
}
protected function decode($data) {
return json_decode($data, true);
}
protected function isCacheValid(&$manifestData) {
$nextRefresh = $manifestData['cacheTime'] + max(0, floatval($this->generator->currentGenerator['params']->get('cache-expiration', 1))) * 60 * 60;
if ($manifestData['cacheTime'] + max(0, floatval($this->generator->currentGenerator['params']->get('cache-expiration', 1))) * 60 * 60 < Platform::getTimestamp()) {
return false;
}
$this->generator->setNextCacheRefresh($nextRefresh);
return true;
}
protected function addManifestData(&$manifestData) {
$manifestData['cacheTime'] = Platform::getTimestamp();
$this->generator->setNextCacheRefresh($manifestData['cacheTime'] + max(0, floatval($this->generator->currentGenerator['params']->get('cache-expiration', 1))) * 60 * 60);
}
}