- Модуль: intranet
- Путь к файлу: ~/bitrix/modules/intranet/classes/general/event_calendar.php
- Класс: CECEvent
- Вызов: CECEvent::GetGuests
static function GetGuests($iblockId, $id, $arParams = array())
{
$arResult = array();
$bOnlyOwner = false;
if ($arParams && $arParams['bCheckOwner'] && ($arParams['ownerType'] == 'USER' || !$arParams['bHostIsAbsent']))
{
$rsHost = CIBlockElement::GetList(array(), array("=ID" => $id,), false, false, array("CREATED_BY"));
if($arHost = $rsHost->Fetch())
{
$rsHostUser = CUser::GetByID($arHost["CREATED_BY"]);
if($arHostUser = $rsHostUser->Fetch())
{
$arHostUser["FULL_NAME"] = CEventCalendar::GetFullUserName($arHostUser);
$arResult[$arHost["CREATED_BY"]] = array(
'CREATED_BY' => $arHostUser,
'PROPERTY_VALUES' => array('CONFIRMED' => 'Y'),
'IS_HOST' => true
);
$bOnlyOwner = true;
}
}
}
if($ar = CEventCalendar::GetLinkIBlock($iblockId))
{
$rsGuests = CIBlockElement::GetList(array(), array(
"IBLOCK_ID" => $iblockId,
"PROPERTY_".$ar["ID"] => $id,
), false, false, array(
"ID",
"IBLOCK_ID",
"CREATED_BY",
"NAME",
"ACTIVE_FROM",
"ACTIVE_TO",
"DETAIL_TEXT",
"DETAIL_TEXT_TYPE",
"IBLOCK_SECTION_ID"
));
while($arGuest = $rsGuests->Fetch())
{
$guest_id = intval($arGuest["CREATED_BY"]);
if($guest_id > 0)
{
$rsUser = CUser::GetList('', '', array(
"ID_EQUAL_EXACT" => $guest_id
));
$arUser = $rsUser->Fetch();
if($arUser)
{
$arUser["FULL_NAME"] = CEventCalendar::GetFullUserName($arUser);
$arGuest["CREATED_BY"] = $arUser;
$arGuest["PROPERTY_VALUES"] = array();
$rsProp = CIBlockElement::GetProperty($iblockId, $arGuest["ID"], array("EMPTY"=>"N"));
while($arProp = $rsProp->Fetch())
{
if($arProp["CODE"] <> '')
$prop_id = $arProp["CODE"];
else
$prop_id = $arProp["ID"];
if($arProp["PROPERTY_TYPE"] == "L")
$value = $arProp["VALUE_XML_ID"];
else
$value = $arProp["VALUE"];
if($arProp["MULTIPLE"] == "Y")
$arGuest["PROPERTY_VALUES"][$prop_id][$arProp["PROPERTY_VALUE_ID"]] = $value;
else
$arGuest["PROPERTY_VALUES"][$prop_id] = $value;
}
$arResult[$guest_id] = $arGuest;
$bOnlyOwner = false;
}
}
}
}
return $bOnlyOwner && $arParams['DontReturnOnlyOwner'] ? array() : $arResult;
}