Source
return (ZBX_DATA_CACHE_TTL != 0 && filemtime(self::getDataCacheFileName()) + ZBX_DATA_CACHE_TTL > time());
<?php declare(strict_types = 0);
/*
** Copyright (C) 2001-2025 Zabbix SIA
**
** This program is free software: you can redistribute it and/or modify it under the terms of
** the GNU Affero General Public License as published by the Free Software Foundation, version 3.
**
** This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
** without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
** See the GNU Affero General Public License for more details.
**
** You should have received a copy of the GNU Affero General Public License along with this program.
** If not, see <https://www.gnu.org/licenses/>.
**/
/**
* A class for manage values cached in "tmp" file.
*/
class CDataCacheHelper {
/**
* Cache buffer.
*
* @var array
*/
protected static $data = null;
/**
* File name to store cache.
*
* @var string
*/
protected const DATA_CACHE_FILE_NAME = 'zbx_config_cache';
/**
* Save value in cache.
*
* @param array $values Array of key-value pairs to store in cache.
*/
public static function setValueArray(array $values): void {
if (self::$data === null) {
self::loadCache();
}
foreach ($values as $key => $value) {
self::$data[$key] = $value;
}
self::saveCache();
}
/**
* Get cached value by particular key.
*
* @param string $key Key of requested value.
* @param type $default (optional) Default value.
*
* @return mixed
*/
public static function getValue(string $key, $default = null) {
if (self::$data === null) {
self::loadCache();