• Модуль: sender
  • Путь к файлу: ~/bitrix/modules/sender/lib/entity/segment.php
  • Класс: BitrixSenderEntitySegment
  • Вызов: Segment::updateUseCounters
static function updateUseCounters(array $list, $isInclude = true)
{
	if (count($list) === 0)
	{
		return;
	}

	$tableName = GroupTable::getTableName();
	$now = Application::getConnection()->getSqlHelper()->convertToDbDateTime(new DateTime());
	$ids = array();
	foreach ($list as $element)
	{
		$id = $element['ID'];
		if (!$id || !is_numeric($id))
		{
			continue;
		}

		$id = (int) $id;
		if (!$id)
		{
			continue;
		}

		$ids[] = $id;
	}
	$ids = implode(', ', $ids);
	$postfix = $isInclude ? '' : '_EXCLUDE';

	$sql = "UPDATE $tableName SET USE_COUNT$postfix = USE_COUNT$postfix + 1, DATE_USE$postfix = $now WHERE ID IN ($ids)";
	Application::getConnection()->query($sql);
}