• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/classes/general/iblock.php
  • Класс: CAllIBlock
  • Вызов: CAllIBlock::checkActivityDatesAgent
static function checkActivityDatesAgent($iblockId, $previousTime): string
{
	$iblockId = (int)$iblockId;
	if ($iblockId <= 0)
	{
		return '';
	}
	$currentTime = time();
	$result = 'CIBlock::checkActivityDatesAgent('.$iblockId.', '.$currentTime.');';
	$previousTime = (int)$previousTime;
	if ($previousTime <= 0)
	{
		return $result;
	}

	$start = MainTypeDateTime::createFromTimestamp($previousTime);
	$finish = MainTypeDateTime::createFromTimestamp($currentTime);

	$iterator = IblockElementTable::getList(array(
		'select' => array('ID'),
		'filter' => array(
			'=IBLOCK_ID' => $iblockId,
			'=ACTIVE' => 'Y',
			'=WF_STATUS_ID' => 1,
			'=WF_PARENT_ELEMENT_ID' => null,
			array(
				'LOGIC' => 'OR',
				array(
					'>ACTIVE_FROM' => $start,
					'<=ACTIVE_FROM' => $finish
				),
				array(
					'>ACTIVE_TO' => $start,
					'<=ACTIVE_TO' => $finish
				)
			)
		),
		'limit' => 1
	));
	unset($finish);
	unset($start);
	$row = $iterator->fetch();
	unset($iterator);
	if (!empty($row))
	{
		static::clearIblockTagCache($iblockId);
	}
	unset($row);

	return $result;
}