• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/dispatcher/publicaction/task/template.php
  • Класс: BitrixTasksDispatcherPublicActionTaskTemplate
  • Вызов: Template::placeMemberIds
static function placeMemberIds(array &$data, $fieldName, array $toInvite)
{
	if(array_key_exists($fieldName, $data) && is_array($data[$fieldName]))
	{
		foreach($data[$fieldName] as $k => $user)
		{
			$id = 0;
			if($user == (int) $user) // already a numeric ID
			{
				$id = intval($user);
			}
			elseif(is_array($user)) // user structure, ready for invitation
			{
				if(intval($user['ID']))
				{
					$id = $user['ID'];
				}
				elseif(array_key_exists($user['EMAIL'], $toInvite['MAIL']) && intval($toInvite['MAIL'][$user['EMAIL']]))
				{
					$id = intval($toInvite['MAIL'][$user['EMAIL']]);
				}
				elseif(array_key_exists($user['ID'], $toInvite['NETWORK']) && intval($toInvite['NETWORK'][$user['ID']]))
				{
					$id = intval($toInvite['NETWORK'][$user['ID']]);
				}
			}

			if($id)
			{
				$data[$fieldName][$k] = $id;
			}
			else
			{
				if($fieldName == 'RESPONSIBLES' && count($data[$fieldName]) == 1)
				{
					$data[$fieldName][$k] = 0; // template for new user it is?
				}
				else
				{
					// smth strange passed
					// todo: add error here?
					unset($data[$fieldName][$k]);
				}
			}
		}
	}
}