/home/techb158/ileadtechnology.com/SSM/vendor/psy/psysh/src/VersionUpdater
NameSizeModeActions
Checker.php5580644editdlrm
GitHubChecker.php19400644editdlrm
IntervalChecker.php17700644editdlrm
NoopChecker.php6050644editdlrm
Edit: /home/techb158/ileadtechnology.com/SSM/vendor/psy/psysh/src/VersionUpdater/IntervalChecker.php (1770B)
cacheFile = $cacheFile; $this->interval = $interval; } public function fetchLatestRelease() { // Read the cached file $cached = \json_decode(@\file_get_contents($this->cacheFile, false)); if ($cached && isset($cached->last_check) && isset($cached->release)) { $now = new \DateTime(); $lastCheck = new \DateTime($cached->last_check); if ($lastCheck >= $now->sub($this->getDateInterval())) { return $cached->release; } } // Fall back to fetching from GitHub $release = parent::fetchLatestRelease(); if ($release && isset($release->tag_name)) { $this->updateCache($release); } return $release; } private function getDateInterval() { switch ($this->interval) { case Checker::DAILY: return new \DateInterval('P1D'); case Checker::WEEKLY: return new \DateInterval('P1W'); case Checker::MONTHLY: return new \DateInterval('P1M'); } } private function updateCache($release) { $data = [ 'last_check' => \date(DATE_ATOM), 'release' => $release, ]; \file_put_contents($this->cacheFile, \json_encode($data)); } }