} if ($arParams['bCache']) { $obCache->StartDataCache(); global $CACHE_MANAGER; $CACHE_MANAGER->StartTagCache($cache_dir); } if (is_array($arResult['USERS'])) { foreach ($arResult['USERS'] as $key => $arUser) { if ($arResult['bUsersCached']) { $strUserIDs .= ($strUserIDs ? '|' : '') . $arUser['ID']; } if (!is_array($arCacheData[$arUser['ID']])) { $arCacheData[$arUser['ID']] = array(); } if (!$arResult['bUsersCached']) { $arUser['IS_ONLINE'] = CIntranetUtils::IsOnline($arUser['LAST_ACTIVITY_DATE']); } $arUser['IS_BIRTHDAY'] = CIntranetUtils::IsToday($arUser['PERSONAL_BIRTHDAY']); $arUser['IS_FEATURED'] = true; if ($arUser['PERSONAL_PHOTO']) { $arImage = CIntranetUtils::InitImage($arUser['PERSONAL_PHOTO'], 100); $arUser['PERSONAL_PHOTO'] = $arImage['IMG']; } if ($bLoadDepartments && is_array($arUser['UF_DEPARTMENT']) && count($arUser['UF_DEPARTMENT']) > 0) { if (array_key_exists('UF_DEPARTMENT', $arCacheData[$arUser['ID']])) { $arUser['UF_DEPARTMENT'] = $arCacheData[$arUser['ID']]['UF_DEPARTMENT']; } else { $arUser['UF_DEPARTMENT'] = $arCacheData[$arUser['ID']]['UF_DEPARTMENT'] = CIntranetUtils::GetDepartmentsData($arUser['UF_DEPARTMENT']); } } $arResult['USERS'][$key] = $arUser;
if ($arResult['bUsersCached']) { $strUserIDs = ''; } if ($arParams['bCache']) { $obCache->StartDataCache(); global $CACHE_MANAGER; $CACHE_MANAGER->StartTagCache($cache_dir); } foreach ($arResult['USERS'] as $key => $arUser) { if ($arResult['bUsersCached']) { $strUserIDs .= ($strUserIDs ? '|' : '') . $arUser['ID']; } if (!is_array($arCacheData[$arUser['ID']])) { $arCacheData[$arUser['ID']] = array(); } $arUser['IS_ONLINE'] = $arResult['bUsersCached'] ? false : CIntranetUtils::IsOnline($arUser['LAST_ACTIVITY_DATE']); $arUser['IS_BIRTHDAY'] = CIntranetUtils::IsToday($arUser['PERSONAL_BIRTHDAY']); if (array_key_exists('IS_ABSENT', $arCacheData[$arUser['ID']])) { $arUser['IS_ABSENT'] = $arCacheData[$arUser['ID']]['IS_ABSENT']; } else { $arUser['IS_ABSENT'] = $arCacheData[$arUser['ID']]['IS_ABSENT'] = CIntranetUtils::IsUserAbsent($arUser['ID']); } if (array_key_exists('IS_FEATURED', $arCacheData[$arUser['ID']])) { $arUser['IS_FEATURED'] = $arCacheData[$arUser['ID']]['IS_FEATURED']; } else { $arUser['IS_FEATURED'] = $arCacheData[$arUser['ID']]['IS_FEATURED'] = CIntranetUtils::IsUserHonoured($arUser['ID']); } if ($arUser['PERSONAL_PHOTO']) { $arImage = CIntranetUtils::InitImage($arUser['PERSONAL_PHOTO'], 100); $arUser['PERSONAL_PHOTO'] = $arImage['IMG']; //$arUser['PERSONAL_PHOTO'] = CFile::ShowImage($arUser['PERSONAL_PHOTO'], 100, 100);
} if (count($arResult['USERS']) > 0) { foreach ($arResult['USERS'] as $USER_ID => $arUser) { $arResult['USERS'][$USER_ID]['IS_ABSENT'] = CIntranetUtils::IsUserAbsent($USER_ID); } } if ($bDataFromCache) { $dbRes = CUser::GetList($by = 'id', $order = 'asc', array('ID' => implode('|', array_keys($arResult['USERS'])), '!UF_DEPARTMENT' => false, 'LAST_ACTIVITY' => 120)); while ($arRes = $dbRes->Fetch()) { $arResult['USERS'][$arRes['ID']]['IS_ONLINE'] = true; } unset($dbRes); } foreach ($arResult['USERS'] as $key => $arUser) { if (!$bDataFromCache) { $arResult['USERS']['IS_ONLINE'] = CIntranetUtils::IsOnline($arUser['LAST_ACTIVITY_DATE']); } $arUser['DETAIL_URL'] = str_replace(array('#ID#', '#USER_ID#'), $arUser['ID'], $arParams['DETAIL_URL']); $arUser['IS_BIRTHDAY'] = CIntranetUtils::IsToday($arUser['PERSONAL_BIRTHDAY']); // this component is an exception for this hack - such garbage isnt't so useless here //$arUser['ACTIVE'] = 'Y'; // simple hack to help not to catch useless garbage to a component cache if (!$arUser['PERSONAL_PHOTO']) { switch ($arUser['PERSONAL_GENDER']) { case "M": $suffix = "male"; break; case "F": $suffix = "female"; break; default: $suffix = "unknown";