/** * @param $checksum * * @return bool|mixed */ protected function isCacheExpired($checksum) { if (!$this->cache->doesCacheExist($checksum)) { return true; } if ($expired = $this->cache->isCacheExpired($checksum)) { $files_changed = false; if ($file_group = $this->file_info_cache->get($checksum . '_fileinfo')) { $file_group = unserialize($file_group); /** @var $file RokBooster_Compressor_File */ foreach ($file_group as $file) { if (file_exists($file->getPath()) && is_readable($file->getPath())) { if ($file->hasChanged()) { $files_changed = true; break; } } else { $this->file_info_cache->remove($checksum . '_fileinfo'); $files_changed = true; break; } } } else { $files_changed = true; } if (!$files_changed) { $this->cache->setCacheAsValid($checksum); return false; } } return $expired; }