• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/data/cacheengine.php
  • Класс: BitrixMainDataCacheEngine
  • Вызов: CacheEngine::read
public function read(&$vars, $baseDir, $initDir, $filename, $ttl)
{
	$initDirVersion = $this->getInitDirVersion($baseDir, $initDir, false);

	if ($initDirVersion == '')
	{
		return false;
	}

	$key = $this->sid . '|' . sha1($this->getBaseDirVersion($baseDir) . '|' . $initDirVersion) . '|' .$filename;

	if ($this->useLock)
	{
		$cachedData = $this->get($key);

		if (!is_array($cachedData))
		{
			$cachedData = $this->get($key . '|old');
			if (is_array($cachedData))
			{
				$this->old = true;
			}
		}

		if (!is_array($cachedData))
		{
			return false;
		}

		if ($this->lock($key, $ttl))
		{
			if ($this->old || $cachedData['datecreate'] < (time() - $ttl))
			{
				return false;
			}
		}

		$vars = $cachedData['content'];
	}
	else
	{
		$vars = $this->get($key);
	}

	return $vars !== false;
}