• Модуль: 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());
}