/**
  * Wrapper for Zend\Version::getLatest with caching functionality, so that
  * ZfjPageBanner won't act as a "DDoS bot-network".
  *
  * @param  string $currentVersion
  * @return array
  */
 protected function getLatestVersion($currentVersion)
 {
     if (!$this->options->isVersionCheckEnabled()) {
         return array(true, '');
     }
     $cacheDir = $this->options->getCacheDir();
     // exit early if the cache dir doesn't exist,
     // to prevent hitting the GitHub API for every request.
     if (!is_dir($cacheDir)) {
         return array(true, '');
     }
     if (file_exists($cacheDir . '/ZDT_ZF_Version.cache')) {
         $cache = file_get_contents($cacheDir . '/ZDT_ZF_Version.cache');
         $cache = explode('|', $cache);
         if ($cache[0] + self::VERSION_CACHE_TTL > time()) {
             // the cache file was written before the version was upgraded.
             if ($currentVersion === $cache[2] || $cache[2] === 'N/A') {
                 return array(true, '');
             }
             return array($cache[1] === 'yes' ? true : false, $cache[2]);
         }
     }
     $isLatest = Version::isLatest();
     $latest = Version::getLatest();
     file_put_contents($cacheDir . '/ZDT_ZF_Version.cache', sprintf('%d|%s|%s', time(), $isLatest ? 'yes' : 'no', $latest === null ? 'N/A' : $latest));
     return array($isLatest, $latest);
 }