|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- <?php
-
- namespace App\Http\Controllers;
-
- use Illuminate\Http\Request;
- use App\Knockout\User;
- use App\Knockout\UserPost;
- use App\Knockout\UserThread;
- use App\Knockout\UserBan;
-
- class UserController extends Controller {
-
- public function all(Request $request)
- {
- $page = $request->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()
- ]);
- }
-
- }
|