- Модуль: 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;
}