- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/classes/general/calendar.php
- Класс: CCalendar
- Вызов: CCalendar::GetCrmSection
static function GetCrmSection($userId, $autoCreate = false)
{
if (isset(self::$crmSections[$userId]))
{
return self::$crmSections[$userId];
}
$result = false;
if ($userId > 0)
{
$set = UserSettings::get($userId);
$result = $set['crmSection'];
$section = false;
if ($result)
{
$section = CCalendarSect::GetList([
'arFilter' => [
'ID' => $result,
'CAL_TYPE' => 'user',
'OWNER_ID' => $userId,
],
'checkPermissions' => false,
'getPermissions' => false,
]);
if($section && is_array($section) && is_array($section[0]))
{
$section = $section[0];
}
}
if($result && !$section)
{
$result = false;
}
if (!$result)
{
$res = CCalendarSect::GetList([
'arFilter' => [
'CAL_TYPE' => 'user',
'OWNER_ID' => $userId,
],
'checkPermissions' => false,
'getPermissions' => false,
]);
if (!empty($res) && $res[0]['ID'])
{
$result = $res[0]['ID'];
}
if (!$result && $autoCreate)
{
$defCalendar = CCalendarSect::CreateDefault(array(
'type' => 'user',
'ownerId' => $userId,
));
if ($defCalendar && $defCalendar['ID'] > 0)
{
$result = $defCalendar['ID'];
}
}
if($result)
{
$set['crmSection'] = $result;
UserSettings::set($set, $userId);
}
}
}
self::$crmSections[$userId] = $result;
return $result;
}