- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/classes/general/calendar.php
- Класс: CCalendar
- Вызов: CCalendar::AddConnection
static function AddConnection($connection, $type = 'caldav')
{
if((!self::CheckCalDavUrl($connection['link'], $connection['user_name'], $connection['pass'])))
{
return Loc::getMessage('EC_CAL_OPERATION_CANNOT_BE_PERFORMED');
}
$arFields = [
'ENTITY_TYPE' => 'user',
'ENTITY_ID' => $connection['user_id'],
'ACCOUNT_TYPE' => BitrixCalendarSyncCaldavHelper::CALDAV_TYPE,
'NAME' => $connection['name'],
'SERVER' => $connection['link'],
'SERVER_USERNAME' => $connection['user_name'],
'SERVER_PASSWORD' => $connection['pass'],
];
CDavConnection::ParseFields($arFields);
$davConnection = CDavConnection::getList(
['ID' => 'ASC'],
[
'SERVER_HOST' => $arFields['SERVER_HOST'],
'SERVER_PATH' => $arFields['SERVER_PATH'],
'ENTITY_ID' => $arFields['ENTITY_ID'],
],
false,
['nTopCount' => 1]
);
if ($con = $davConnection->fetch())
{
return Loc::getMessage('EC_CAL_SERVER_ALREADY_CONNECTED');
}
CDavConnection::Add($arFields);
return true;
}