コード例 #1
0
 /**
  * @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;
 }