- Модуль: intranet
- Путь к файлу: ~/bitrix/modules/intranet/classes/general/utils.php
- Класс: CIntranetUtils
- Вызов: CIntranetUtils::_GetEmployeesForSorting
static function _GetEmployeesForSorting($section_id, &$amount, &$start, &$arUserIDs, $arAccessUsers)
{
if (self::$SECTIONS_SETTINGS_CACHE['DATA'][$section_id])
{
if (self::$SECTIONS_SETTINGS_CACHE['DATA'][$section_id]['UF_HEAD'])
{
if (!$arAccessUsers || in_array(self::$SECTIONS_SETTINGS_CACHE['DATA'][$section_id]['UF_HEAD'], $arAccessUsers))
{
if ($start > 0)
{
$start--;
}
else if ($amount > 0)
{
$arUserIDs[$section_id][] = self::$SECTIONS_SETTINGS_CACHE['DATA'][$section_id]['UF_HEAD'];
$amount--;
}
else
{
return false;
}
}
}
if (self::$SECTIONS_SETTINGS_CACHE['DATA'][$section_id]['EMPLOYEES'])
{
foreach (self::$SECTIONS_SETTINGS_CACHE['DATA'][$section_id]['EMPLOYEES'] as $ID)
{
if ($ID == self::$SECTIONS_SETTINGS_CACHE['DATA'][$section_id]['UF_HEAD'])
continue;
if ($arAccessUsers && !in_array($ID, $arAccessUsers))
continue;
if ($start > 0)
{
$start--;
}
else if ($amount > 0)
{
$arUserIDs[$section_id][] = $ID;
$amount--;
}
else
{
return false;
}
}
}
}
if (self::$SECTIONS_SETTINGS_CACHE['TREE'][$section_id])
{
foreach (self::$SECTIONS_SETTINGS_CACHE['TREE'][$section_id] as $dpt)
{
if (!self::_GetEmployeesForSorting($dpt, $amount, $start, $arUserIDs, $arAccessUsers))
return false;
}
}
return true;
}