- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/lib/controller/usertogroup.php
- Класс: BitrixSocialnetworkControllerUserToGroup
- Вызов: UserToGroup::listAction
public function listAction(
PageNavigation $pageNavigation,
$filter = [],
$select = [],
$groupBy = false,
$order = ['ID' => 'DESC'],
$params = []
)
{
$relations = [];
$query = UserToGroupTable::query();
$query
->setSelect($this->prepareQuerySelect($select))
->setOrder($order)
->setOffset($pageNavigation->getOffset())
->setLimit(($pageNavigation->getLimit()))
->countTotal(true)
;
$query = $this->processFilter($query, $filter);
$res = $query->exec();
while ($relation = $res->fetch())
{
$relation['FORMATTED_USER_NAME'] = CUser::FormatName(
CSite::getNameFormat(),
[
'NAME' => $relation['USER_NAME'],
'LAST_NAME' => $relation['USER_LAST_NAME'],
'SECOND_NAME' => $relation['USER_SECOND_NAME'],
'LOGIN' => $relation['USER_LOGIN'],
],
true
);
$relations[$relation['ID']] = $relation;
}
if (!empty($relations))
{
if (in_array('USER_PERSONAL_PHOTO', $select, true))
{
$relations = $this->fillUserAvatars($relations);
}
if (in_array('ACTIONS', $select, true))
{
$relations = $this->fillActions($relations);
}
}
$relations = $this->convertKeysToCamelCase($relations);
return new EngineResponseDataTypePage('relations', array_values($relations), $res->getCount());
}