• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/manager/task/member.php
  • Класс: BitrixTasksManagerTaskMember
  • Вызов: Member::inviteMembers
static function inviteMembers(array &$data, Collection $errors)
{
	$code = static::getCode(true);

	if(array_key_exists($code, $data) && is_array($data[$code]))
	{
		if(static::getIsMultiple())
		{
			foreach($data[$code] as $i => $user)
			{
				if(!intval($user['ID']))
				{
					if((string) $user['EMAIL'] != '' && check_email($user['EMAIL']))
					{
						$newUserId = static::inviteUser($user, $errors);
						$data[$code][$i]['ID'] = $newUserId;
						IntegrationSocialNetwork::setLogDestinationLast(['U' => [$newUserId]]);
					}
					elseif ($newUserId = static::addNetworkUser($user, $errors))
					{
						$data[$code][$i]['ID'] = $newUserId;
						IntegrationSocialNetwork::setLogDestinationLast(['U' => [$newUserId]]);
					}
					else
					{
						unset($data[$code][$i]); // bad structure
					}
				}
			}
		}
		else
		{
			$user =& $data[$code];

			if((string) $user['EMAIL'] != '' && check_email($user['EMAIL']))
			{
				$user['ID'] = static::inviteUser($user, $errors);
				IntegrationSocialNetwork::setLogDestinationLast(['U' => [$user['ID']]]);
			}
			elseif ($newUserId = static::addNetworkUser($user, $errors))
			{
				$user['ID'] = $newUserId;
				IntegrationSocialNetwork::setLogDestinationLast(['U' => [$newUserId]]);
			}
			else
			{
				$user = array(); // bad structure
			}
		}
	}
}