- Модуль: dav
- Путь к файлу: ~/bitrix/modules/dav/classes/general/exchangetasks.php
- Класс: CDavExchangeTasks
- Вызов: CDavExchangeTasks::DoAddItem
static function DoAddItem($userId, $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))
{
$arFields["MAILBOX"] = $mailbox;
if (isset($arFields["FOLDER_ID"]))
{
$arFoldersList = $exchange->GetFoldersList(array("mailbox" => $mailbox));
$arUserFolders = array(GetMessage("DAV_EC_TASKS") => "tasks");
foreach ($arFoldersList as $value)
{
$arUserFolders[$value["NAME"]] = $value["XML_ID"];
}
if (array_key_exists($arFields["FOLDER_ID"], $arUserFolders))
{
$arFields["FOLDER_ID"] = $arUserFolders[$arFields["FOLDER_ID"]];
}
else
{
$arFields["FOLDER_ID"] = "tasks";
}
}
else
{
$arFields["FOLDER_ID"] = "tasks";
}
$arResult = $exchange->Add($arFields);
if (is_array($arResult) && !empty($arResult))
{
return $arResult[0];
}
}
}
return $exchange->GetErrors();
}