• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/classes/mysql/iblockrss.php
  • Класс: CIBlockRSS
  • Вызов: CIBlockRSS::UpdateCache
static function UpdateCache($cacheKey, $CACHE, $HOURS_CACHE, $bCACHED)
{
	global $DB;
	$connection = BitrixMainApplication::getConnection();
	$helper = $connection->getSqlHelper();

	if(is_array($HOURS_CACHE) && array_key_exists("minutes", $HOURS_CACHE))
		$TTL = intval($HOURS_CACHE["minutes"]) * 60;
	else
		$TTL = intval($HOURS_CACHE) * 3600;

	if ($bCACHED)
	{
		$db_res = $DB->Query(
			"UPDATE b_iblock_cache SET ".
			"	CACHE = '".$DB->ForSql($CACHE, 0)."', ".
			"	CACHE_DATE = " . $helper->addSecondsToDateTime(intval($TTL)) .
			" WHERE CACHE_KEY = '".$DB->ForSql($cacheKey, 0)."' ");
	}
	else
	{
		$db_res = $DB->Query(
			"INSERT INTO b_iblock_cache (CACHE_KEY, CACHE, CACHE_DATE) ".
			"VALUES('".$DB->ForSql($cacheKey, 0)."', '".$DB->ForSql($CACHE, 0)."', " . $helper->addSecondsToDateTime(intval($TTL)) . ") ");
	}
	$db_res = $DB->Query("DELETE from b_iblock_cache WHERE CACHE_DATE < " . $helper->getCurrentDateTimeFunction());
}