• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/dispatcher/publicaction/task.php
  • Класс: BitrixTasksDispatcherPublicActionTask
  • Вызов: Task::prepareMobileData
private function prepareMobileData(array $data, int $taskId): array
{
	$task = TaskRegistry::getInstance()->get($taskId, true);

	if (
		array_key_exists('DEADLINE', $data)
		&& (
			(empty($data['DEADLINE']) && is_null($task['DEADLINE']))
			|| ($task['DEADLINE'] && $data['DEADLINE'] === $task['DEADLINE']->toString())
		)
	)
	{
		unset($data['DEADLINE']);
	}

	if (array_key_exists('SE_RESPONSIBLE', $data))
	{
		$members = $task['MEMBER_LIST'];
		$responsibles = [];
		foreach ($members as $member)
		{
			if ($member['TYPE'] !== MemberTable::MEMBER_TYPE_RESPONSIBLE)
			{
				continue;
			}
			$responsibles[] = (int) $member['USER_ID'];
		}

		$dataResponsibles = [];
		foreach ($data['SE_RESPONSIBLE'] as $responsible)
		{
			$dataResponsibles[] = (int) $responsible['ID'];
		}

		if (empty(array_diff($responsibles, $dataResponsibles)))
		{
			unset($data['SE_RESPONSIBLE']);
		}
	}
	return $data;
}