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 = \Bitrix\Webdav\FolderInviteTable::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(\Bitrix\Webdav\FolderInviteTable::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)); }