- Модуль: dav
- Путь к файлу: ~/bitrix/modules/dav/classes/general/exchangecalendar2.php
- Класс: CDavExchangeCalendar
- Вызов: CDavExchangeCalendar::DoAddCalendar
static function DoAddCalendar($userId, $arFields)
{
if (DAV_EXCH_DEBUG)
{
CDav::WriteToLog("EXCHANGE DoAddCalendar called for user ".$userId, "MDFE");
}
$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 CDavExchangeCalendar(
$exchangeScheme,
$exchangeServer,
$exchangePort,
$exchangeUsername,
$exchangePassword
);
if (GW_DEBUG)
{
$exchange->Debug();
}
$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("UF_BXDAVEX_MAILBOX", "UF_BXDAVEX_CALSYNC"),
"FIELDS" => array('ID', 'LOGIN'))
);
if ($arUser = $dbUserList->Fetch())
{
$mailbox = (($exchangeUseLogin === "Y")
? $arUser["LOGIN"].$exchangeMailbox
: $arUser["UF_BXDAVEX_MAILBOX"])
;
if (!empty($mailbox))
{
$arFields["MAILBOX"] = $mailbox;
$arResult = $exchange->AddCalendar($arFields);
if (is_array($arResult) && !empty($arResult))
{
return $arResult[0];
}
}
}
return $exchange->GetErrors();
}