public function allUsersAction() { $fc = FrontController::getInstance(); $model = new AdminModel('Все пользователи', 'управление пользователями'); $userModel = new UserTableModel(); $page = $fc->getParams()['page'] ? filter_var($fc->getParams()['page'], FILTER_SANITIZE_NUMBER_INT) : 1; $limit = $fc->getParams()['limit'] ? filter_var($fc->getParams()['limit'], FILTER_SANITIZE_NUMBER_INT) : 10; $orderBy = $fc->getParams()['orderBy'] ? filter_var($fc->getParams()['orderBy'], FILTER_SANITIZE_STRING) : 'id'; $direction = $fc->getParams()['direction'] ? filter_var($fc->getParams()['direction'], FILTER_SANITIZE_STRING) : 'asc'; $offset = $limit * $page - $limit; $model->setData(['users' => $userModel->getAllUsers('user.id, user.username, user.full_name, user.photo, user.email, user.validated, user.create_time, user.update_time, address.address, address.postal_code, phone.number, phone.number_type', "WHERE deleted != 1 GROUP BY user.id ORDER BY user.{$orderBy} " . strtoupper($direction) . " LIMIT {$limit} OFFSET {$offset}"), 'limit' => $limit, 'orderBy' => $orderBy, 'direction' => $direction, 'page' => $page, 'num' => (new AdminWidgets())->getNum('user'), 'offset' => $offset]); $output = $model->render('../views/admin/user/allUsers.php', 'admin'); $fc->setPage($output); }