• Модуль: webdav
  • Путь к файлу: ~/bitrix/modules/webdav/lib/invitedispatcher.php
  • Класс: BitrixWebdavInviteDispatcher
  • Вызов: InviteDispatcher::getListUsers
private function getListUsers(array $filter)
{
	$limit  = !isset($this->params['limit'])? self::USERS_ON_PAGE : (int)$this->params['limit'];
	$page   = empty($this->params['page']) ?  1 : (int)$this->params['page'];
	$offset = ($page-1)*$limit;

	$query = BitrixWebdavFolderInviteTable::getList(array(
		'select' => array('*', 'INVITE_USER'),
		'filter' => $filter,
		'limit' => $limit,
		'offset' => $offset,
		'order' => array('ID' => 'ASC'),
	));

	$users = array();
	while($row = $query->fetch())
	{
		$row = $this->reformatInviteRow($row);
		$users[] = $row;
	}

	$countQuery = new Query(BitrixWebdavFolderInviteTable::getEntity());
	$countQuery->addSelect(new ExpressionField('CNT', 'COUNT(1)'));
	$countQuery->setFilter($filter);
	$totalCount = $countQuery->setLimit(null)->setOffset(null)->exec()->fetch();
	$totalCount = $totalCount['CNT'];

	return array(
		'USERS' => $users,
		'COUNT' => count($users),
		'PAGE' => $page,
		'ON_PAGE' => self::USERS_ON_PAGE,
		'TOTAL_COUNT' => intval($totalCount),
		'TOTAL_PAGE' => ceil($totalCount/$limit),
	);
}