27 #require_once 'Zend/Cache/Core.php'; 67 'master_file' =>
null,
68 'master_files' =>
null,
69 'master_files_mode' =>
'OR',
70 'ignore_missing_master_files' =>
false 80 private $_masterFile_mtimes =
null;
94 if (!isset($this->_specificOptions[
'master_files'])) {
106 $this->_specificOptions[
'master_file'] =
null;
107 $this->_specificOptions[
'master_files'] =
null;
108 $this->_masterFile_mtimes = array();
112 foreach ($masterFiles as $masterFile) {
113 if (file_exists($masterFile)) {
114 $mtime = filemtime($masterFile);
119 if (!$this->_specificOptions[
'ignore_missing_master_files'] && !$mtime) {
123 $this->_masterFile_mtimes[
$i] = $mtime;
124 $this->_specificOptions[
'master_files'][
$i] = $masterFile;
126 $this->_specificOptions[
'master_file'] = $masterFile;
158 if (
$name ==
'master_file') {
160 }
else if (
$name ==
'master_files') {
175 public function load(
$id, $doNotTestCacheValidity =
false, $doNotUnserialize =
false)
177 if (!$doNotTestCacheValidity) {
179 return parent::load(
$id,
true, $doNotUnserialize);
183 return parent::load(
$id,
true, $doNotUnserialize);
194 $lastModified = parent::test(
$id);
196 if ($this->_specificOptions[
'master_files_mode'] == self::MODE_AND) {
198 foreach($this->_masterFile_mtimes as $masterFileMTime) {
199 if ($masterFileMTime) {
200 if ($lastModified > $masterFileMTime) {
201 return $lastModified;
208 foreach($this->_masterFile_mtimes as $masterFileMTime) {
209 if ($masterFileMTime) {
210 if ($lastModified <= $masterFileMTime) {
215 return $lastModified;
setMasterFile($masterFile)
setMasterFiles(array $masterFiles)
load($id, $doNotTestCacheValidity=false, $doNotUnserialize=false)
static throwException($msg, Exception $e=null)
__construct(array $options=array())
if(!isset($_GET['name'])) $name