$getMembers = false;
if($arResult['CURRENT_ACCESS']['canViewGroup']) {
$getMembers = CPTK_SocialNetwork::IsAllowedFeature
(SONET_ENTITY_USER, 'blog');
}
// Определим ID участников группы
if($getMembers) {
$arOrderGM = array();
$arFilterGM = array(
'<=ROLE' => SONET_ROLES_USER,
'GROUP_ID' => $arResult['ENTITY_ID'],
);
$arGroupByGM = false;
$arNavigationGM = false;
$arSelectFieldsGM = array(
'USER_ID'
);
$rsItems = CSocNetUserToGroup::GetList($arOrderGM,
$arFilterGM, $arGroupByGM, $arNavigationGM,
$arSelectFieldsGM);
while($arItem = $rsItems->Fetch()) {
$id_ = intval($arItem['USER_ID']);
$arEntityUsersID[$id_] = $id_;
}
unset($rsItems, $id_, $arOrderGM, $arGroupByGM,
$arNavigationGM, $arSelectFieldsGM);
// код исключения "закрытых" пользователей вынесен в конец
// модуля (он общий для двух типов лент)
}
// Добавим ID группы в $arEntityGroupsID, если включен вывод
// сообщений из блога группы
if($arParams['INC_SELF_MESSAGES'] &&
$arResult['CURRENT_ACCESS']['canViewGroup'] &&
$arResult['CURRENT_ACCESS']['canViewGroupSelfMessages']) {
//если блоги в группе не отключены
if(CSocNetFeatures::IsActiveFeature(SONET_ENTITY_GROUP,
$arResult['ENTITY_ID'], 'blog')) {
$arEntityGroupsID[$arResult['ENTITY_ID']] = array(
'ID' => $arResult['ENTITY_ID'],
'NAME' => $arResult['GROUP_INFO']['NAME']
);
}
}
Чуть выше мы отметили, что код исключения «закрытых» пользователей вынесен в конец компонента. Теперь пришло время определить пользователей, которые запретили просмотр блогов. Уберем их из списка (раз уж они сами этого хотят; листинг 7).
Георгий Фёдорович Коваленко , Коллектив авторов , Мария Терентьевна Майстровская , Протоиерей Николай Чернокрак , Сергей Николаевич Федунов , Татьяна Леонидовна Астраханцева , Юрий Ростиславович Савельев
Биографии и Мемуары / Прочее / Изобразительное искусство, фотография / Документальное