]> BookStack Code Mirror - bookstack/blob - app/Http/Controllers/UserProfileController.php
e75aced126ffbffbd0a76c2363ec9d5d102d6a9e
[bookstack] / app / Http / Controllers / UserProfileController.php
1 <?php
2
3 namespace BookStack\Http\Controllers;
4
5 use BookStack\Actions\ActivityQueries;
6 use BookStack\Auth\Queries\UserContentCounts;
7 use BookStack\Auth\Queries\UserRecentlyCreatedContent;
8 use BookStack\Auth\UserRepo;
9
10 class UserProfileController extends Controller
11 {
12     /**
13      * Show the user profile page.
14      */
15     public function show(UserRepo $repo, ActivityQueries $activities, string $slug)
16     {
17         $user = $repo->getBySlug($slug);
18
19         $userActivity = $activities->userActivity($user);
20         $recentlyCreated = (new UserRecentlyCreatedContent())->run($user, 5);
21         $assetCounts = (new UserContentCounts())->run($user);
22
23         $this->setPageTitle($user->name);
24
25         return view('users.profile', [
26             'user'            => $user,
27             'activity'        => $userActivity,
28             'recentlyCreated' => $recentlyCreated,
29             'assetCounts'     => $assetCounts,
30         ]);
31     }
32 }