- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/classes/general/tasktags.php
- Класс: CTaskTags
- Вызов: CTaskTags::Add
function Add($arFields, $effectiveUserId = null)
{
if ($this->CheckFields($arFields, false, $effectiveUserId))
{
$result = LabelTable::add([
'NAME' => $arFields['NAME'],
'USER_ID' => $arFields['USER_ID'],
'GROUP_ID' => $arFields['GROUP_ID'] ?? 0,
]);
$tagId = LabelTable::getList([
'select' => [
'ID',
],
'filter' => [
'=NAME' => $arFields['NAME'],
'=GROUP_ID' => $arFields['GROUP_ID'] ?? 0,
'=USER_NAME' => $arFields['USER_ID'],
]
])->fetchAll();
$tagId = array_map(static function($el): int{
return (int)$el['ID'];
}, $tagId);
if (count($tagId) !== 1)
{
return false;
}
$tagId = $tagId[0];
$finalResult = TaskTagTable::add([
'TAG_ID' => $tagId,
'TASK_ID' => $arFields["TASK_ID"],
]);
if ($result->isSuccess() && $finalResult->isSuccess())
{
return $result->getId();
}
}
return false;
}