- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/classes/general/task.php
- Класс: CTasks
- Вызов: CTasks::__updateViewed
static function __updateViewed($TASK_ID, $USER_ID, $onTaskAdd = false)
{
$USER_ID = (int)$USER_ID;
$TASK_ID = (int)$TASK_ID;
$list = BitrixTasksInternalsTaskViewedTable::getList([
"select" => ["TASK_ID", "USER_ID"],
"filter" => [
"=TASK_ID" => $TASK_ID,
"=USER_ID" => $USER_ID,
],
]);
if ($item = $list->fetch())
{
BitrixTasksInternalsTaskViewedTable::update($item, [
"VIEWED_DATE" => new BitrixMainTypeDateTime(),
]);
}
else
{
BitrixTasksInternalsTaskViewedTable::add([
"TASK_ID" => $TASK_ID,
"USER_ID" => $USER_ID,
"VIEWED_DATE" => new BitrixMainTypeDateTime(),
]);
}
$pullData = [
'USER_ID' => $USER_ID,
'TASK_ID' => $TASK_ID,
];
self::EmitPullWithTag([$USER_ID], 'TASKS_TASK_' . $TASK_ID, 'task_view', $pullData);
$event = new BitrixMainEvent(
'tasks',
'onTaskUpdateViewed',
[
'taskId' => $TASK_ID,
'userId' => $USER_ID,
]
);
$event->send();
}