• Модуль: dav
  • Путь к файлу: ~/bitrix/modules/dav/classes/general/exchangetasks.php
  • Класс: CDavExchangeTasks
  • Вызов: CDavExchangeTasks::DoUpdateItem
static function DoUpdateItem($userId, $itemXmlId, $itemModificationLabel, $arFields)
{
	$exchangeScheme = COption::GetOptionString("dav", "exchange_scheme", "http");
	$exchangeServer = COption::GetOptionString("dav", "exchange_server", "");
	$exchangePort = COption::GetOptionString("dav", "exchange_port", "80");
	$exchangeUsername = COption::GetOptionString("dav", "exchange_username", "");
	$exchangePassword = COption::GetOptionString("dav", "exchange_password", "");

	if (empty($exchangeServer))
	{
		return "";
	}

	$exchange = new CDavExchangeTasks($exchangeScheme, $exchangeServer, $exchangePort, $exchangeUsername, $exchangePassword);

	$exchangeMailbox = COption::GetOptionString("dav", "exchange_mailbox", "");
	$exchangeUseLogin = COption::GetOptionString("dav", "exchange_use_login", "Y");

	self::InitUserEntity();

	$userId = (int)$userId;
	$dbUserList = CUser::GetList(
		"",
		"",
		array("ACTIVE" => "Y", "!UF_DEPARTMENT" => false, "ID_EQUAL_EXACT" => $userId),
		array("SELECT" => array("ID", "LOGIN", "UF_BXDAVEX_MAILBOX"))
	);
	if ($arUser = $dbUserList->Fetch())
	{
		$mailbox = (($exchangeUseLogin === "Y") ? $arUser["LOGIN"].$exchangeMailbox : $arUser["UF_BXDAVEX_MAILBOX"]);
		if (!empty($mailbox))
		{
			$arResult = $exchange->Update(
				array("XML_ID" => $itemXmlId, "MODIFICATION_LABEL" => $itemModificationLabel),
				$arFields
			);

			if (is_array($arResult) && !empty($arResult))
			{
				return $arResult[0];
			}
		}
	}

	return $exchange->GetErrors();
}