<?php
namespace Claromentis\Core\Cache;

$GLOBALS["__65da1b1ec2d6653e8a0ab7848e53621" . "5"] = (@$GLOBALS["__65da1b1ec2d6653" . "e8a0ab7848e536215"] ?: array()) + array("_8a36a84baeff" . "c0085672f9bf9" . "c064f67" => base64_decode("ZmlsZV9wdXRfY29udG" . "VudHM="), "_2d885755f5913deb2b5a483" . "bd67611d1" => base64_decode("Y2ZnX2xv" . "Y2FsX2Rh" . "dGFfZGly"), "_72f158ad" . "d48659f67" . "a9df82de6" . "646312" => base64_decode("c3lzdGVtX2Nh" . "Y2hlX2NsZWFy" . "ZWQ="), "_ca831b25ce7fff" . "ea9cf441f762c7d" . "154" => base64_decode("ZmlsZV9leGl" . "zdHM="), "_644b798b19" . "dd133ec9211" . "fb916df032b" => base64_decode("ZmlsZV9nZXRfY29udG" . "VudHM="), "_5e9a99dc0dd" . "49b907abf1b3" . "5e96965f8" => base64_decode("dHJp" . "bQ=="), "_927fa79e" . "65e272737" . "620f5a863" . "f058ae" => base64_decode("L2NhY2hlX2NsZ" . "WFyZWQuZGF0"), "_19d1237" . "a619f7b3" . "5ad6dbeb" . "f025f17c" . "8" => base64_decode("c3Ry" . "Y21w"));
use Claromentis\Core\Config\Config;
use Claromentis\Core\DAL\Interfaces\DbInterface;
use DBVar;
class CacheTimeCheck
{
    
    
    
    
    private $cache_cleared_file;
    
    
    
    
    private $cache_clearer;
    public function __construct(Config $config, CacheClearer $_2f905e47e14e38521e4b5cdebdd7a108)
    {
        $this->cache_cleared_file = $config->get($GLOBALS["__65da1b1ec2d6" . "653e8a0ab7848e" . "536215"]["_2d885755f5913deb2" . "b5a483bd67611d1"]) . $GLOBALS["__65da1b1ec" . "2d6653e8a0a" . "b7848e53621" . "5"]["_927fa79e65e272737620f5a863f" . "058ae"];
        $this->cache_clearer = $_2f905e47e14e38521e4b5cdebdd7a108;
    }
    public function ClearLocalCacheIfNeeded()
    {
        $_d531d220dbc6dcb35b78aff26b7f0278 = true;
        $_0a9dc3339bf8c0f28851462350e00fb4 = (string) DBVar::Get($GLOBALS["__65da1b1ec2" . "d6653e8a0ab7" . "848e536215"]["_72f158add48659f67a9df82de664" . "6312"], false);
        if ($GLOBALS["__65da1b1ec2" . "d6653e8a0ab7" . "848e536215"]["_ca831b25ce7fffea9cf441f7" . "62c7d154"]($this->cache_cleared_file)) {
            $_52da7741c64702dba0065a6ffc0b23da = (string) $GLOBALS["__65da1b1e" . "c2d6653e8a" . "0ab7848e53" . "6215"]["_5e9a99dc0dd49b907abf1b35e96965" . "f8"]($GLOBALS["__65da1b1" . "ec2d6653e" . "8a0ab7848" . "e536215"]["_644b798b" . "19dd133ec" . "9211fb916" . "df032b"]($this->cache_cleared_file));
            if ($GLOBALS["__65da1b1ec" . "2d6653e8a0a" . "b7848e53621" . "5"]["_19d1237" . "a619f7b3" . "5ad6dbeb" . "f025f17c" . "8"]($_52da7741c64702dba0065a6ffc0b23da, $_0a9dc3339bf8c0f28851462350e00fb4) >= 0) {
                $_d531d220dbc6dcb35b78aff26b7f0278 = false;
            }
        }
        if ($_d531d220dbc6dcb35b78aff26b7f0278) {
            $this->ClearLocalCache();
        }
    }
    public function ClearLocalCache()
    {
        $this->cache_clearer->Reset();
        $this->UpdateLocalTimestamp();
    }
    public function ClearAllCache()
    {
        $this->cache_clearer->Reset();
        $this->cache_clearer->ResetShared();
        $this->UpdateLocalTimestamp();
    }
    protected function UpdateLocalTimestamp()
    {
        $_d230962d9a57dc6ba2b774d9ba3bb81e = new \Date();
        $_d230962d9a57dc6ba2b774d9ba3bb81e = $_d230962d9a57dc6ba2b774d9ba3bb81e->getDate(DATE_FORMAT_TIMESTAMP);
        $GLOBALS["__65da1b1ec2d665" . "3e8a0ab7848e5362" . "15"]["_8a36a84baeffc0085672f" . "9bf9c064f67"]($this->cache_cleared_file, $_d230962d9a57dc6ba2b774d9ba3bb81e);
    }
    public function UpdateSharedTimestamp(DbInterface $db)
    {
        $_d230962d9a57dc6ba2b774d9ba3bb81e = new \Date();
        $_d230962d9a57dc6ba2b774d9ba3bb81e = $_d230962d9a57dc6ba2b774d9ba3bb81e->getDate(DATE_FORMAT_TIMESTAMP);
        $db->DisableTokenCheck();
        DBVar::Set($GLOBALS["__65da1b1ec2d6" . "653e8a0ab7848e" . "536215"]["_72f158add48659f67a9df82de66463" . "12"], $_d230962d9a57dc6ba2b774d9ba3bb81e);
        $db->EnableTokenCheck();
    }
}