• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/control/templatetag.php
  • Класс: BitrixTasksControlTemplateTag
  • Вызов: TemplateTag::set
public function set(array $data): void
{
	if (
		!array_key_exists(self::FIELD_TAGS, $data)
		|| !is_array($data[self::FIELD_TAGS])
	)
	{
		return;
	}

	$this->loadByTemplate();
	$this->deleteByTemplate();

	if (empty($data[self::FIELD_TAGS]))
	{
		return;
	}

	$tags = array_values($data[self::FIELD_TAGS]);

	if (empty($tags))
	{
		return;
	}

	$dbHelper = Application::getConnection()->getSqlHelper();

	$insertRows = [];
	foreach ($tags as $tag)
	{
		if (empty($tag))
		{
			continue;
		}
		$insertRows[] = '('.$this->templateId.', '. $this->userId .', "'. $dbHelper->forSql($tag) .'")';
	}

	$sql = "
		INSERT IGNORE INTO ". TemplateTagTable::getTableName() ."
		(`TEMPLATE_ID`, `USER_ID`, `NAME`)
		VALUES
		". implode(", ", $insertRows) ."
	";

	Application::getConnection()->query($sql);
}