- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/internals/notification/task/throttle.php
- Класс: BitrixTasksInternalsNotificationTaskThrottleTable
- Вызов: ThrottleTable::getUpdateMessages
static function getUpdateMessages(): array
{
$result = [];
$res = static::getList(['select' => ['TASK_ID', 'AUTHOR_ID', 'STATE_ORIG', 'STATE_LAST', 'INFORM_AUTHOR']]);
static::cleanUp();
while ($item = $res->fetch())
{
$stateOrig = unserialize(
$item['STATE_ORIG'],
['allowed_classes' => ['DateTime', 'BitrixTasksUtilTypeDateTime']]
);
if (!is_array($stateOrig))
{
$stateOrig = [];
}
$stateLast = unserialize(
$item['STATE_LAST'],
['allowed_classes' => ['DateTime', 'BitrixTasksUtilTypeDateTime']]
);
if (!is_array($stateLast))
{
$stateLast = [];
}
$result[$item['TASK_ID']] = [
'STATE_ORIG' => $stateOrig,
'STATE_LAST' => $stateLast,
'AUTHOR_ID' => $item['AUTHOR_ID'],
'TASK_ID' => $item['TASK_ID'],
'IGNORE_RECIPIENTS' => [
// null to inform
$item['AUTHOR_ID'] => ((int)$item['INFORM_AUTHOR'] ? null : true),
],
];
}
return $result;
}