- Модуль: tasks
- Путь к файлу: ~/bitrix/modules/tasks/lib/access/rule/checklistsaverule.php
- Класс: BitrixTasksAccessRuleChecklistSaveRule
- Вызов: ChecklistSaveRule::getDelta
private function getDelta(array $old, array $new)
{
$delta = [];
$new = $this->prepareParams($new);
$old = array_column($old, null, 'ID');
$new = array_column($new, null, 'ID');
if (array_key_exists('', $new))
{
$delta[self::ADDED] = true;
unset($new['']);
}
if (empty($old))
{
$delta[self::ADDED] = true;
}
foreach ($old as $id => $row)
{
if (
!array_key_exists($id, $new)
|| $this->isUpdated($row, $new[$id])
)
{
$delta[self::CHANGED][] = $row;
}
if (
array_key_exists($id, $new)
&& $this->isStatusChanged($row, $new[$id])
)
{
$delta[self::STATUS_CHANGED][] = $row;
}
}
return $delta;
}