- Модуль: calendar
- Путь к файлу: ~/bitrix/modules/calendar/classes/general/calendar_user_settings.php
- Класс: CCalendarUserSettings
- Вызов: CCalendarUserSettings::getTrackingUsers
static function getTrackingUsers($userId = false, $params = array())
{
if (!$userId)
$userId = CCalendar::GetUserId();
$res = array();
$str = CUserOptions::GetOption("calendar", "superpose_tracking_users", false, $userId);
if ($str !== false && CheckSerializedData($str))
{
$ids = unserialize($str, ['allowed_classes' => false]);
if (is_array($ids) && count($ids) > 0)
{
foreach($ids as $id)
{
if (intval($id) > 0)
{
$res[] = intval($id);
}
}
}
}
if ($params && isset($params['userList']))
{
$params['userList'] = array_unique($params['userList']);
$diff = array_diff($params['userList'], $res);
if (count($diff) > 0)
{
$res = array_merge($res, $diff);
self::setTrackingUsers($userId, $res);
}
}
$res = BitrixMainUserTable::getList(
array(
'filter' => array('ID' => $res),
'select' => array('ID', 'LOGIN', 'NAME', 'LAST_NAME', 'SECOND_NAME')
)
);
$trackedUsers = array();
while ($user = $res->fetch())
{
$user['FORMATTED_NAME'] = CCalendar::GetUserName($user);
$trackedUsers[] = $user;
}
return $trackedUsers;
}