route('page', 0); $query = $request->get('query', ''); $users = User::all($page, $query); return view('page/users', [ 'query' => $query, 'users' => $users->getRecords(), 'paginator' => $users->getPaginator($request) ]); } public function one(Request $request) { $userId = $request->route('user', null); $user = User::one($userId); return view('page/user', [ 'user' => $user->getRecord() ]); } public function posts(Request $request) { $userId = $request->route('user', null); $page = $request->route('page', 1); $user = User::one($userId); $posts = UserPost::all($userId, $page); return view('page/user-posts', [ 'user' => $user->getRecord(), 'posts' => $posts->getRecords(), 'paginator' => $posts->getPaginator($request) ]); } public function threads(Request $request) { $userId = $request->route('user', null); $page = $request->route('page', 1); $user = User::one($userId); $threads = UserThread::all($userId, $page); // nasty bodge to cover up api inconsistency $userRecord = $user->getRecord(); $threadRecords = array_map(function($thread) use($userRecord) { $thread->user = $userRecord; return $thread; }, $threads->getRecords()); return view('page/user-threads', [ 'user' => $userRecord, 'threads' => $threadRecords, 'paginator' => $threads->getPaginator($request) ]); } public function bans(Request $request) { $userId = $request->route('user', null); $user = User::one($userId); $bans = UserBan::all($userId); return view('page/user-bans', [ 'user' => $user->getRecord(), 'bans' => $bans->getRecords() ]); } }